Как создать показатель, который выполняет условия, а также групповой и счет этой группы по результату (DAX / PowerBI) - PullRequest
0 голосов
/ 15 января 2019

Я недавно начал использовать PowerBI и изучать DAX. Я хочу преобразовать условный псевдокод в DAX, что приведет к появлению столбца с именем «Процент». Таким образом, моя таблица состоит из столбцов Company (Dole, Dyson, Monsanto и т. Д.), Названия фруктов (яблоки, бананы, груши, помидоры, огурцы и т. Д.) И группы продуктов питания (овощи, мясо и т. Д.). )

Company | Fruit Name | Food Group    
----------------------------------
Dole    | Apple      |  Fruit 
Dyson   | Chicken    |  Meat
Dole    | Pear       | Fruit
Dole    | Tomato     | Vegetable

Вот псевдокод для условного:

if(FruitName = 'Apple')   //for the rows that have 'Apples'
     then( 1/count( Food Group for Company) )   //percentage of apples within 
                             //Fruits distributed by Company: probably a groupby

else (1/count(Food Group for Company) )           //percentage of value within 'Food Group' by Company

Результат будет выводиться в рамках меры, это столбец для процентов.

Company      | Fruit Name | Food Group | Percentage
-----------------------------------------------------
Dole         | Apple      | Fruit      |  33.33%
Dyson        | Chicken    | Meat       |  100%
Dole         | Pear       | Fruit      |  33.33%
Dole         | Banana     | Fruit      |  33.33%
Dole         | Tomato     | Vegetable  |  100%

Не могли бы вы показать мне способ написать это условие в DAX?

Спасибо

1 Ответ

0 голосов
/ 15 января 2019

Я не уверен, что понимаю, почему вы хотите условное выражение, поскольку ваши then и else одинаковы.

Во всяком случае, я думаю, что вы ищете что-то вроде этого:

Percentage =
DIVIDE (
    COUNT ( Foods[Fruit] ),
    CALCULATE ( COUNT ( Foods[Fruit] ), ALLEXCEPT ( Foods, Foods[Group] ) )
)

Функция ALLEXCEPT удаляет весь контекст фильтра, кроме столбца Group, поэтому вы получаете все Fruit в этом Group.

Result

...