HANA Studio: вычисляемый столбец с несколькими операторами IF

#hana #hana-studio

#hana #hana-studio

Вопрос:

У меня есть следующий набор данных в моем представлении вычислений:

введите описание изображения здесь

И я пытаюсь создать два дополнительных вычисляемых столбца для ключа «TU_NUM хранилища SAPClient»:

  1. Столбец должен возвращать «X», если ((TXT04=’CHKO’) и (STATUS_VALUE=’X’)) И ((TXT04=’CHKI’) и (STATUS_VALUE=’X’))

  2. Столбец должен возвращать «X», if ((TXT04=’CHKO’) и (STATUS_VALUE=’ ‘)) И ((TXT04=’CHKI’) и (STATUS_VALUE=’X’))

Когда я пытаюсь создать первый столбец, я использую следующий код:

if(«TXT04″=’CHKO’,if(«STATUS_VALUE»=’X’, ‘X’,’ ‘ ‘),’ » и if(«TXT04″=’CHKI’,if(«STATUS_VALUE»=’X’, ‘X’,’ ‘),’ ‘)

Но получаем следующую синтаксическую ошибку:

введите описание изображения здесь

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

Был бы признателен за любую помощь.

Спасибо и БР.

Ответ №1:

Функция IF возвращает строковое значение в вашем выражении, поэтому для строк не определен оператор AND (точнее, AND является функцией, как вы можете видеть через трассировку). Но я думаю, что в вашем коде есть опечатка, так (A and B) and (C and D) как равно A and B and C and D , и вы пытаетесь «И» TXT04='CHKO' , и TXT04='CHKI' что, очевидно, так и есть FALSE .

Если у вас есть только два значения, вы можете использовать одно IF if(<1'st group of conditions>, 'X', '') и соответствующим образом сгруппировать все свои условия. Если у вас есть третье значение (кроме ‘X’ и «), замените » во фрагменте на второе if. Для более чем двух выходных значений я предпочитаю case statement .