週ベースの ISO-8601 暦
週ベースの ISO-8601 暦は、日付関連データの国際標準です。ISO-8601 暦の目的は、日付を表現して計算するための一貫した明快な方式を提供することです。ISO-8601 暦では、日付を年、四半期、週、曜日に分割します。グレゴリオ暦とは異なり、ISO-8601 暦では、各四半期の週数は一定であり、各週の日数も一定です。このため、小売や金融の日付を計算する際には、ISO-8601 歴がよく使用されます。
ISO-8601 を既定のカレンダーとして設定
データ ソースで ISO 8601 暦を設定するには、次の手順に従います。
- [データ] ペインでデータ ソースを右クリック (Mac では Control を押しながらクリック) して、[日付のプロパティ] ダイアログ ボックスを開きます。
- [デフォルトのカレンダー] フィールドを [ISO-8601 週ベース] に設定します。
シェルフの各日付フィールドで個別にカレンダーのタイプを設定できます。シェルフで日付ディメンションを右クリックし (Mac では Ctrl を押しながらクリック)、[週ベース (ISO-8601)] を選択します。
ISO-8601 暦と標準的なグレゴリオ暦の相違点
会計カレンダーでは、すべての日付レベルが関連するわけではありません。
グレゴリオ暦 | ISO-8601 | 暦の違い |
---|---|---|
年 | ISOYEAR | ISO-8601 の年は、常に 1 月 1 日に最も近い最初の月曜日から始まります。つまり、1 年の始まりは 12 月 29 日から 1 月 4 日の間であればどこでもよいことになります。グレゴリオ暦では、常に 1 月 1 日が 1 年の始まりです。このため、これらの日付の前後では、2 つの暦体系の間で年の不一致が生じる場合があります。ISO-8601 の各年は、ISO-8601 年の開始日に応じて、52 週または 53 週の、長い年または短い年のいずれかになります。 |
四半期 | ISOQUARTER | ISO-8601 の最初の 3 つの四半期は常に 13 週です。最後の四半期は、13 週 (短い年) または 14 週 (長い年) のいずれかになります。 |
月 | 週ベースの ISO-8601 暦では、月を使用しません。多くの小売や金融のシステムでは、ISO-8601 の四半期を 4 週、4 週、5 週の 3 つのセグメントに分割していますが、別の「月」パターンも存在します。これらは、計算で定義できます。「4-4-5 カレンダーの作成」を参照してください。 | |
週番号 | ISOWEEK | 週ベースの ISO-8601 暦では、すべての週は正確に 7 日間あり、月曜日から始まります。1 つの週が複数の年にまたがることを許容するグレゴリオ暦とは異なり、各週は 1 つの年に属します。長い年は 53 週、短い年は 52 週です。 |
日 | 週ベースの ISO-8601 暦では、数字の日 (14 日や 23 日など) は使用しません。 | |
曜日 | ISOWEEKDAY | ISO-8601 の曜日は常に月曜日から始まり、1 桁で表されます。月曜日は 1、火曜日は 2、日曜日は 7 までです。 |
ISO-8601 をサポートする日付関数
以下の日付関数は、週ベースの ISO-8601 暦と互換性があります。
DATEADD および DATEDIFF
非 ISO-8601 の日付部分 (day
または month
) が使用されている場合、結果は ISO-8601 日付を最も近い ISO レベルに切り捨てられます。たとえば、ISO-8601 の日付に 1 か月を足すと、iso-week
が変更されます。
DATENAME
iso-year
、iso-quarter
、iso-week
、iso-weekday
の日付部分を使用しない限り、結果はグレゴリオ暦の日付になります。
DATEPART
iso-year
、iso-quarter
、iso-week
、iso-weekday
の日付部分を使用しない限り、結果はグレゴリオ暦の日付になります。
DATETRUNC
ISO-8601 日付を最も近い ISO レベルに切り捨てます。たとえば、ISO-8601 では月を使用しませんが、「月」で ISO 日付を切り捨てると、グレゴリオ月の最初の iso-week
が表示されます。
4-4-5 カレンダーの作成
週ベースの ISO-8601 暦では、月を使用しません。多くの小売や金融のシステムでは、ISO-8601 の四半期を 4 週、4 週、5 週の 3 つのセグメントに分割していますが、別の分割方式も存在します。
これらの手順に従い、Tableau Desktop での 4-4-5 カレンダーの実装方法を学習します。
ステップ 1: ビジュアライゼーションの設定
- Tableau Desktop を開き、保存済みの "Sample - Superstore (サンプル - スーパーストア)" データ ソースに接続します。
- [データ] ペインでデータ ソースを右クリックして、[日付のプロパティ] ダイアログ ボックスを開きます。[デフォルトのカレンダー] を [ISO-8601 週ベース] に変更します。
- [データ] ペインから [オーダー日] を [行] シェルフにドラッグします。
- [行] シェルフで ISOYEAR(オーダー日) の「+」アイコンをクリックし、ISOQUARTER(オーダー日) を展開します。
- [データ] ペインから、[売上] を [列] シェルフにドラッグします。
ステップ 2: 各四半期の週数の確認
4-4-5 分割カレンダーでは、各四半期は 4 週または 5 週の 3 つのセグメント (月に相当) に分割されます。各四半期をセグメントに分割するには、各四半期が何週であるかを調べなければなりません。
- [分析] > [計算フィールドの作成] を選択します。
- 計算フィールドに「四半期の週」という名前を付けます。
- 計算ダイアログに次の計算を入力します。
DATEPART('iso-week', [オーダー日]) - (DATEPART('iso-quarter', [オーダー日])-1)*13
ステップ 3: 4-4-5 カレンダー計算の作成
- [分析] > [計算フィールドの作成] を選択します。
- 計算フィールドに「4-4-5 セグメント」という名前を付けます。
- 計算ダイアログに次の計算を入力します。
IF([四半期の週] <= 4) THEN "1" ELSEIF ([四半期の週] <= 8) THEN "2" ELSE "3" END
- データ ペインから、[4-4-5 セグメント] 計算フィールドを [行] シェルフにドラッグします。
結果の Viz では、各四半期が 3 つのセグメントに分割されています。
パターンの修正
4-4-5 セグメントの計算では、<=4
と <=8
のカットオフは 4-4-5 パターンに由来しています。
1 番目のセグメントのカットオフは、最初の 1 ~ 4 週で <=4
です。2 番目のセグメントのカットオフは、5 ~ 8 週を含む <=8
です。残りの 9 ~ 13 週は ELSE 部分に取り込まれます。IF ステートメントは条件が真になるまで計算されるため、2 番目のセグメントは上限のみを指定する必要があります。
これらのカットオフは、他のパターンで変更できます。具体的には次のとおりです。
- 4-5-4 カットオフ:
4
(最初の 4 週は 1 ~ 4) および9
(次の 5 週は 5 ~ 9) - 5-4-4 カットオフ:
5
および9
関連項目