Мощные методы расчета совокупного количества различных чисел в Power BI

В Power BI вычисление совокупного количества уникальных объектов может быть полезным методом анализа данных в различных измерениях. В этой статье блога будут рассмотрены несколько методов достижения совокупного подсчета уникальных элементов в Power BI, а также приведены примеры кода. Независимо от того, являетесь ли вы новичком или опытным пользователем, эти методы помогут вам получить ценную информацию из ваших данных. Итак, приступим!

Метод 1: измерение DAX с использованием COUNTROWS и FILTER
Пример кода:

CumulativeDistinctCount =
VAR CurrentRowDate = SELECTEDVALUE('Table'[Date])
RETURN
    CALCULATE(
        DISTINCTCOUNT('Table'[CustomerID]),
        FILTER(
            ALL('Table'),
            'Table'[Date] <= CurrentRowDate
        )
    )

Объяснение:
Этот метод использует меру DAX для расчета совокупного количества уникальных элементов. Он применяет фильтр к таблице, рассматривая все строки до даты текущей строки. Затем он подсчитывает отдельные идентификаторы клиентов в отфильтрованном контексте.

Метод 2: измерение DAX с помощью SUMX и VALUES
Пример кода:

CumulativeDistinctCount =
SUMX(
    VALUES('Table'[Date]),
    CALCULATE(
        DISTINCTCOUNT('Table'[CustomerID])
    )
)

Объяснение:
В этом подходе мы используем функцию SUMX для перебора каждой уникальной даты в «Таблице» и расчета количества различных идентификаторов клиентов для этой конкретной даты. Функция VALUES гарантирует, что в итерации мы учитываем только разные даты.

Метод 3: Power Query с группировкой по
Пример кода:

let
    Source = Table.Group('Table', {"Date"}, {"CumulativeDistinctCount", each List.Count(List.Distinct([CustomerID]))}),
    CumulativeCountList = Source[CumulativeDistinctCount],
    CumulativeDistinctCount = List.Accumulate(CumulativeCountList, 0, (a, b) => a + b)
in
    CumulativeDistinctCount

Объяснение.
Этот метод использует функцию Power Query Group By для группировки данных по дате и расчета индивидуального количества идентификаторов клиентов для каждой даты. Затем он суммирует количество уникальных объектов, чтобы получить совокупное количество уникальных объектов.