Страницы: 1
RSS
Power Bi- CALCULATE. Как сделать что бы фильтры не влияли на значение в карточках?
 
Добрый вечер

У меня следующий затык мне надо посчитать количества поставленной продукции, в данном примере кабеля и вывести данное количество на карточку. На визуализации будет несколько фильтров и мне надо что бы они не влияли на данное значение. Для этого я использовал функцию CALCULATE:
Кабеля всего поставленно =
Код
CALCULATE(
       SUMX(
                  FILTER(
                         TDSheet,
                         TDSheet[Статус ДУС] = "Поставлено (в полном объеме)"
                          && TDSheet[Номенклатурная категория] = "ПРОДУКЦИЯ КАБЕЛЬНО-ПРОВОДНИКОВАЯ"
                   ),
           TDSheet[Количество]
         ))
Но при выборе фильтра значения фильтруюца по этому фильтру, в данном случае выводить ноль.

Как сделать что бы фильтры не влияли на значение в карточках?
 
Nikolas Raven, нужно убрать влияние столбца из среза при помощи функции ALL. Типа такого:
Код
CALCULATE(
       SUMX(
                  FILTER(
                         TDSheet,
                         TDSheet[Статус ДУС] = "Поставлено (в полном объеме)"
                          && TDSheet[Номенклатурная категория] = "ПРОДУКЦИЯ КАБЕЛЬНО-ПРОВОДНИКОВАЯ"
                   ),
           TDSheet[Количество]
         ),
         ALL(TDSheet[Направление закупки] )
)

Если столбец Направление закупки находится в другой таблице-справочнике, то поменяйте название таблицы в функции ALL.
Вот горшок пустой, он предмет простой...
 
Спасибо за подсказку, Ваш вариант выдал ошибку,  но сработал не много другой :
Код
Кабеля всего поставленно = 
CALCULATE(
    SUMX(
        FILTER(
            ALL(TDSheet),
            TDSheet[Статус ДУС] = "Поставлено (в полном объеме)"
            && TDSheet[Номенклатурная категория] = "ПРОДУКЦИЯ КАБЕЛЬНО-ПРОВОДНИКОВАЯ"
            ),
        (TDSheet[Количество])
    )
)
Всё находится в одной таблице.
Но мне всё равно не понятно, разве функция CALCULATE не должна сбрасывать все фильтры?
Изменено: Nikolas Raven - 07.02.2022 22:34:12
 
Цитата
Nikolas Raven написал:
разве функция CALCULATE не должна сбрасывать все фильтры?
Вам бы справку почитать по функциям. Своими словами: функция CALCULATE предоставляет возможность изменять контекст фильтров. Т.е. пользователь внутри CALCULATE может видоизменять контекст по своему усмотрению, но автоматически никакого изменения не происходит.
 
Vladimir Chebykin, ну, не совсем так. Придание контекста строки в мере с использованием итеративных функций все же подразумевает простое оборачивание выражения в CALCULATE без второго аргумента. Но в остальном, все так, да.
Вот горшок пустой, он предмет простой...
 
Всем спасибо. Но у меня теперь следующий затык как эти две меры увязать в одну?
Код
Кабеля gоставлено не в полном объеме = 
CALCULATE(
    SUMX(
        FILTER(
            ALL(TDSheet),
            TDSheet[Статус ДУС] = "Поставлено (не в полном объеме)"
            && TDSheet[Номенклатурная категория] = "ПРОДУКЦИЯ КАБЕЛЬНО-ПРОВОДНИКОВАЯ"
            ),
        (TDSheet[Отправлено])
    )
)

и

Код
Кабеля gоставлено в полном объеме = 
CALCULATE(
    SUMX(
        FILTER(
            ALL(TDSheet),
            TDSheet[Статус ДУС] = "Поставлено (в полном объеме)"
            && TDSheet[Номенклатурная категория] = "ПРОДУКЦИЯ КАБЕЛЬНО-ПРОВОДНИКОВАЯ"
            ),
        (TDSheet[Количество])
    )

)

Изменено: Nikolas Raven - 08.02.2022 21:12:27
 
Цитата
Nikolas Raven написал:
как эти две меры увязать в одну?
= [Кабеля gоставлено не в полном объеме] + [Кабеля gоставлено в полном объеме]
 
Цитата
написал:
будет несколько фильтров и мне надо что бы они не влияли на данное значение
в настройках визуального элемента отмените влияние между фильтром и карточкой
Страницы: 1
Наверх