рассчитать сумму с критериями из многих столбцов другой отфильтрованной таблицы DAX PowerBi - PullRequest
0 голосов
/ 28 января 2020

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

Итак, у меня есть таблица1, где я хочу суммировать баллы и хочу суммировать только запись, которая для даты, имена и классы я нахожу в таблице 2

enter image description here

Я использую меру, подобную этой:

Measure 3 = CALCULATE(sum(Table1[points]);Table1[name] in (ALLSELECTED(Table2[name]));Table1[date] in (ALLSELECTED(Table2[date]));Table1[class] in (ALLSELECTED(Table2[class])))

но он не фильтрует должным образом,

Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 28 января 2020

Один из способов - создать связь между двумя таблицами. Я думаю, что Power BI не поддерживает множественные отношения между двумя таблицами, поэтому вам нужно добавить пользовательский столбец в обе таблицы с помощью внешнего ключа <>. В вашем случае, как вы упомянули, это будет имя, дата и класс (в редакторе запросов):

Key = [name] & [date] & [class]

В моем примере здесь я просто использую имя в качестве ключевого столбца.

enter image description here

Если связь установлена, вы можете использовать следующую меру:

enter image description here

0 голосов
/ 29 января 2020

Вы можете использовать TREATAS для фильтрации Таблицы1 на основе Таблицы2. Отношения не нужны.

Total Points Filtered By Table2 = 
CALCULATE (
    SUM ( Table1[point] ),
    TREATAS (
        SUMMARIZE ( Table2, Table2[name], Table2[date], Table2[class] ),
        Table1[name], Table1[date], Table1[class]
    )
)
...