Подсчет подгрупп таблицы на основе отфильтрованных промежуточных итогов в Dax

#dax

Вопрос:

Кто-нибудь знает, что я делаю неправильно в своем коде DAX для визуальных элементов Power BI здесь?

Требование: У меня есть таблица заказов со строками и информацией о заголовке вместе. Мне нужно подсчитать отдельные заказы, где общее количество заказов составляет > 100. Мне нужно, чтобы это работало в виде визуальных элементов и в целом автономно. Это должно быть так просто. Я пробовал это:

 COUNTX (
    FILTER (
        ADDCOLUMNS (
            VALUES ( 'Order'[Order Header Id] ),
            "Orders", 1,
            "Order Values", SUM ( 'Order'[Order Line Value] )
        ),
        [Order Values] > 100
    ),
    [Orders] 
)
 

и это

 COUNTROWS (
    FILTER (
        ADDCOLUMNS (
            VALUES ( 'Order'[Order Header Id] ),
            "Order Values", SUM ( 'Order'[Order Line Value] )
        ),
        [Order Values] > 100
    )
)
 

…и около 100 других вариантов.
Это работает при фильтрации по [Идентификатору заголовка заказа] в визуальном представлении, но общая сумма всегда равна общему количеству заказов в таблице, независимо от того, что я делаю!

Я просмотрел примеры Руссо и перепробовал все обычные уголки Интернета и не могу найти решение. Это не может быть так сложно.

Ответ №1:

Решено: Оказывается, победителем стал простой переход от ADDCOLUMNS к SUMMARY!

 COUNTROWS (
    FILTER (
        SUMMARIZE (
            VALUES ( 'Order'[Order Header Id] ),
            "Order Values", SUM ( 'Order'[Order Line Value] )
        ),
        [Order Values] > 100
    )
)
 

Надеюсь, когда-нибудь это поможет кому-нибудь другому 🙂