#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. Извините, это было непонятно.