Страницы: 1
RSS
Формула Excel СУММЕСЛИМН в DAX.
 

Форумчане! Доброго дня!

Помогите разобраться - как сделать аналог СУММЕСЛИМН в DAX'е. У меня в таблице есть два столбца индексов (пример во вложении), которые называются [Номер партии] и [Куда остаток]. Для формулы СУММЕСЛИМН они являлись бы условием суммирования и диапазоном условий соответственно. А вот в DAX'е пытался вычислять через CALCULATE, но там такая логика не работает:

Код
Мера 1:=CALCULATE([Сухой вес остатка];FILTER(ALL('Отпр');'Отпр'[Куда остаток]='Отпр'[Номер партии]))

В примере, в столбце [Переходящий остаток], показал, как должно рассчитываться и что должно получиться.

 
mikmp, можно так:
Код
Мера 1 :=
CALCULATE (
    [Сухой вес остатка];
    FILTER (
        ALL ( 'Отпр' );
        'Отпр'[Куда остаток] IN VALUES ( 'Отпр'[Номер партии] )
    )
)

Или так:
Код
Мера 1 :=
CALCULATE (
    [Сухой вес остатка];
    ALL ( 'Отпр' );
    'Отпр'[Куда остаток] IN VALUES ( 'Отпр'[Номер партии] )
)
Изменено: surkenny - 18.01.2022 06:29:16
 
surkenny, попробовал, но вот это выражение: IN VALUES подчеркивает красной волнистой линией. И не работает.
Изменено: mikmp - 18.01.2022 08:14:21
 
mikmp, подчеркивается, но должно работать.
Изменено: surkenny - 18.01.2022 08:32:43
 
mikmp, если итоги не нужны, можно еще так (HASONEVALUE() для того, чтобы в группировке не считалось, там все равно результат будет некорректным):
Код
Мера 2 :=
IF (
    HASONEVALUE ( 'Отпр'[Номер партии] );
    (
        CALCULATE (
            [Сухой вес остатка];
            FILTER ( ALL ( 'Отпр' ); 'Отпр'[Куда остаток] = MAX ( 'Отпр'[Номер партии] ) )
        )
    )
)
Изменено: surkenny - 18.01.2022 08:45:24
 
Не, не работает. Выражение IN серым цветом, а не синим, как для всех формул. Быть может у меня офис устарел - 2016?. А в приложенных примерах даже Pivot открыть не могу - ругается на синтаксис IN
 
Проверил на офис-365, тут да - мера 1 работает. Мера 2 не подходит, потому что значения не группируются.
Все же нужна такая формула, чтобы работала в офис-2016.

У кого-нибудь еще есть варианты?
 
mikmp,
Код
Мера 2 :=
CALCULATE (
    [Сухой вес остатка];
    ALL ( 'Отпр' );
    INTERSECT ( ALL ( 'Отпр'[Куда остаток] ); VALUES ( 'Отпр'[Номер партии] ) )
)
 
surkenny, ОТЛИЧНО!!! Благодарю!
Изменено: mikmp - 19.01.2022 04:44:32
Страницы: 1
Наверх