ナレッジベース

会計年度での日付関数の使用 (英語)


発行: 28 Jun 2013
最終修正日: 03 Jan 2024

問題

DATEPART() などの日付関数を使用すると、会計年度の開始が無視されます。

たとえば、会計年度が 2 月に設定されている場合は、2 月が最初の月であったとしても、DATEPART('month', #2/1/2022#) は 2 を返します。

環境

Tableau Desktop

解決策

実際の日付を対応する相対日付にシフトするには、DATEADD('month',...) を使用します。たとえば、2 月が会計年度内の最初の月である場合、2 月は次の 1 月にシフトされます。詳細については、後の「追加情報」セクションを参照してください。
 
クリックして手順を展開する
例 1: 会計年度、四半期、または月数を見つける
  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに「Fiscal Year Number (会計年度数)」という名前が付けられています。
    2. 式フィールドで、次のような計算を作成します。
      DATEPART('year' DATEADD('month', 11, [Order Date]) )
    3. : 上の計算の 'year' を、必要に応じて 'quarter' または 'month' に置き換えてください。11 を適切なオフセットに置き換えてください。詳細については、「追加情報」を参照してください。
  3. 会計年度数を必要とする計算で [Fiscal Year Number (会計年度数)] を使用します。
  4. (オプション) 新しく作成された計算フィールドをビュー内の他の日付フィールドで使用するには、ディメンションに変換します。 
次のビデオで説明されているステップを表示するには、上記セクションを展開します。注: ビデオに音声はありません。
 
クリックして手順を展開する
例 2: 会計週数を取得する
  1. [分析] > [計算フィールドの作成] を選択します。
  2. 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
    1. 計算フィールドに名前を付けます。この例では、計算フィールドに「First fiscal day (最初の会計日)」という名前が付けられています。
    2. 式フィールドで、次のような計算を作成します。
      DATE( "2/1/" + STR( YEAR( DATEADD( 'month', 11, [Order Date] ))))
    3. 注: 11 を適切なオフセットに、"2/1/" を会計年度の正しい最初の日に置き換えてください。詳細については、「追加情報」を参照してください。
  3. 「Fiscal Week Number (会計週数)」などの名前を付けて、次のような計算の計算フィールドを作成します。
    DATEDIFF('week',[First fiscal day],[Order Date]) +1
    
  4. 会計週数を必要とする計算で [Fiscal Week Number (会計週数)] を使用します。
  5. (オプション) 新しく作成された計算フィールドをビュー内の他の日付フィールドで使用するには、ディメンションに変換します。 
次のビデオで説明されているステップを表示するには、上記セクションを展開します。注: ビデオに音声はありません。
 

原因

日付関数は現在、設計上、カレンダー年に基づいて値を返します。

詳細情報

どのような日付シフトを使用するか

会計年度の標準の定義では、その会計年度内の最後の月のカレンダー年度数を使用します。2022 年 2 月 1 日から 2023 年 1 月 31 日までの会計年度は FY 2023 と呼ばれます。この標準では、日付を次のカレンダー年内の対応する相対日付にシフトする必要があります。

たとえば、日付 #2/1/2022# は #1/1/2023# にシフトする必要があります。これにより、DATETRUNC('month', DATEADD('month', 11, [元の日付フィールド] ) ) は、正しい月数 (1) と正しい年度数 (2023) を返すことができるようになります。
 
会計年度の開始月追加する月数
2 月11
3 月10
4 月9
5 月8
6 月7
7 月6
8 月5
9 月4
10 月3
11 月2
12 月1


  • DATETRUNC('<日付部分>', DATEADD('month', N, [日付フィールド] )) は他の計算フィールドで役立ちますが、紛らわしいことがあるため、これをエンド ユーザーに公開する場合は注意が必要です。これは正しい日付グループ化を返しますが、正確な日付がカレンダー日付と一致しません。たとえば、DATETRUNC('quarter', DATEADD('month', 11, [注文日] )) = #1/1/2023# は正常に 2022 年 2 月、2022 年 3 月、2022 年 4 月を返しますが、エンド ユーザーは #1/1/2023# で混乱する可能性があります。
  • 会計週の場合は、月を単に翌年の対応する相対月にシフトしただけであると、曜日がシフト先の月内の週でグループ化されるため、異なる計算が必要です。 
  • この解決策では標準のカレンダー日付グループ化を使用し、それらに新しい会計名を付けます。一部の会計年度システムでは異なる日付グループ化を使用します。他の解決策については、「ISO-8601 の日付関数を使用した 4-4-5 カレンダーの作成」または「会計年度を月の途中の日付として設定する」を参照してください。 

この拡張機能を今後の製品リリースに組み込むことへの支持を表明するには、Community Idea「Make Date functions work when setting fiscal year different than January (1 月とは異なる会計年度を設定した場合に日付関数を動作させる)」に投票してください。



この記事についてディスカッションする...フィードバック フォーラム
この記事で問題は解決しましたか?