Процентное значение сегмента по отношению к общему количеству сегмента Power BI (DAX) - PullRequest
2 голосов
/ 29 мая 2020

enter image description here

Привет, ребята, я новичок в Power BI (формулы DAX), и я пытаюсь рассчитать процентный вклад суммы категории «count» where "= X и" item_no "= 1 к общему количеству" count "по всем категориям, где 'item_no' = 1. Идеальным математическим утверждением здесь будет (30/50) * 100%, которые я собираюсь представить в виде процентных значений в диаграмма, показывающая процентный вклад каждого отдельного item_no в общую сумму в формате, представленном в примере выше.

1 Ответ

0 голосов
/ 29 мая 2020

Стандартный способ приблизиться к этому -

calculation over partial set / same calculation over larger set

Поскольку вы не ясно дали понять, в каком контексте вы пытаетесь вычислить это, я предполагаю, что это визуальный элемент в следующих строках:

Matrix Visual

Используемая мера

%ItemTotal =
DIVIDE (
    SUM ( Table1[count] ),
    CALCULATE ( SUM ( Table1[count] ), ALLEXCEPT( Table1, Table1[item_no] ) )
)

В числителе у вас есть сумма в контексте локального фильтра . Например, в этой верхней левой ячейке это означает, что все строки соответствуют item_no = 1 и category = "X".

В знаменателе мы делаем то же самое, за исключением того, что удаляем все фильтр context за исключением контекста, который мы говорим сохранить (item_no), чтобы он включал все category значения.


Если вы пытаетесь вычислить эти 60% за пределами контекст визуального элемента, то вы можете явно определить, какие фильтры вам нужны. Например, это должно работать в любом контексте фильтра:

X%_Item1 =
DIVIDE (
    CALCULATE (
        SUM ( Table1[count] ),
        ALL ( Table1 ),
        Table1[category] = "X",
        Table1[item_no] = 1
    ),
    CALCULATE (
        SUM ( Table1[count] ),
        ALL ( Table1 ),
        Table1[item_no] = 1
    )
)

См. здесь и здесь , чтобы узнать о других способах изменения контекста фильтра вместо ALLEXCEPT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...