Как подсчитать различия, полученные из разных таблиц, которые больше нуля в режиме прямого запроса Power BI?

У меня 2 стола. В таблице A показаны подписанные идентификаторы и количество подписок для каждого идентификатора, которые могут быть продублированы в таблице A.

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

Моя цель - просуммировать количество для каждого уникального идентификатора в таблице A и вычесть сумму количества для каждого уникального идентификатора в таблице B. Затем подсчитать уникальные идентификаторы с количеством больше нуля.

Пример:

Пример

В этом примере результат должен быть 3.


person cperez1935    schedule 17.10.2018    source источник


Ответы (1)


Следующие меры работают с образцами данных.

Distinct IDs with positive Qty =
COUNTROWS (
    SUMMARIZE (
        FILTER (
            ADDCOLUMNS (
                TableA,
                "totQty", CALCULATE ( SUM ( TableA[Qty] ), ALLEXCEPT ( TableA, TableA[ID] ) )
                    - CALCULATE ( SUM ( TableB[Qty] ), FILTER ( TableB, TableB[ID] = TableA[ID] ) )
            ),
            [totQty] > 0
        ),
        [ID]
    )
)

Работает это так:

  1. Функция ADDCOLUMNS возвращает таблицу, в которой новый столбец [totQty] добавлен в TableA. в этом столбце SUM (TableB [Qty]) вычитается из SUM (TableA [Qty]) для ([ID]) в каждой строке TableA.
  2. Функция FILTER фильтрует предыдущую таблицу и возвращает только те строки, в которых [totQty]> 0.
  3. Функция SUMMARIZE возвращает таблицу, содержащую один столбец с уникальными значениями столбца [ID] предыдущей таблицы.
  4. Затем функция COUNTROWS подсчитывает строки в этой последней таблице.
person Marco Vos    schedule 18.10.2018