カスタム日付ディメンションを管理する

カスタム日付ディメンションを使用すると、GoodData ワークスペースで独自の会計年度ディメンションを使用してデータをロードおよび更新できます。 たとえば、ワークスペースの会計年度が 4 月 1 日に開始する場合は、4 月のカスタム日付ディメンションを使用します。

カスタム日付ディメンションについて

カスタム日付ディメンションは、日付データセットによってワークスペースデータ論理モデル(LDM)で表されます(論理データモデル内の日付を参照)。これは、urn:custom_v2:date 日付ディメンションテンプレートが基になっています。 初期設定では、このテンプレートはグレゴリオ暦で 01/01/1900 から 12/31/2050 までのデータを含みます。

ワークスペースで 1 つまたは複数の日付ディメンションが必要かどうか(たとえば、購入日と納入日を区別する場合)に応じて、カスタム日付ディメンションを持つ 1 つまたは複数の日付データセットを作成できます。 いつでもワークスペースに別のカスタム日付ディメンションを追加して、すぐに使用を開始できます。

カスタム日付ディメンションを使用時には、以下のオプションが使用できます:

  • カスタム日付ディメンションをそのまま(初期設定のグレゴリオ暦で 01/01/1900 から 12/31/2050 まで)使用する。
  • カスタム日付ディメンションをカスタマイズ:
    • 任意の月に会計年度が始まるように(例えば会計年度の始まる 4 月)カレンダーをアップロード
    • 自分のカレンダーをアップロード

必要に応じて、別の予定表をアップロードし、ワークスペース内の既存のカスタム日付ディメンションをカスタマイズできます。 メトリックまたはレポートでこの日付ディメンションを使用している場合、自動的にアップデートされます。

拡張日付ディメンション

既定では、urn:custom_v2:date日付ディメンションテンプレートには、グレゴリオ暦カレンダーのデータ 01/01/1900 から 12/31/2050 が含まれています。 カスタムカレンダーの日付ディメンションは、デフォルトの範囲を超えて、01/01/1900 から 12/31/2100 まで拡張できます。 ただし、定義範囲が広い場合はパフォーマンスが低くなることがあります。 カスタム日付ディメンションを使用する際のパフォーマンスを改善するには、データや分析ユースケースの範囲を必要最低限に収めてください。 例えば、2010 から 2030 のみ分析が必要な場合、カスタムディメンションはその日付にしておきます。

日付を最大 12/31/2100 までカバーする必要があるが、潜在的なパフォーマンスの問題を回避するには、urn_custom_v2_date_2100.csv.zipをダウンロードしてください。 この日付ディメンションテンプレートには、01/01/1950 から 12/31/2100 までの日付が含まれています。

過去の日付ディメンション

以下の日付ディメンションは使用できますが、新規導入では推奨していません:

  • urn:custom:date: この日付ディメンションはurn:custom_v2:date 日付ディメンションに似ており、Analytical Designer と KPI ダッシュボードの日付フィルターで前年の同期間の週と比較するオプションをサポートしない以外はurn:custom_v2:date のすべての機能を提供します。
  • urn:gooddata:date: この日付ディメンションは初期設定のグレゴリオ暦カレンダーの 01/01/1900 から 12/31/2050 までを含み、カスタム財務カレンダー用にカスタマイズできません。

過去の日付ディメンションを使用していて、urn:custom_v2:date 日付ディメンションに移行したい場合、過去の日付ディメンションから urn:custom_v2:date へ移行を参照してください。

カスタム日付ディメンションをワークスペースに追加する

ワークスペースにカスタム日付ディメンションを追加するには、ワークスペースの論理データモデル(LDM)に日付データセットを追加します。

手順:

  1. ワークスペースで、データタブに切り替えます。

  2. 最上部のモデルをクリックします。 論理データモデルが表示されます。

  3. 編集をクリックします。

  4. 左側パネルから日付をドラッグし、キャンバスエリアにドロップします。 urn:custom_v2:date 日付ディメンションをベースにした日付データセットが追加されました。 初期設定では、「日付」という名前になります。 

  5. データセットの名前を入力します。

  6. 日付ごとに分析したい日付データセットと他のデータセットの間でリレーションを作成します。

    1. 日付データセットを選択します。
    2. 日付データセット右側の青色の点をクリックし、矢印をドラッグして、日付データセットと他のデータセットを接続します。 リレーションが作成されました。
  7. LDM を公開する(実行する手順については論理データモデルを公開を参照)。 パブリッシュするときは、データを保持モードを使用して、ワークスペースにロードされたデータが削除されないようにします。

グレゴリオ暦データ(GoodData のデフォルトカレンダー)を含むurn:custom_v2:date 日付ディメンションがワークスペースに追加されました。

MAQL DDL スクリプトを使用してカスタム日付ディメンションを含める

API を使用して、カスタム日付ディメンションをワークスペースに追加できます。

API で、 MAQL DDL スクリプトを実行する以下のリクエストを使用します:

{ "manage": { "maql": "INCLUDE TEMPLATE \"urn:custom_v2:date\"" } }

この API は、デフォルトのグレゴリオ暦データを含むurn:custom_v2:date 日付ディメンションをワークスペースに追加します。

カスタムカレンダーで urn:custom_v2:date をアップデートする

初期設定では、urn:custom_v2:date は初期設定カレンダー(グレゴリオ暦カレンダーの 01/01/1900 から 12/31/2050 まで)を含みます。 初期設定のカレンダーを使用しない場合、カスタムカレンダーでカスタム日付ディメンションをアップデートします。

  1. カレンダー必要条件を使って CSV ファイルを準備します。
  2. ユーザー指定のストレージに CSV ファイルを移行します。
  3. ロードタスクを実行します。

カレンダー必要条件を使って CSV ファイルを準備

財務年度のカレンダー を任意の月で始まるようにするか、または独自のカレンダーを作成して使用するかを選択できます。

以前アップロードした他のカレンダーから初期設定カレンダー(グレゴリオ暦カレンダーの 01/01/1900 から 12/31/2050 まで)に戻ることも可能です。

任意の月を財務年度開始に指定してカレンダーを使用

財務年度がどの月から開始するかを元に、日付ディメンションの CSV をダウンロードします:

CSVファイル
1月urn_fcjan1_v2_date.csv.zip
2月urn_fcfeb1_v2_date.csv.zip
3月urn_fcmar1_v2_date.csv.zip
4月urn_fcapr1_v2_date.csv.zip
5月urn_fcmay1_v2_date.csv.zip
6月urn_fcjun1_v2_date.csv.zip
7月urn_fcjul1_v2_date.csv.zip
8月urn_fcaug1_v2_date.csv.zip
9月urn_fcsep1_v2_date.csv.zip
10月urn_fcoct1_v2_date.csv.zip
11月urn_fcnov1_v2_date.csv.zip
12月urn_fcdec1_v2_date.csv.zip

独自のカレンダーを使用

カスタム財務カレンダー必要条件を含む CSV ファイルを作成します。 初期設定カレンダー(urn_custom_v2_date.csv.zip)で CSV ファイルをダウンロードし、ニーズに合うようにアップデートします。

あなたの CSV ファイルは以下の必要条件を満たすようにしてください:

  • ファイルは事前定義の順番で並んでいる列(下の表にあるように正確に)と値の例を含みます。
  • 最大 50 文字までの列。
  • 列ヘッダーは、displayForm(属性ラベル)の属性識別子を表します。
  • 行はdate.day.yyyy_mm_ddで並べ替えられる。
  • 以下の制約はいくらかの列で満たされます(下の表を参照): 
    • 増加するシーケンス(日付列): 2つの真に後続するレコードの差は、正確に1になる必要があります。
    • 非減少の繰り返しシーケンス(月内の日、曜日など): 以下の二つの厳正な記録で、a および b は以下の条件の一つを満たしていなければいけません:
      • b=a
      • b=a+1
      • bはシーケンスで最小値と等しい(例えば、シーケンス(5,5,6,6,7,7,1,2,3,3,3,3,1,2,3,4,5) は有効)。
    • 非減少の繰り返しシーケンス(月内の日、曜日など): 以下の二つの厳正な記録で、a および b は以下の条件の一つを満たしていなければいけません:
      • b=a
      • b=a+1
ラベルの識別子値のパターン制約
date.day.yyyy_mm_ddyyyy-MM-dd1900-12-31増加するシーケンス
date.day.uk.dd_mm_yyyy 31/12/1900 
date.day.us.mm_dd_yyyy 12/31/1900 
date.day.eu.dd_mm_yyyy 01-01-1900 
date.day.us.long Mon, Jan 1, 1900 
date.day.us.m_d_yy 1/1/00 
day.in.euweek.short  
day.in.euweek.number[a-zA-Z_ ]*[0-9]1繰り返しシーケンス
day.in.euweek.long 月曜日 
day.in.year.default[a-zA-Z_ ]*[0-9]D1繰り返しシーケンス
quarter.in.year.default[a-zA-Z_ ]*[0-9]Q1繰り返しシーケンス
month.in.quarter.number[a-zA-Z_ ]*[0-9]M1繰り返しシーケンス
month.in.year.short 1月 
month.in.year.m_q M1/Q1 
month.in.year.number[a-zA-Z_ ]*[0-9]M1繰り返しシーケンス
month.in.year.long 1月 
week.wk_qtr_year W1/Q1/1900 
week.from_to Dec 31, 1899 - Jan 6, 1900 
week.starting Wk. of Sun 12/31/1899 
week.wk_year_cont W53/1899 - W1/1900 
week.wk_year W1/1900非減少のシーケンス
week.wk_qtr_year_cont W14/Q4/1899 - W1/Q1/1900 
euweek.wk_qtr_year W1/Q1/1900 
euweek.from_to Jan 1, 1900 - Jan 7, 1900 
euweek.starting Wk. of Mon 01/01/1900 
euweek.wk_year_cont W1/1900 
euweek.wk_year W1/1900非減少のシーケンス
euweek.wk_qtr_year_cont W1/Q1/1900 
week.in.year.number_us[a-zA-Z_ ]*[0-9]W1繰り返しシーケンス
day.in.week.short  
day.in.week.number[a-zA-Z_ ]*[0-9]2繰り返しシーケンス
day.in.week.long 月曜日 
week.in.quarter.number_us[a-zA-Z_ ]*[0-9]W1繰り返しシーケンス
euweek.in.quarter.number_eu[a-zA-Z_ ]*[0-9]W1繰り返しシーケンス
day.in.quarter.default[a-zA-Z_ ]*[0-9]D1繰り返しシーケンス
month.short Jan 1900 
month.number 1/1900非減少のシーケンス
month.long January 1900 
day.in.month.default[a-zA-Z_ ]*[0-9]D1繰り返しシーケンス
year.default 1900非減少のシーケンス
euweek.in.year.number_eu[a-zA-Z_ ]*[0-9]W1繰り返しシーケンス
quarter.short_us Q1/1900非減少のシーケンス
year.for.week.number 1900非減少のシーケンス
year.for.euweek.number 1900非減少のシーケンス
quarter.for.week.number Q1/1900非減少のシーケンス
quarter.for.euweek.number Q1/1900非減少のシーケンス

初期設定のカレンダーを使用

カレンダーを初期設定に戻したい場合、 urn_custom_v2_date.csv.zipをダウンロードします。 この日付ディメンションは、urn:custom_v2:date 日付ディメンション(グレゴリオ暦 01/01/1900 から 12/31/2050)の初期設定カレンダーに一致します。

CSV ファイルをユーザー指定のストレージに移動

手順:

  1. CSV ファイルをジップします。 アーカイブファイルには、zip 拡張子を持たない zip ファイルと同じ名前を持つファイルを少なくとも一つ含まなければいけません。 例えば、アーカイブファイル urn_fcnov1_v2_date.csv.zipurn_fcnov1_v2_date.csv を含みます。
  2. アーカイブファイルをデータストレージ(ユーザー固有のデータストレージを参照)に保存。

ロードタスクを実行

手順:

  1. 日付ディメンションをアップロードする API を使用:

    • API リソース:https://secure.gooddata.com/gdc/md/{workspace_id}/datedimension/pull

    • メソッド:ポスト

    • リクエスト本体:

      { "dateIntegration": { "file": "/path/to/archive/file.zip", "datasets": [ "{date_dataset_identifier}" ] } }
      
      • /uploads セクションをファイルパスに含めないでください。 例えば、ファイル名がurn_fcapr1_v2_date.csv.zip で、/uploads/ に保存されている場合、/urn_fcapr1_v2_date.csv.zip というパスを入力します。
      • {date_dataset_identifier} は、CSV ファイルをアップロードしたい日付データセットを特定します。 例えば、date1.dataset.dt
    • ヘッダーをリクエスト:

      Content-Type:application/json Accept:application/json
      

    タスクが実行され、タスクステータスを引き出すリンクが返されます。

  2. OK タスクステータスが返されるまでステータスを引き続けます。 カスタム日付ディメンションは選択されたカレンダーでアップデートされます。

 

API を使用する代わりに、グレイページを使ってカスタム日付ディメンションをアップデートできます:

https://secure.gooddata.com/gdc/md/{workspace_id}/datedimension/pull

ライフサイクル管理(LCM)とカスタム日付ディメンション

ライフサイクル管理(ライフサイクル管理によるワークスペースの管理を参照)はカスタム日付ディメンションをサポートします。

  • マスターワークプレースにカスタム日付ディメンションが含まれる場合、このマスターワークプレースから作成されたクライアントワークスペースはこのカスタムディメンションを継承します。ただし、マスターワークペースの日付ディメンションにあるカレンダーに関わらず、初期設定のグレゴリオ暦カレンダーが含まれます。 必要に応じて、クライアントのワークスペースにあるカスタム日付ディメンションに異なるカレンダーをアップロードできます。 このカレンダーは同期時に上書きされません。
  • 同セグメント内の異なるクライアントワークスペースにあるカスタム日付ディメンションで、異なるカレンダーを利用できます。 マスタースペースとクライアントワークスペースにあるカスタム日付ディメンションのカレンダーを統一化する必要がある場合、各ワークプレースのカスタムディメンションに個別にターゲットカレンダーをアップロードしてください。

過去の日付ディメンションから urn:custom_v2:date へ移行

urn:custom_v2:date に移行する理由

Analytical Designer と KPI ダッシュボードを使用している場合、 urn:custom_v2:date 日付ディメンションに切り替えることをお勧めします。 urn:custom_v2:date 日付ディメンションを使用すると、日付フィルターで前年の同期間のデータと比較するオプションを使用することができます(例えば、2018 年第 25 週と 2017 年の第 25 週のデータを比較)。 データを前年の同期間と比較した場合、週は別の日付になる場合があります。 一週間が二年、または二つの四半期にまたがる場合(前年/前四半期に開始、今年/今四半期に終了)、この週がどの年/四半期に所属するか定義する基準を確定する必要があります。 urn:custom_v2:date 日付ディメンションはこれらの例で使用できます。

Analytical Designer と KPI ダッシュボードの日付フィルターの詳細については、Analytical Designer のフィルター および ダッシュボード内の日付フィルターを参照してください。

urn:custom_v2:date に移行した場合のデータへの影響

urn:custom_v2:date にあるその他の列

過去の日付ディメンションと比較すると、urn:custom_v2:date には追加の列が 4 つ含まれます:

  • year.for.week.number
  • year.for.euweek.number
  • quarter.for.week.number
  • quarter.for.euweek.number

これらの列は、週日付フィルターで前年の同期間のデータを比較するオプションを有効にします。 これらの列は Analytical Designer や KPI ダッシュボードの UI では非表示で、Extensible Analytics Engine(XAE)でのみレポート計算時に使用されます。

一週間が二年、または二つの四半期にまたがる場合(前年/前四半期に開始、今年/今四半期に終了)、この週がどの年/四半期に所属するかは以下のように確定します:

  • year.for.week.number および quarter.for.week.number: 週は、土曜日が含まれる年に所属する。
  • year.for.euweek.number および quarter.for.euweek.number: 週は、木曜日が含まれる年/四半期に所属する。

urn:custom_v2:date に移行後、以下が予想されます:

  • euweek.in.year.number_eu は ISO 8601(つまり、週は木曜日が含まれる年に所属するということ);一年には 52 週(「週ベース年」で閏年では 53 週)あるという考えに準じて計算されます。
  • week.in.year.number_us は日曜日に始まり、週の最後の日が含まれる年に所属します。
  • euweek.in.quarter.number_eueuweek.in.year.number_euと一致します:
    • 一年の最初の週は、四半期の最初の週です。
    • 各四半期には 13 週(「週ベース年」で閏年では最終四半期は 14 週)。
  • week.in.quarter.number_usweek.in.year.number_us と一致し、ヨーロッパの週と同じルールに従いながら、US データを使用します。

異なる属性ラベルの識別子

urn:gooddata:date 日付ディメンションと比較すると、urn:custom_v2:date は異なる属性ラベルの識別子(displayForm)を含みます。

  • API を使用して GoodData プラットフォームにデータをロードすると(REST API 経由でデータを読み込むを参照)、SLI マニフェストが新しい識別子でアップデートされます。
  • CloudConnect グラフ経由で GoodData プラットフォームにデータをロードする場合、グラフ内の GD Dataset Writer コンポーネントでフィールドマッピングを確認してください。

1900 年の第一週目は削除

urn:gooddata:date 日付ディメンションと比較すると、urn:custom_v2:date 日付ディメンションは 1900(1900-01-01 – 1900-01-07)の第一週を含んでいません。

異なる日付集計の計算方法

urn:gooddata:date の日付ディメンションと比較すると、 urn:custom_v2:date の日付ディメンションでは異なる日付集計方法が使用されます。

たとえば、最新の年を返すメトリック(SELECT MAX(Year))は、実際の年ではなく、年に対応する属性値の ID を返します(例:121 を返し、 2020を返さない)。

実際の年を表示する必要がある場合は、メトリックを更新します:

  1. 年の属性値の ID と等しい数値を減算します。 これを行うには、右側のメニューで属性値から対応する年を選択します。 カスタムメトリックエディターでメトリックを編集する方法については、MAQL を使ってメトリックを書き始めるを参照してください。
  2. 年に等しい数値を追加します。

例えば 2020 年では、更新されたメトリックは次のようになります。

過去の日付ディメンションから urn:custom_v2:date へ移行

urn:gooddata:date または urn:custom:date 日付ディメンションからurn:custom_v2:date 日付ディメンションにワークスペースの日付データセットを移行するには、日付データセットをカスタム日付ディメンションに移行するための API を使用します。 日付データセットをすべて一度に、または少数のみ移行できます。

LCM を使用してマスターワークスペース内の日付データセットを urn:custom_v2:date に移行する場合、次回の同期時以降にこのマスターワークスペースから作成されたクライアントワークスペースでは、このカスタムディメンションが継承されます。

urn:custom:date 用の任意の月に始まる財務年度カレンダー

urn:custom:date 日付ディメンションを使用して、カスタムカレンダーに適用する必要がある場合、財務会計年度が何月に始まるかにより CSV ファイルを選択します。