Qlikの日付処理のベストプラクティス〜第4回 日付ピッカー(Date Picker)の最適設定〜

こんにちは!Yokoです。
Qlik Cloudはビジュアライゼーションの改善が日々進んでおり、UIが突然変わったりします。
ブログを書く身としては、スクショが変わってしまう…
という悩みがあり、今回もタイトルにある「日付ピッカー」も、以前はdashboard bundleにあったので、現在のUIに変わった時、「あれっ?無くなった?」と焦りました😅
現在は「ダッシュボードオブジェクト」にあります。

この日付ピッカーは、以前はDate Pickerというオブジェクトで日付を選択する時には重宝していたのですが、デフォルトで設置するとちょっと使いづらいので、最適な設定をご紹介したいと思います。
尚、今回の記事は前回の続きですので、理解を深めるために前回の記事も参考にしてもらえれば嬉しいです。
使用しているデータはこちらから入手できます。

目次

年月日を指定するには…

年月日を指定する方法としては、フィルターパネルを使用する方法と日付ピッカーを使用する方法があります。
まずは使い慣れたフィルターパネルを利用して、売上日を選択できるようにしてみます。
今回は売上日の派生項目である[売上日.$(vCalendar).Date]を使用してみます。
vCalendarはAutoCalendarで作成されたカレンダーのモードで、fiscalまたはcalendarが入ります(詳細は過去記事を参照)。

フィルターで任意の期間を選択して表示してみると前年が出なくなってしまいました😢

これは、前回の記事でもご紹介しましたが、売上日.$(vCalendar).Dateの選択状態が影響しているためです。
従って、前年の数式で使用されている変数 vSET_DateStringに売上日.$(vCalendar).Dateを追加してあげれば、問題なく表示できるようになります。

派生項目を使わずに設定してみる

年月日を派生項目で指定してみましたが、派生項目を使わずに項目名(ここでは売上日)を使用したらどうなるでしょうか?
フィルターパネルの項目を[売上日]に変更してみます。
因みに、ここでは vSET_DateString の定義から 売上日.$(vCalendar).Date を外しています。

できてしまいました😄
軸で派生項目を使用している時は、派生項目を使用せずに、項目を直接指定すれば、選択状態を無視するSET文を入れなくてもいいようです(もちろん入れておいてもいいんですが)。
この辺りは、実際に実装する時にうまくいくパターンを検証した上で設定したほうが良さそうです。

日付ピッカー(Date Picker)で実装してみる

ダッシュボードオブジェクトの日付ピッカー(Date Picker)をシート上に配置します。
日付ピッカーのField > Date fieldで日付の項目を選択するのですが、ここでは派生項目は指定できないようです。まあ、日付そのものしか指定する必要はないので、派生項目を指定する必要もないのですが…

売上日の期間を選択してみますと、売上日の指定で前年もうまく表示されているようです。この仕様はフィルターパネルと同じですね。
ただ、ここで日付を指定する時に、期間指定の最初の月が一番古い年月に設定されていて、操作が面倒くさいです。
また、”Aug 2025″などの表示は日本人にとっては馴染みがなく、僕なんかは頭の中で翻訳しちゃうんですよね。
何とかならないものか…

日付ピッカーの最適設定とは…

はい、上の「何とかならないものか…」という質問にお答えします😉
まずは、カレンダーのデフォルト表示の設定から。
Advanced setupをONにして、デフォルトで設定されているStart dateを以下のように設定します。

=AddMonths(Max([売上日]),-1)

解説しますと…
Advanced setupMin date, Max dateはカレンダーで最小、最大表示できる期間を指定していて、Start date, End dateはデフォルト表示の期間となっています。
上記で定義したStart dateは、最大の日付(End date = Max(売上日))の1ヵ月前をカレンダー表示の開始日としていますので、直近の月はカレンダーの右側、前月がカレンダーの左側にデフォルト表示されます。このほうが期間を指定しやすくないですか?

次にカレンダーの期間指定を日本語化して見やすくしていきます。
Predefined ranges > Show predefined ranges をONにして、以下のように設定していきます。
※This > Month, Last > MonthのMonthは月ではなく、年(Year)なども選択可能です。
※Last number of は1で設定しています。これはLast > Monthの集計期間ですので、1ですと1ヵ月、3を設定すると3ヵ月です。

設定項目設定内容
Today今日
Yesterday昨日
Last $ days直近
This > Month今月
Last > Month先月

次に Language and labels の設定です。
ここを設定することで、国に合わせて見やすいように表示変更が可能です。

設定項目設定内容
Localeja
FormatYYYY/MM/DD
Default Text日付選択

日付ピッカーの表示の確認

以上の設定で日付ピッカーの表示を確認します。
直近の月が右側、前月が左側に表示され、日付の選択がしやすくなりました。また、日本式の表示になったことで、ユーザにも直感的に理解しやすい表示になっています。

ただ、気づいたことなのですが、直近7日間、直近30日間で選択される期間は今日も含めての日数になっていますよねえ。企業においては、日次処理が多く、通常は昨日までの実績を今日確認するというケースがほとんどだと思うのですが…
なので、今日というのは、Max({1} 売上日)であってほしいと思うのは私だけでしょうか?
直近7日間という場合に一旦選んで、Start dateを一日ずらすなんてことを毎回やっています…
データの最終日から起算した日数で何ら不都合はないと思うんですがね。
できれば改善してほしいものです。

まとめ

日付ピッカーの最適な設定方法をご紹介しました。
デフォルト設定では、期間の指定がしづらかったり、日本人にとっては馴染みのない表示になっていますので、今回ご紹介した設定を行うことで、ダンゼン操作性がよくなります。
まあ、大したことはないんですが、ユーザに対する心配りも大事!っていうことで。

ではまた!

関連記事はこちら
Qlikの日付処理のベストプラクティス〜第1回 Auto Calendar〜
Qlikの日付処理のベストプラクティス〜第2回 カレンダーの切り替え〜
Qlikの日付処理のベストプラクティス〜第3回 前年比較の表現〜

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次