День добрый коллеги. Столкнулся с такой задачей, нужно в DAX сделать активную меру/вычисляемый столбец по долям, он по факту должен соответствовать 3 фильтрам: 1) Относительно сети продаж 2) Относительно года 3) Относительно месяца
Когда делаю фильтр по одному конкретному месяцу, то как все проясняется: =DIVIDE('table'[Sale Kg];SUMX(FILTER('table';'table'[Month]="Февраль");'table'[Sale Kg])) НО когда туда добавляю к примеру "Сетка 1", проценты начинают считаться очень удивительно.
Прочитал и посмотрел много видео, думал спасут функции - EARLIER или ALLSELECTED, т.к. мол думал получить с помощью их сделать авто подстановку, как пример: =DIVIDE('table'[Sale Kg];SUMX(FILTER('table';'table'[Chain Name]='table';'table'[Chain Name] || 'table'[Month]= 'table'[Month] || 'table'[Year]='table'[Year]);'table'[Sale Kg])) Хотелось бы, что бы он понимал, что я сравниваю, январь с январем, 2019 с 2019, Сетку 1 с Сетку 1 и суммировал Sale Kg в диапазоне этих фильтров, потом делил на Sale Kg построчно которые относятся к заданным фильтрам.
Если кто может помочь советом, как это можно сделать или куда стоит обратить внимание?
Такую долю можно получить и встроенными инструментами сводной таблицы. Разместите поле "Sale kg" в область значений (сделайте тип "числовой формат" - в примере стоят "проценты"). Далее правой кнопкой мыши в любом месте области значений/дополнительные вычисления/ % от родительской суммы/ базовое поле: Chaine name.
Спасибо, пример хороший (не думал, что можно вставить ALLEXCEPT), Но считает он не так как к сожалению надо (рядом пример, как по идеи хотелось, что бы считал).
Сейчас задумался, а реально ли на уровне самого DAX (не при выводе в сводную), что бы делался расчет по долям? Поясню, что бы DAX понимал, сумму по сетке, году и месяцу и делил на соответствующую строку относящуюся к этим параметрам. Это вообще возможно?
Ничего не менял, все на Вашем примере: цифры согласно Вашему результату. Если нужен какой-то другой расчет - приложите новый пример с тем, как надо. П.С. Вы, наверное, путаете понятия меры и вычисляемого столбца?
Vladimir Chebykin написал: Вы, наверное, путаете понятия меры и вычисляемого столбца
Тоже Вы правы! Пока ещё совсем зелен в этом, практикуюсь =)
Vladimir Chebykin, подскажите, а реально такой расчет сделать через вычисляемый столбец? Я так понимаю, там должно непосредственное сравнение идти, как: 'table'[Chain Name]='table'[Chain Name] 'table'[Year]='table'[Year] 'table'[Month]='table'[Month] Если функции сопоставления или через какой то другой инструмент можно сделать?
Цитата
Vladimir Chebykin написал: Код ? 12345=DIVIDE( SUM([Sale Kg]); CALCULATE(SUM('table'[Sale Kg]); ALLEXCEPT('table';'table'[Chain Name];'table'[Year];'table'[Month])); BLANK())
mr.Gaudi написал: реально такой расчет сделать через вычисляемый столбец?
Реально, но зачем? В DAX вся аналитика делается через меры - механизм заточен так, а вычисляемый столбец используется в бол-ве случаев - когда в таблицу необходимо подтянуть данные в том или ином виде из других таблиц. Т.е., если цифры нужны для анализа - пишите меры, а не вычисляемые столбцы (через реку проложен мост - это меры, начать переплывать реку при наличии моста - это вычисляемые столбцы). П.С. вычисляемые столбцы используют такую конструкцию, когда нужно сопоставлять поля друг с другом: вместо
Vladimir Chebykin, вообщем вся суть данной работы была в том, что бы через DAX посчитать доли по каждой сети. После этого на эти доли размазывался бы план и факт данного года и высчитывалось соотношение факта к плану. Тем самым можно найти эффективность каждой точки! Пытался все это сделать через DAX, но знаете как это бывает, некоторые вещи нужно оставить в тех программах для чего они предназначены, а не создавать велосипед. Сделал основную работу через access и только соотношение факта к плану через DAX. Сейчас думаю, как бы это все развернуть в Power BI.
Спасибо Вам за очень хороший пример и науку, буду дальше изучать, это чертовки интересно))))
Да можно все это мерами реализовать. Те полученные доли в сводной таблице можно рассчитать в виртуальной таблице (виртуальной памяти). Затем, ссылаясь на нее, можно и план расскидать без проблем. Я так делал, причем план автоматически насчитывается на любой уровень вложенности (иерархии). Можете создать новую тему. - думаю, быстро вариантов накидают. П.С. я пока пас - на больничном и без компа