タイムスタンプの構成

Oracle Analyticsでは、日時の計算に使用されるデフォルトのタイム・ゾーンを管理者が「システム設定」で設定します。このグローバル設定はすべての計算に適用されます。このトピックでは、特定の計算に別のタイムスタンプを使用する場合に、TIMESTAMPADD関数を使用して別のタイム・ゾーンを指定する方法を説明します。

システム設定に計算のデフォルトのタイム・ゾーンを設定する

デフォルトでは、Oracle Analytics Cloudのシステム時間は、UTC時間がベースになっています。次の関数では、UTCの日時を使用して値が返されます:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

管理者は、コンソールの「詳細システム設定」の下にある「日付計算のデフォルト・タイム・ゾーン」オプションを使用して、計算に使用するタイムスタンプを変更できます。ドロップダウン・リストから必要なタイム・ゾーンを選択し、新しい値に変更を適用して有効にします。

GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.pngの説明が続きます
.pngの説明

グローバル・タイム・ゾーンの設定の詳細は、システム設定 - 形式オプションに関する項を参照してください。

計算のタイムスタンプに特定のタイム・ゾーンを使用する

計算でシステム設定以外のタイムスタンプを生成するには、TIMESTAMPADD関数をCURRENT_TIMESTAMP()またはNOW()とともに使用します。基本的なTIMESTAMPADDの計算は次のとおりです:

TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)

タイムスタンプの計算では、HOURが間隔で、時間オフセットは、UTCとレポートされるタイム・ゾーンとの時差です。例:

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

この計算では、現在のタイムスタンプがアメリカ山地標準時で返されます。新しいタイムスタンプ列は、導出列として論理表ソースに作成することも、データベースに直接マップすることもできます。この違いは計算が実行される場所(Oracle Analyticsかデータベースのどちらか)にあります。次の図は、「式ビルダー - 式」ダイアログでデータベースに直接マップされている計算を示しています。

GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpgの説明が続きます
.jpgの説明

デフォルトのタイム・ゾーンがUTCに設定されていると、ユーザーのタイム・ゾーンに相対する1日のうちの特定の時間帯に、CURRENT_DATE関数で正しい日付が返されません。たとえば、UTCが午前0時のとき、ローカル日付が、時間オフセットの期間のUTC日付に一致しません。

タイムスタンプの計算を日付としてキャストすると、この問題を解決できます。例:

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

次の図は、「式ビルダー - 派生論理列」ダイアログで派生列として作成されている計算を示しています。

GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpgの説明が続きます
.jpgの説明

一意または唯一のレポートでは、データ・ビジュアライゼーションとクラシック分析のいずれかのレポート・レベルで、タイムスタンプの計算を作成できます。計算を再利用する予定の場合は、セマンティック・モデル(またはRPDファイル)の列として計算を定義する方が簡単なことが多いです。

このトピックで説明されている関数の詳細は、「日付と時間関数」および「時系列関数。」を参照してください