Я имею набор данных, как показано ниже:
Я использовал SUMMARIZECOLUMNS для агрегирования по Name и Year и вычислил MAX(Points), чтобы получить следующий вывод:
VAR DistinctValueTable =
SUMMARIZECOLUMNS(‘MyTable'[Name], ‘MyTable'[Year], “Max Points”, MAX(‘MyTable'[Points]) )
Теперь мне нужно сложить Max Points для каждого Name. Как я могу это сделать?
SUMMARIZE(DistinctValueTable , [Name], SUM[Max Points])
не работает. Я хочу, чтобы мой вывод выглядел так:
Ответ
Чтобы решить задачу суммирования максимальных очков для каждого имени после того, как вы уже использовали функцию SUMMARIZECOLUMNS
, вы можете использовать комбинацию функций DAX. Первым делом, вы создали таблицу с максимальными очками для каждого имени и года. Теперь нужно суммировать максимальные очки для каждого имени.
Вот как это можно сделать:
- Используем функцию
SUMMARIZECOLUMNS
, чтобы получить таблицу с максимальными очками для каждого имени и года. - Используем
SUMMARIZE
илиGROUPBY
для группировки по имени и суммирования максимальных очков.
Вот код, который выполнит эти шаги:
VAR DistinctValueTable =
SUMMARIZECOLUMNS(
'MyTable'[Name],
'MyTable'[Year],
"Max Points", MAX('MyTable'[Points])
)
VAR ResultTable =
SUMMARIZE(
DistinctValueTable,
[Name],
"Total Max Points", SUM([Max Points])
)
RETURN
ResultTable
В этом коде:
DistinctValueTable
содержит уникальные сочетания имен и годов с максимальными очками.- Мы используем
SUMMARIZE
, чтобы сгруппировать данные по имени и суммировать максимальные очки (используяSUM([Max Points])
), создавая новую колонку с названием"Total Max Points"
.
Теперь ResultTable
содержит итоговую сумму максимальных очков для каждого имени. Вы можете использовать эту таблицу далее в вашем отчете или визуализации.