ナレッジベース

特定の日付範囲に対する日付計算の作成


発行: 31 Jan 2013
最終修正日: 25 Aug 2023

ご質問

特定の日付範囲 (過去 n 日、前の週、指定した日付範囲など) のフィルターに使用できる計算フィールドの作成方法。

環境

Tableau Desktop

回答

次の式を、計算フィールド作成のテンプレートとして使用します。次の式では、日付は日付ディメンションの名前です。
 
クリックしてソリューションを展開する

日付範囲のフィルター

過去 n 日間をフィルターする計算フィールドを作成するには、次の式を使用します。

IF [Date] < (today() - <n> + 1) OR [Date] > today() THEN NULL ELSE [Date] END
たとえば、過去 90 日間のデータをフィルターする計算フィールドの式は、次のようになります。
IF [Date] < (today() - 90 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
過去 7 日間の場合の式:
IF [Date] < (today() - 7 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
 
クリックしてソリューションを展開する

週のフィルター

前々週のデータをフィルターするには、次の式を使用します。
IF [Date] > (today() - 8 + 1) OR [Date] <= (today() - 15 + 1)
THEN NULL ELSE [Date] END
過去 8 週間をフィルターするには、次の式を使用します。
IF 
DATEPART('week', [Date]) <DATEPART('week', TODAY()) - 8 
OR 
DATEPART('week', [Date]) > DATEPART('week', TODAY()) -1 
THEN NULL 
ELSE [Date]
END

詳細情報

  • TODAY() の代わりに日付のパラメーター、別のフィールド、または固定日付を使用して、別のアンカー日付を計算の基盤にすることができます。
  • 「関数日付」に記載されている任意の date_part 値を使用して計算を変更し、異なる日付レベルをフィルターできます。

これらの操作手順を確認するには、以下のビデオを参照してください。

注: "Sample - Superstore (サンプル - スーパーストア)" データ ソースの最後の日付は、出荷日ディメンションの 2016 年 1 月 6 日です。つまり、TODAY() を使用することはできませんが、代替を使用します。


この記事で問題は解決しましたか?