Qlik Trainingブログ

  • データ準備
2021.07.29

Date#とDateの違い

Date#とDateの違い

皆さんはデータを分析する時、必ずと言っていいほど日付データを扱われると思います。
その際に取り込んだ日付データが日付として扱えなかったことはありませんか?
Qlik Senseで日付データを扱う際のつまづきポイントのひとつが「Date#」関数と「Date」関数です。

今回は、日付に関する様々な関数の中から「Date#」関数と「Date」関数の違いについて分かり易くお伝えします。

目次

※本記事は バージョン「May 2021」の[SaaS]で作成しています。

Date#とDateの違い

見た目は「#」があるかないかだけですが、実は関数として種類が異なります。
【データ型変換関数】と【書式設定関数】として区別されています。

 Date# = データ型変換関数
 Date = 書式設定関数


細かく説明すると色々な要素が絡む為、ここではシンプルさを重視して説明します。
より細かい内容を知りたい方は、メーカーのHELPサイトなども確認してみてください。

それぞれどのような関数なのか見ていきましょう。


【Date# :データ型変換関数】
  ★文字列/数値のデータを日付型に変換する関数
  ★用途:取り込んだ日付項目をQlikが日付データだと認識させる為に利用


《使い方例》
例えば、データベースやExcelの中のデータが「2021年7月10月」のような日付データの
項目を取り込もうとします。
Qlikでは、「YYYY/MM/DD」というスラッシュ区切りの形式であれば日付と認識しますが、
「2021年7月10月」のような値は文字列として認識します。
通常は文字列として認識される「2021年7月10月」を日付として認識させる関数
Date#(データ型変換関数) です。

《数式例》
Date#(納品日付,'YYYY年MM月DD日')

《解説》
「YYYY年MM月DD日」という形式の納品日付項目は、日付型のデータであるとQlikが
認識します。

【Date :書式設定関数】
  ★書式を任意の形式に設定する関数
  ★用途:取り込んだ数値や日付データを任意の書式に変更


《使い方例》
例えば、データベースやExcelの中のデータが「2021/7/10」のような日付データの項目を
取り込もうとします。
Qlikでは、「YYYY/MM/DD」というスラッシュ区切りの形式であれば日付と認識します。
しかし、今回は「2021-7-10」のように任意の書式に変換したい場合に使う関数
Date(書式設定関数) です。

《数式例》
Date(納品日付,'YYYY-MM-DD')

《解説》
日付形式(YYYY/MM/DD)の納品日付項目を「YYYY-MM-DD」という形式に変更しています。

よくある活用例

「Date#」関数と「Date」関数を組み合わせて利用するケースがあります。
例えば、手持ちのExcelデータの日付書式が「YYYY年MM月DD日」で格納されているが、
会議の報告資料の日付は「YYYY-MM-DD」で表示したいような場合です。

Qlikでの対応の流れは以下のように2段階となります。
1.まずは「YYYY年MM月DD日」という書式Qlikで日付データだと認識させる。
2.「1.」で日付データと認識した項目の書式を任意の書式「YYYY-MM-DD」に変える。
Qlikでは以下の数式のように1行で記述可能です。
《数式例》
 Date( Date#(納品日付,'YYYY年MM月DD日') ,'YYYY-MM-DD') as 納品日付2

《解説》
 ・1段階目:Date#関数で「YYYY年MM月DD日」という書式の納品日付を日付データと
  認識させます。

 ・2段階目:Date関数で、日付データと認識した値(つまり1段階目処理結果)の書式を、
  「YYYY-MM-DD」に変更します。

まとめ

Date#関数は、任意の書式を日付データだと認識させる関数((データ型)変換関数)
Date関数は、任意の書式に変更できる関数(書式設定関数)



今回は、「日付データ」に特化した形でご紹介しましたが、(データ型)変換関数や書式設定関数にはいくつか種類が存在しますので、興味がある方はHELPサイトなど確認してみて下さい。

さいごに

いかがでしたでしょうか。
#がつくか、つかないかで意味が異なることが理解でき、それぞれの違いが説明できるように
なりましたでしょうか。

今回は以上です。今後も役に立つ関数の記事も挙げていく予定です。

関連している記事

  • データ準備
2021.08.12

Null(値がないデータ)を選択するには?

皆さんはQlik Senseのチャートの値に「-」が入っているのを、見つけたことはありませんか?

  • データ準備
2021.06.30

Where句で必要なデータだけ取り込みます!

アプリに全てのデータを取り込む必要はないな…という時ありませんか? そんな時はWhere句で条件を指定して必要なデータだけ取り込みましょう!

  • データ準備
2021.06.15

Concatenate(連結)で分析しやすいデータに加工する!

JOINに引き続き、データ準備のテクニックをご紹介します。 今回はJOINと同じように複数テーブルを1つにまとめ、 分析しやすいデータに加工できる「Concatenate」(連結)についてです。

ページの先頭へ戻る