Уважаемые форумчане, добрый день! Выявилась потребность в расчете коэффициента вариации. Как мы все знаем, это соотношение стандартного отклонения к среднему значению. В исходных данных детализация оборота - по дням, требуемое значение вариации необходимо рассчитать с помесячной агрегацией. Написал такой код (подсмотрел у , спасибо):
| Код |
|---|
КоэффВариации = var standOtkl = IF ( NOT HASONEFILTER ( '_КалендарьAUTO'[Month] ), STDEVX.P ( ADDCOLUMNS ( SUMMARIZE ( FILTER ( 'Оборот', 'Оборот'[ОборотКолич] <> BLANK () ), '_КалендарьAUTO'[Month]), "w", CALCULATE ( SUM ( 'Оборот'[ОборотКолич] ) ) ), [w] ) ) var sredZnach = IF ( NOT HASONEFILTER ( '_КалендарьAUTO'[Month] ), AVERAGEX( ADDCOLUMNS ( SUMMARIZE ( FILTER ( 'Оборот', 'Оборот'[ОборотКолич] <> BLANK () ), '_КалендарьAUTO'[Month]), "w", CALCULATE ( SUM ( 'Оборот'[ОборотКолич] ) ) ), [w] ) ) return DIVIDE(standOtkl,sredZnach) |
Код работает, но только в случае, когда во всех месяцах есть строки с данными по обороту. Если в каком-либо месяце оборота нет (нет строк в исходнике), код не воспринимает этот месяц. А для корректности требуемой задачи должен принимать исходные данные, как нулевые по этому месяцу и производить расчет стандартного отклонения, среднего значения и коэффициента вариации с учетом всех этих нулевых месяцев. Буду благодарен, если кто-нибудь сможет подсказать решение данной задачи.
Изменено: - 01.09.2022 16:44:56