PowerBI считает все строки со значением в группе - PullRequest
0 голосов
/ 10 января 2019

Это похоже на один из вариантов использования для групп, но, возможно, я их неправильно понимаю.

У меня есть таблица, которая показывает количество всех строк, как это:

User | Completed Tasks
Bob  | 2
Jim  | 1
Pete | 1

Таблица, из которой она взята, выглядит следующим образом:

User | Type
Bob  | A
Bob  | B
Jim  | A
Pete | C

Это очень упрощенно - в действительности существует около 80 различных типов - я надеюсь получить 5 из них в группе под названием Secondary, а остальные в группе под названием Primary

Например, скажем, я хочу, чтобы A и B считались «первичными», а C - вторичными.

Новая таблица будет выглядеть так:

User | Completed Tasks | Primary | Secondary
Bob  |        2        |    2    |     0
Jim  |        1        |    1    |     0   
Pete |        1        |    0    |     1

Я пытался создать группу из Type с 5 под названием Secondary, а остальные с именем Primary, но у меня возникли проблемы с его выяснением.

Мне просто нужно количество типов для этой конкретной группы на основе отфильтрованных значений и всего.

Есть ли простой способ сделать это или мне нужно создать меру / вычисляемый столбец?

Ответы [ 2 ]

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

Другой способ подойти к этому - создать вычисляемый столбец для Group

Group = IF(table[Type] IN {"A","B"}, "Primary", "Secondary")

Затем можно использовать Group в качестве столбцов матрицы и считать столбец Type.

Matrix Visual

Обратите внимание, что этот подход лучше масштабируется, если вы хотите разбить на гораздо большее количество групп. Вы, вероятно, захотите использовать SWITCH в этом случае так:

Group = 
    SWITCH(TRUE(),
        Table1[Type] IN {"A","B"}, "Primary",
        Table1[Type] IN {"C"}, "Secondary",
        Table1[Type] IN {"D", "E", "F"}, "Tertiary",
        "Other"
    )
0 голосов
/ 10 января 2019

Я решил эту проблему, создав два вычисляемых столбца.

Dax для основного будет 1 для каждой строки, отсутствующей во вторичном списке:

PrimaryCount = IF(table[Type] in {"C","D","E","F","G"},0,1)

Dax для вторичного будет 1 для каждой строки в списке вторичного:

SecondaryCount = IF(table[Type] in {"C","D","E","F","G"},1,0)

Затем просто добавьте их в значения таблицы и убедитесь, что выбран Sum (по умолчанию).

Я полагал, что использовать группы будет проще, но я полагаю, что это достаточно просто и, кажется, работает.

...