最終修正日: 05 Jun 2023
環境
Tableau Desktop回答
クリックしてソリューションを展開する
オプション 1: データソースの 2 つの日付フィールド間の平日の数をカウントする
ステップ 1: 計算フィールドの作成
- [分析] > [計算フィールドの作成] を選択
- 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
- 計算フィールドに名前を付けます。この例では、計算フィールドに "Order Date (shifted to weekday) (注文日 (平日にシフト))" という名前を付けます。
- 式フィールドで、次のような計算を作成します。
IF DATEPART('weekday', [Order Date]) = 1
THEN DATEADD('day', 1, [Order Date])
ELSEIF DATEPART('weekday', [Order Date]) = 7
THEN DATEADD('day', 2, [Order Date])
ELSE [Order Date]
END
- "Ship Date (shifted to weekday) (出荷日 (平日にシフト))" などの名前を付けて、次のような計算の計算フィールドを作成します。
IF DATEPART('weekday', [Ship Date]) = 1
THEN DATEADD('day', -2, [Ship Date])
ELSEIF DATEPART('weekday', [Ship Date]) = 7
THEN DATEADD('day', -1, [Ship Date])
ELSE [Ship Date]
END - "# of Weekdays from Order to Shipping (注文から出荷までの間の平日の数)" などの名前を付けて、次のような計算の計算フィールドを作成します。
MIN(
DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
+ 1
- 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
)
ステップ 2: ビューの作成
- "Order ID (注文 ID)" を [行] シェルフまでドラッグします。
- オプション: [注文日] と [出荷] 日を [行] シェルフにドラッグします。
- "# of Weekdays from Order to Shipping (注文から出荷までの間の平日の数)" を [マーク] カードの [テキスト] にドラッグします。
クリックしてソリューションを展開する
オプション 2: 毎月の平日の数を 1 つの日付フィールドについてカウントする
この例では、サンプルのデータセット "Superstore (スーパーストア)" を使用して、毎月の平日の数を注文日用に計算します。
- [分析] > [計算フィールドの作成] を選択
- 開いた [計算フィールド] ダイアログ ボックスで次の操作を行い、[OK] をクリックします。
- 計算フィールドに名前を付けます。この例では、計算フィールドに "Start of Month Date (月初めの日)" という名前を付けます。
- 式フィールドで、次のような計算を作成します。
DATETRUNC('month', [Order Date])
- "End of Month Date (月末の日)" などの名前を付けて、次のような計算の計算フィールドを作成します。
DATEADD('day', -1, DATEADD('month', 1, DATETRUNC('month', [Order Date])))
- オプション 1 に従って、[注文日] ではなく "Start of Month Date (月初めの日)" を、[出荷日] ではなく "End of Month Date (月末の日)" を使用します。
クリックしてソリューションを展開する
オプション 3: 祝日を除いて平日の数を数える
この例では、サンプルのデータセット "Superstore (スーパーストア)" を使用して、注文日と出荷日の間の曜日の数を注文ごとに計算します。
ステップ 1: データの設定
- 祝日の日付のリストが含まれている元のデータ ソースに表を追加します。この例では、"Holidays (祝日)" という名前の表です。
- Tableau Desktop で [データ ソース] タブに移動します。
- 表 "Holidays (祝日)" をキャンバス エリアに追加します。
- [結合] ダイアログで次のように実行します。
- [左] を選択する
- [データ ソース] で、[注文日] を選択する
- "Holidays (祝日)" で "Holiday Date (祝日の日付)" を選択する
- 等号をクリックし、[<=] を選択する
- [データ ソース] で、[新しい結合句の追加] をクリックして、[出荷日] を選択する
- "Holidays (祝日)" で "Holiday Date (祝日の日付)" を選択する
- 等号をクリックし、[>=] を選択する
注: [注文日] と [出荷日] はそれぞれ実際の開始日と終了日で置き換える必要があります。開始日と終了日が計算フィールドである場合は、結合計算でこれらの計算を再作成できます。元のデータ ソースに祝日の日付で表を追加できない場合は、祝日の日付を含む外部表とのクロスデータベース結合を作成してください。これには、クロスデータベース結合機能の結合句で不等式を使用するために Tableau Desktop 10.5 以降にアップグレードする必要があります。
ステップ 2: 計算の作成
- ワークシートに移動します。
- オプション 1 の 1.1 から 1.3 までのステップに従って、[Order Date (shifted to weekday) (注文日 (平日にシフト))] 計算と [Ship Date (shifted to weekday) (出荷日 (平日にシフト))] 計算を作成します。
- "# of Weekdays from Order to Shipping (注文から出荷までの間の平日の数)" などの名前を付けて、次のような計算の計算フィールドを作成します。
MIN(
DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
+ 1
- 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
) - COUNTD([Holiday Date])
ステップ 3: ビューの作成
- "Order ID (注文 ID)" を [行] シェルフまでドラッグします
- オプション: [注文日] と [出荷] 日を [行] シェルフにドラッグします
- "# of Weekdays from Order to Shipping (excluding holidays) (注文から出荷までの間の平日の数 (祝日を除く))" を [マーク] カードの [テキスト] にドラッグします。
詳細情報
今後の製品リリースで、この拡張機能を含めることを支持する場合は、次のコミュニティ アイデアに投票してください。2 つの日付の間に、稼働日/平日が何日あるかを計算する関数 (英語)
イベントを改善するカレンダーのカスタマイズ (英語)
記事がご参考になったかどうか、フィードバックをお寄せいただきありがとうございます。
新しい問題を登録する
検索を続ける
ナレッジベース
コミュニティ
製品のヘルプ
トレーニングとチュートリアル