Power BI / DAX: фильтр SUMMARIZE или GROUPBY по добавленному значению столбца - PullRequest
1 голос
/ 04 октября 2019

из-за конфиденциальности данных, я попытаюсь описать, с чем я борюсь, используя несколько случайных примеров. Допустим, у меня есть таблица фактов с данными счетов в Power BI. Мне нужно посчитать количество отдельных идентификаторов продуктов с продажами, скажем, 50 000 евро за последние 12 месяцев или, если быть более точным, за 12 месяцев до выбранной даты. В то же время мне нужно иметь возможность сузить результаты до выбранной страны, группы продуктов и категории продукта.

Я начал с настройки диапазона дат для ДАТЫ между:

productsCount = 
VAR lastDay = IF(MAX('Calendar table'[Date]) > NOW(); NOW(); MAX('Calendar table'[Date]))
VAR firstDay = EDATE(lastDay; -12)
RETURN

Но потом я заблудился:

CALCULATE(
    COUNTROWS('Sales');
    SUMMARIZE(
        'Sales';
        'Sales'[ProductID];
        "prodSales"; SUM('Sales'[EUR])
    );
    DATESBETWEEN('Sales'[Date]; firstDay; lastDay);
    ALLEXCEPT(
        'Sales';
        'Sales'[Product group];
        'Sales'[Product category];
        'Sales'[Country]
    );
    [prodSales] > 50000
)

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

Ответы [ 2 ]

0 голосов
/ 04 октября 2019

Я не проверял это, но я думаю, что что-то вроде этого может работать, когда вы фильтруете после суммирования:

productsCount =
VAR lastDay =
    IF (
        MAX ( 'Calendar table'[Date] ) > NOW ();
        NOW ();
        MAX ( 'Calendar table'[Date] )
    )
VAR firstDay = EDATE ( lastDay; -12 )
RETURN
    COUNTROWS (
        FILTER (
            CALCULATETABLE (
                SUMMARIZE ( 'Sales';
                   'Sales'[ProductID];
                   "prodSales"; SUM ( 'Sales'[EUR] )
                );
                DATESBETWEEN ( 'Sales'[Date]; firstDay; lastDay );
                ALLEXCEPT (
                    'Sales';
                    'Sales'[Product group];
                    'Sales'[Product category];
                    'Sales'[Country]
                )
            );
            [prodSales] > 50000
        )
    )
0 голосов
/ 04 октября 2019

Вы можете создать сводную таблицу в редакторе мощных запросов, а затем создать меру в dax, чтобы отфильтровать результат через 50 тыс.

...