Qlik Senseで日付データがうまく表示されない
更新日:2023年9月26日
Excelから日付データを取り込んだら表示が5桁の数字になる。おかしい!
データ分析においては最重要ともいえる「時間軸」のデータですが、Qlik Senseで扱うたびに毎回いろいろと悩んでしまうので随時まとめておくことにします。
まずは、Excelから日付データを取り込んだ時につまづいたパターンです。

左図のようなよくあるExcelの日付データをQlik Senseに取り込んでみました。
Excelの時点で日付データの表示書式は自動で設定されたりして混乱します。
’2020/12/1’ と入力しているのに、'12/1'と表示されていますし。
これは日付書式の値をExcelが自動的にシリアル値として扱ってくれているからです。
というわけで、上記のようなExcelデータをQlik Senseに取り込んでみると下図のようになりました。

▼日付
Excelの[日付]列をそのままロードしたものです。”44166” などのシリアル値らしき
値となっています。
▼Date(日付)
Date関数を使用して日付書式で表示しようと思いましたがうまくいきませんでした。
なぜ・・・??
今回はここでつまづきました・・・。
結果をお伝えすると、どうもExcelからロードした際になぜか文字列(TEXT型)としてロードされており、それが原因でDate関数がうまく処理されなかったようです。
▼num#(日付)
num# 関数を使用して数値型に変更してみました。
上図の[日付]列と[num#(日付)]列を見比べてみると、配置が左寄せと右寄せとの違いがあります。左寄せは文字列、右寄せは数値となりますので異なる型で処理されていることが分かります。
Date関数は、" Date(数値 [,表示フォーマット]) " が構文のため、文字列が入ると表示ができないということだと思います。
▼Date(num#(日付))
num# 関数によって数値型に変換した上で、Date関数で日付書式にすることで表示する
ことができました!
ほんの些細なつまづきなのですが、なかなか苦戦してしまいました。
日付の取り扱いはいつまでたっても覚えることができません・・・。
おわり
Comments