Отметить, если значение встречается более одного раза в месяц - группировать по оператору if в DAX PowerBI - PullRequest
1 голос
/ 16 мая 2019

У меня есть следующие данные в качестве примера.

 YYYY_MM    Reg    Test
 2019_01    ABC     1
 2019_01    ABC     0
 2019_01    DFG     0
 2019_02    ABC     0
 2019_02    ABC     0
 2019_02    DFG     0
 2019_02    DFG     1
 2019_02    DFG     1
 2019_02    DFG     0
 2019_02    HIJ     0

Я хочу отметить и Reg в каждом уникальном YYYY_MM, где test = 1 один или несколько раз за месяц.Следовательно, окончательный набор данных будет выглядеть следующим образом.

 YYYY_MM    Reg    Test    Flag
 2019_01    ABC     1       1
 2019_01    ABC     0       1
 2019_01    DFG     0       0
 2019_02    ABC     0       0
 2019_02    ABC     0       0
 2019_02    DFG     0       1
 2019_02    DFG     1       1 
 2019_02    DFG     1       1
 2019_02    DFG     0       1
 2019_02    HIJ     0       0

Я думал об использовании функции GROUPBY или SUMMARIZE, но не совсем уверен, как их использовать для того, что мне нужно.Хотя я рад идти совершенно в другом направлении.

1 Ответ

1 голос
/ 16 мая 2019

Я буду считать, что вам нужен этот флаг как вычисляемый столбец, и что ваша таблица называется «Данные».

Создать столбец:

Flag =
VAR Total_Test =
    CALCULATE ( SUM ( Data[Test] ), ALLEXCEPT ( Data, Data[YYYY_MM], Data[Reg] ) )
RETURN
    IF ( Total_Test > 0, 1, 0 )

Результат:

enter image description here

Как это работает: Мы используем ALLEXCEPT для группировки данных. Мы суммируем все значения для проверки столбцов, но сохраняем фильтры для столбцов гггг-мм и результат Reg.Store в переменной, а затем выполняем логический тест.

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