#excel #powerquery #powerpivot #datamodel
#excel #powerquery #powerpivot #модель данных
Вопрос:
Я пытался использовать указанную ниже формулу, которая не работает и показывает сообщение об ошибке с указанием
«Выражение Power pivot, которое выдает тип данных variant, не может использоваться для определения вычисляемых столбцов»
IF (
OR ( Table2[TeamStatus] = "Lost", Table2[TeamStatus] = "Won't proceed" ),
"0",
IF (
OR ( Table2[TeamStatus] = "Next level", Table2[TeamStatus] = "Disqualified" ),
"0",
IF (
AND ( YEAR( Table2[Match Date] ) = YEAR( TODAY() ), [TeamStatus] <> "Won" ),
[Spent Amount],
0
)
)
)
Типы данных столбцов
1) [TeamStatus] = Text
2) [Match Date] = Date
3) [Spent amount] = Number
Цель этой формулы — исключить следующие строки из столбца [TeamStatus] (т. Е. В столбце [TeamStatus] есть «Потерянные», «Не будут продолжены», «Следующий уровень», «Дисквалифицированные» тексты), тогда результат должен быть равен нулю, а затем вычислить потраченную сумму для всехдругие категории в столбце [TeamStatus] и другое условие (например, если год является текущим годом) выполнены.
Я пытался за последний 1 день заставить эту формулу работать, но безуспешно. Я также пытался использовать функцию FORMAT (), но она все равно не работает.
Может кто-нибудь, пожалуйста, помочь мне?
Ответ №1:
Ошибка говорит о том, что ваша формула должна возвращать либо число, либо текст, но иногда не число, а иногда текст.
Обратите внимание, что ваша формула иногда возвращает "0"
, а иногда возвращает 0
.
Либо измените первые два нуля на числа вместо текста, либо измените последний ноль на текст и используйте FORMAT on [Spent Amount]
для преобразования его в текст.
В качестве примечания, нельзя ли упростить вашу формулу до just?
IF (
AND ( YEAR ( Table2[Match Date] ) = YEAR ( TODAY () ), [TeamStatus] = "Won" ),
[Spent Amount],
0
)
Комментарии:
1. Извините, я должен был привести другой пример. В этой формуле я могу просто, как вы указали, однако мне также нужно создать 6 разных формул, и одна из них будет «<> Выиграна», и в этом случае она не должна принимать те 4 [TeamStatus], указанные выше, а остальные [TeamStatus] следует учитывать.