Qlik Trainingブログ

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • データロード
  • 可視化・分析
2023.10.25

Qlik Sense SaaSで日本時間を取得しよう!~失敗しないための注意点~

Qlik Sense SaaSを使っている皆さん、こんにちは!
今日は、日本時間を正確に取得する方法についてお話しします。

Qlik Sense SaaSでは、Today関数やNow関数を使用して現在の日付や時刻を取得できますが、
これらの関数は標準時間(UTC/GMT+00:00)を基準にした値を取得します。
そのため、これらの関数をそのまま使うと、日本時間と比較した時に9時間前の値が取得されてしまいます。

しかし、心配しないでください!
この記事では、その問題を解決する方法を詳しく説明します。

補足として、以下の2つのポイントを覚えておいてください。

・どのリージョンでも共通の動作となります。
・オンプレミス(Windows)版を使用している場合は、サーバーの設定を基準にした時刻が
 取得されるため、日本時間とのズレを気にする必要はありません。

目次

※本記事は「2023年10月時点のSaaS」で作成しています。

対象となる関数

まずは、対象となる関数を確認しましょう。
以下は、Qlik Sense SaaSで使える代表的な日付および時刻関数の一覧です。

関数名 説明
Today 現在の日付を取得します。
Now 現在の日時を取得します。
ReloadTime 最終リロード日時を取得します。
LocalTime 指定されたタイムゾーンの、現在の日時を取得します。
GMT 現在のグリニッジ標準時を取得します。
UTC 現在の協定世界時を取得します。


以下は、上記関数を日本時間の「2023/10/13 10:28」に設定した時のキャプチャーです。
その結果、9時間前の時刻が取得されていることが分かります。


また、Qlik Sense SaaSとQlik Sense Enterprise(Windows版)のそれぞれで、現在のタイムゾーンを取得するTimeZone関数を使用してみました。
その結果、Qlik Sense SaaSでは「GMT」のみ取得され、Qlik Sense Enterpriseでは「GMT+09:00」が取得されましたので、Qlik Sense SaaSでは標準時間(GMT+00:00)が取得されていることが分かります。

<Qlik Sense SaaS>

<Qlik Sense Enterprise(Windows版)>

対処法

それでは、日本時間を取得するための対処法をご紹介します。
日本時間を取得するには、ConvertToLocalTime関数を使用します。

<構文例>
 -------------------------------------------
 ConvertToLocalTime([数式],[地域設定])
 -------------------------------------------


日本時間を取得するには、標準時間+9時間をすれば良いので、数式は以下のように修正します。

<修正前>

<修正後>

<修正後の数式>
 ------------------------------------------------
 ConvertToLocalTime(Now(),'GMT+09:00')
 ------------------------------------------------


日本時間として、9時間後の日時が取得できました!

ロード スクリプトの場合も同様に、以下のように修正します。

例えば、以下のロード スクリプトを日本時間の8時にリロードすると、標準時間では前日の23時となるため、Today関数では前日の日付が取得されます。
そのため日本時間でリロードした日よりも、一日前のデータが取得されてしまいます。

<修正前>

そこで、以下のように修正することで、Today関数の結果を日本時間に修正でき、日本時間通りの日付でデータを取得できます。

<修正後>

<修正後の数式>
 ---------------------------------------------------------------------
 Where [売上日] = ConvertToLocalTime(Today(),'GMT+09:00')
 ---------------------------------------------------------------------


なお、アプリやテナント全体で一括して時間の修正を行うことはできないため、各関数を使用している場所に対し、直接修正を行ってください。

さいごに

いかがでしょうか。
この方法を使えば、Qlik Sense SaaSでも正確な日本時間を取得することができます。
特に、オンプレミス環境からアプリを移行する場合や、ロード スクリプトのWhere句に日付や時刻の関数を使用している場合は、時間のズレに注意してください。

正確な時間情報は、データ分析やレポート作成に欠かせない要素の一つです。
是非、参考にしてみてください!

関連している記事

  • Qlik Cloud
  • Qlik Sense
  • その他
2024.07.10

Qlik Connect 2024 に参加してきました!

今年は6月3日から5日にかけてフロリダ州オーランドでQlik Connect 2024が開催されました。 弊社アシストからは3名が参加しましたので、今回はその模様をお送りします。

  • Qlik Cloud
  • 運用者
  • データ統合
2024.07.04

新しいデータ統合の手法「ELT」をQlikで実現!ETLとの違いとは?

効率的なデータ分析を行うには必要データを収集統合することが必要です。 また最近では発生したデータをリアルタイムに使いたいとの要望も増えています。 本記事ではこのような課題に対し、Qlikが新たに対応したELTというデータ統合の手法についてご紹介します。

  • Qlik Cloud
  • Qlik Sense
  • 開発者
  • データロード
2024.06.27

複数のGoogleスプレッドシートを一括でQlik Sense SaaSのアプリに読み込みたい!

複数のGoogleスプレッドシートを一括で読み込む方法を紹介します。

ページの先頭へ戻る