DAX ALLEXCEPT игнорирует контекст фильтра? - PullRequest
0 голосов
/ 30 октября 2018

Необходим показатель за квартал до даты, когда используется календарь фискальный . Думал, что будет работать следующее:

QTD =
CALCULATE (
    [Total Amount],
    FILTER (
        ALLEXCEPT ( 'Calendar', 'Calendar'[FiscalYear] ),
        'Calendar'[FiscalQuarter] = MIN ( 'Calendar'[FiscalQuarter] )
            && 'Calendar'[Date] <= MAX ( 'Calendar'[Date] )
    )
)

Однако, несмотря на то, что функция ALLEXCEPT говорит НЕ «сбрасывать» столбец [FiscalYear], мера рассчитывается без учета финансового года координат центра. Таким образом, формула работает только для первого финансового года. У кого-нибудь есть идеи, почему формула не работает, как я ожидал? ТИА

1 Ответ

0 голосов
/ 31 октября 2018

Нашел соответствующую ветку на powerbi.com (ссылка здесь ), и я вроде как понял. Кажется, что когда вы используете функцию FILTER с таблицей дат, она автоматически применяет ALL (), и вы теряете контекст фильтра. Для моей формулы QTD правильно работает следующее:

CALCULATE(
 [Total Amount],
 FILTER(
   ALL( 'Calendar' ),  
   'Calendar'[FiscalYear] = MIN( 'Calendar'[FiscalYear] )
     && 'Calendar'[FiscalQuarter] = MIN( 'Calendar'[FiscalQuarter] )
     && 'Calendar'[Date] <= MAX( 'Calendar'[Date] )
 )
)

Пожалуйста, ответьте, если вам известна более простая формула. Конец финансового квартала, кстати, НЕ совпадает с окончаниями календарного квартала.

...