Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
ロードスクリプト内で、日付を基に複数の条件分岐を行ってフラグを付けることを行いたいのですが、
elseif を使うことができず、どうすればいいのかが分かりません。
初歩的な質問かもしれないのですが、何回か検索しても分からないので、ご教示いただけると助かります。
行いたいイメージは下記です(下線部分が誤りで、エラーで動きませんが…)
LOAD
id,
Start_Day,
Login_Day
, if(Start_Day = Login_Day,'1','0') as New_Player
, if(Start_Day = Date(Login_Day - 1,'YYYY/MM/DD'),'1','0') as Played_Yesterday
, if(Start_Day >= '2021/11/10' and Start_Day < '2021/12/01, '1')
elseif(Start_Day >= '2021/12/01 and Start_Day <= '2022/01/01', '2')
elseif(Start_Day >= '2022/01/01 and Start_Day <= '2022/04/01', '3','4') as Seasons
FROM [lib://DataFiles/Prod_Login_Startday_List.qvd]
(qvd);
if関数を用いる場合、次の様に設定します。
if(条件, Then, Else)
elseifを行うのであれば、次の様になります。
if(条件, Then, if(条件,Then,Else))
今回の場合は下記の通りになります。
LOAD
id,
Start_Day,
Login_Day,
if(Start_Day = Login_Day,'1','0') as New_Player,
if(Start_Day = Date(Login_Day - 1,'YYYY/MM/DD'),'1','0') as Played_Yesterday,
if(Start_Day >= '2021/11/10' and Start_Day < '2021/12/01', '1',
if(Start_Day >= '2021/12/01' and Start_Day <= '2022/01/01', '2',
if(Start_Day >= '2022/01/01' and Start_Day <= '2022/04/01', '3','4'))) as Seasons
FROM [lib://DataFiles/Prod_Login_Startday_List.qvd]
(qvd);
初歩的な件で親切にご教示いただき、誠にありがとうございました。
実際のアプリ内>ロードスクリプトに組み込んで動作できました。
Excel関数のように()で括って多重にする必要があるんですね。勉強になります。