Я ищу помощь в том, как написать конкретную меру DAX. Вот упрощенная версия моих данных и модели:DAX Измерение с разной степенью детализации
Модель:
Меры:
Total Amt:=SUM(Amounts[Amt])
Total Pos Amt:=SUMX(Amounts, IF([Amt]<0,0,[Amt]))
Total Amt All:=CALCULATE([Total Pos Amt],ALL(Ptr))
Total Amt All 2:=SUMX(Bridge,CALCULATE([Total Pos Amt],ALL(Ptr)))
Total Amt All 3:=SUMX(VALUES(Bridge[Pri]),CALCULATE([Total Pos Amt],ALL(Ptr)))
Как можно видеть в первом сводной таблицы (где [Pri] & [Ptr] являются полями строкой), выделенные клетки показывают значение с проблемой. Показатель [Total Pos Amt] суммирует столбец [Amt] в таблице «Суммы» путем итерации через него и оценки выражения, в котором отрицательные суммы обрабатываются как нулевые, а положительные суммы сохраняются. При гранулярности уровня [Pri] я хочу, чтобы такая же логика применялась (т. Е. Оценивала выражение на уровне [Ptr]). Проблема с мерой [Total Amt All] заключается в том, что в сводной таблице я получаю строку для [Ptr] Z под [Pri] A, которую я не хочу. Меры [Total Amt All 2] и [Total Amt All 3] решают эту проблему, но промежуточные итоги на уровне [Pri] ошибочны в [Total Amt All 2], а общая сумма неверна в [Total Amt All 3].
Любая помощь была бы принята с благодарностью! Как я могу написать меру, которая не отображает [Ptr], которая не связана с [Pri] на таблицу Bridge, но также правильно суммирует показатель [Total Pos Amt] на уровне [Pri]?
Некоторые полезные советы в будущем: объясните, что вы хотите с точки зрения бизнес-решения, а не кучу конкретных мер и промежуточных итогов, очень сложно следовать именно тем, что вы хотите. –
В частности, вы хотите * видеть * каждый Ptr, связанный с Pri, который имеет общую сумму, даже если это не в таблице Amounts? –
Так, например, A-GP не имеет значения в суммах, но вы хотите увидеть строку в сводной таблице, которая говорит A-GP-20? –