Случай, когда функция с несколькими условиями в Cognos Analytics 11.1.x

#case #case-when #cognos-11

#кейс #случай — когда #cognos-11

Вопрос:

Я использую Cognos, встроенный в Watson Studio, и попытался создать следующее вычисление с помощью оператора case (как month_3, так и avg2m являются показателями). Cognos сообщает об обнаруженной синтаксической ошибке XQE-V5-0017 V5 для элемента данных ‘вычисление-новое’ запроса ‘validateQuery’, недопустимый токен «<» найден после «case (( allin_shaped_csv.month_3 — avg2m ) / avg2m ) когда «.

Не могли бы вы помочь исправить синтаксическую ошибку?

 case (( allin_shaped_csv.month_3 - avg2m ) / avg2m )
   when <-0.50 then -100;
   when <-0.20 then -50;
   when <0 then -20;
   when 0 then 0;
   when >0 then 20;
   when >0.50 then 50;
   when >0.99 then 100;
end case;
  

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

1. ммм, кажется, это работает таким образом:

Ответ №1:

похоже, что это работает таким образом :

 case 
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )<-0.50 then -100
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )<-0.20 then -50
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )<0 then -20
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )=0 then 0
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )>0 then 20
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )>0.50 then 50
   when (( allin_shaped_csv.month_3 - avg2m ) / avg2m )>0.99 then 100
   else 0
end