hojo
1
お世話になります。
つい最近から発生した事象となります。
以下のような事象になって解決された方や原因が分かる方は、対策をご教授願います。
事象:
コントロールと連動したパラメータを利用している計算フィールドが
正しい値を出力しない(NULLが表示される)
計算フィールド:
parseDate(concat(toString(${nendo}), ‘-04-01’), ‘yyyy/MM/dd’)
暫定対応して、データセットを手動更新すると正しい値を出力するようになりますが、
一定時間経つと、またNULLになってしまいます。
なお、フィールドを利用しているダッシュボードは稼働してから1年ほど経過しており、
上記のような事象には一回も発生していない状況です。
@hojo さん、Amazon Quick Communityにようこそ!ご質問ありがとうございます。
計算フィールドの値がNULLになっているのは、parseDateに指定した文字列(yyyy-MM-dd)とフォーマットの形式(yyyy/MM/dd)が異なっているためではないでしょうか?
手元の環境でパラメータを使わずに静的な文字列で以下のように試したところ、NULLが出力され事象が再現しました。
parseDate(concat('2026', '-04-01'), 'yyyy/MM/dd')
通常、parseDateの引数の文字列とフォーマットが一致しない場合はSYNTAX_ERRORとなりますが、concat関数を利用して動的に文字列の引数を生成している状況でフォーマットが一致しない場合はNULLとなるようです。
日付の区切り文字を「/」もしくは「-」に統一いただくことで正しく日付として認識されると思いますが、確認いただけますでしょうか。
データセットを更新することで正しい値を出力するようになることとの因果関係は不明ですが、いずれにしても文字列とフォーマットの形式が一致していないのは正しくないので、まずはこちらを直していただくのが良いかと思います。
hojo
3
@ytakahr さま、ご回答いただきありがとうございます。
parseDateの引数の文字列とフォーマット形式を合わせて検証してみます。
検証の結果は、来週またお伝えいたします。