#if-statement #powerbi
#оператор if #powerbi
Вопрос:
В настоящее время я пытаюсь создать срез возраста на PowerBI, но он не работает. Не могли бы вы мне помочь? Заранее благодарю вас! мой код :
Age Slice.1 =
if(
20<VALUE(CONTRACT_BASIS[Age]),
"<20",
if(
20<=VALUE(CONTRACT_BASIS[Age])<25,
"20-25",
if(
25<=VALUE(CONTRACT_BASIS[Age])<30,
"25-30",
if(
30<=VALUE(CONTRACT_BASIS[Age])<40,
"30-40",
if(
40<=VALUE(CONTRACT_BASIS[Age])<50,
"40-50",
if(
50<=VALUE(CONTRACT_BASIS[Age]),
"50 ",
"no age displayed"
)
)
)
)
)
)
отображаемое сообщение :
«Операции сравнения DAX не поддерживают сравнение значений типа True / False со значениями типа Integer . Рассмотрите возможность использования функции VALUE или FORMAT для преобразования одного из значений. «
Ответ №1:
Age Slice.1 =
if(
CONTRACT_BASIS[Age]<20,"<20",
if(
20<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<25,"20-25",
if(
25<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<30,"25-30",
if(
30<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<40,"30-40",
if(
40<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<50,"40-50",
if(
50<=CONTRACT_BASIS[Age],"50 "
)
)
)
)
)
)
также правильно
Ответ №2:
Решил это с помощью этого запроса:
Age Slice.1 =
SWITCH(
TRUE(),
CONTRACT_BASIS[Age]<20,"<20",
20<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<25,"20-25",
25<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<30,"25-30",
30<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<40,"30-40",
40<=CONTRACT_BASIS[Age] amp;amp; CONTRACT_BASIS[Age]<50,"40-50",
50<=CONTRACT_BASIS[Age],"50 "
)