Всех приветствую! Прошу помощи в написании формулы в DAX: Задача - узнать стоимость отправления в зависимости от веса и объема. Логика расчета - определяем стоимость по наибольшему показателю если стоимость больше по весу- выводим по весу, если по объему- выводим по объему. Как решаю сейчас в Exel: сначала узнаю стоимость по весу - ИНДЕКС(Таблица2[Тариф];ПОИСКПОЗ(Лист3!A2;Таблица2[Вес, кг];1)) потом определяю стоимость по объему - ИНДЕКС(Таблица2[Тариф];ПОИСКПОЗ(B2;Таблица2[Объём, м3];1)) Потом, соответсвено определяю максимум -МАКС(ИНДЕКС(Таблица2[Тариф];ПОИСКПОЗ(Лист3!A2;Таблица2[Вес, кг];1));ИНДЕКС(Таблица2[Тариф];ПОИСКПОЗ(B2;Таблица2[Объём, м3];1)))
Максим Зеленский, спасибо за совет, но я все таки посмотрел, что таблицы не связаны и это все таки справочник. А вот применение ALL к справочнику в формуле столбца оно принципиально?
PooHkrd написал: А вот применение ALL к справочнику в формуле столбца оно принципиально?
это просто best practice для быстродействия: 1) FILTER сама по себе тяжелая функция, и чем меньший объем данных ей передаем, тем лучше 2) в данном случае ALL или VALUES или DISTINCT или ALLNOBLANKROW - не принципиально. Главное, чтобы на вход FILTER получила минимально необходимый набор данных в виде таблицы 3) даже если эти таблицы между собой не связаны, справочник может оказаться на стороне "много" в других связях (теоретически). И если пихнуть всю таблицу в FILTER, она будет перебирать расширенную таблицу со всеми столбцами из таблиц на стороне 1. 4) пользуемся best practice в мелочах => не забываем пользоваться когда надо
PooHkrd, Максим Зеленский, Спасибо вам за решение и отдельно за переписку из которой всегда можно взять очень много полезной доп информации к решению:)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!