Вычисление Power bi, содержащее строку, не работает

#powerbi #dax #contains #calculation

#powerbi #dax #содержит #вычисление

Вопрос:

У меня есть 3 столбца TPLNR, TXT04 и INACT. Если значение isTPLNR имеет значение DLFL в поле TXT04 и имеет значение «X» в поле INACT, данные, скорее всего, не будут отображаться в моем визуальном, или мне нужно получить значение true или false в столбце, чтобы я мог выбрать мой визуальный.

Ошибка, которую я получаю, это

Выражение относится к нескольким столбцам. Несколько столбцов не могут быть преобразованы в скалярное значение.

 CALCULATE (
    IF (
        CONTAINSROW ( VALUES ( FunctionalLocation[TXT04] ), "DLFL" ),
        VALUES ( FunctionalLocation[INACT] ),
        "X"
    ),
    ALLEXCEPT ( FunctionalLocation, FunctionalLocation[TPLNR] )
)
  

Но это не работает. Не могли бы вы сообщить мне, что я делаю не так?

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

1. «Не работает» — недостаточно информации для продолжения. Вы получаете сообщение об ошибке? Если нет, то каким образом это не работает?

2. у меня есть 3 столбца TPLNR, TXT04 и INACT. Если значение isTPLNR имеет значение DLFL в поле TXT04 и имеет значение «X» в поле INACT, данные, скорее всего, не будут отображаться в моем визуальном, или мне нужно получить значение true или false в столбце, чтобы я мог выбрать мой визуальный. ошибка, которую я получаю, заключается в том, что выражение относится к нескольким столбцам. Несколько столбцов не могут быть преобразованы в скалярное значение.

Ответ №1:

Эта ошибка, вероятно, связана с VALUES ( FunctionalLocation[INACT] ) :

Выражение относится к нескольким столбцам. Несколько столбцов не могут быть преобразованы в скалярное значение.

Мера должна возвращать одно значение, но ЗНАЧЕНИЯ могут возвращать несколько значений, поэтому вам нужно как-то справиться с этой возможностью. Например, вместо ЗНАЧЕНИЙ можно использовать SELECTEDVALUE, которое возвращает пустое значение при наличии нескольких значений.

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

1. Привет, Алексис, я адаптировал меру: CALCULATE ( IF( CONTAINSROW ( SELECTEDVALUE( FunctionalLocation[TXT04] ), «DLFL» ), SELECTEDVALUE(FunctionalLocation[INACT] ), «X» ), ALLEXCEPT ( FunctionalLocation, FunctionalLocation[TPLNR] )) но я получаю ошибку, которую ожидает функция CONTAINSROWтабличное выражение для аргумента ‘1’, но использовалось строковое или числовое выражение.

2. Вам все еще нужны первые ЗНАЧЕНИЯ внутри CONTAINSROW. Извините, это было непонятно.