Как я понимаю следующий DAX

#powerbi #dax

Вопрос:

Я очень новичок в Power BI, мне нужна помощь в понимании следующих кодов, так как я не могу понять использование AllExcept :

 1) Trial Col = CALCULATE(SUM('Trial Table 2'[Total Sales]),FILTER(ALL('Trial Table 2'[Region Group]),'Trial Table 2'[Region Group] = "Low Region"), ALLEXCEPT('Trial Table 2','Trial Table 2'[Region Group]))

2) Trial Col = CALCULATE(SUM('Trial Table 2'[Total Sales]),FILTER(ALL('Trial Table 2'[Region Group]),'Trial Table 2'[Region Group] = "Low Region"), ALLEXCEPT('Trial Table 2','Trial Table 2'[Customer Group]))
 

Данные

Комментарии:

1. Проверьте автоматическое существование. Вы можете посмотреть это видео, чтобы лучше понять идею автоматического существования. Движок объединяет оба фильтра в один. Каждый фильтр в DAX представляет собой таблицу, это означает, что вы вводите два набора значений, и только они принимаются из обоих sqlbi.com/tv/auto-exist-on-clusters-or-numbers-unplugged-22

Ответ №1:

Я взял ваш код и отформатировал его так, чтобы его было легче читать, и добавил комментарии, чтобы вы могли понять каждую часть. Пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы, и ознакомьтесь с документацией здесь, за исключением того, что здесь сложнее всего понять.

 Trial Col =
CALCULATE(
    SUM('Trial Table 2'[Total Sales]), // Give me the total sales
        FILTER(
            ALL('Trial Table 2'[Region Group]),
                'Trial Table 2'[Region Group] = "Low Region"), // Where the region is = Low Region
            ALLEXCEPT('Trial Table 2',
                'Trial Table 2'[Region Group]) // Ignore all other filters/slicers except for Region Group.
)

Trial Col =
CALCULATE(
    SUM('Trial Table 2'[Total Sales]), // Give me the total sales
        FILTER(
            ALL('Trial Table 2'[Region Group]),
                'Trial Table 2'[Region Group] = "Low Region"), // Where the region is Low Region
            ALLEXCEPT('Trial Table 2',
                'Trial Table 2'[Customer Group]) // Ignore all other filters/slicers except for Customer Group.
)
 

Комментарии:

1. спасибо, что ответили. Что меня смущает, так это то, как будут работать все и все, кроме, при использовании в одном выражении DAX. В основном, как контекст строки, контекст фильтра и переход контекста будут работать в приведенном выше случае. Контекст строки неявен, так как я добавляю столбец