詳細レベルの式 (LOD 式としても知られる) ではデータ ソース レベルおよびビジュアライゼーション レベルで値を計算できます。ただし、LOD 表現は計算したい粒度のレベルをさらにコントロール可能です。粒度のより細かいレベル (INCLUDE)、それよりも粒度の大きなレベル (EXCLUDE)、またはまったく個別のレベル (FIXED) で計算を行えます。

この記事では、Tableau で使用可能な LOD 式の種類のほか、それらの使用タイミングや書式設定方法について説明します。また、例を使用してシンプルな LOD 式を作成する方法を示します。

LOD 式の作成方法

次のステップに従って、Tableau で LOD 式を作成して使用する方法を学習してください。

ステップ 1: ビジュアライゼーションの設定

  1. Tableau Desktop を開き、"Sample - Superstore (サンプル - スーパーストア)" 保存済みデータ ソースに接続します。

  2. 新しいワークシートに移動します。

  3. [データ] ペインの [ディメンション] から、"Region (地域)"[列] シェルフまでドラッグします。

  4. [データ] ペインの [メジャー] から、"Sales (売上高)"[行] シェルフまでドラッグします。

    各地域の売上高の合計を示す棒グラフが表示されます。

ステップ 2: LOD 式の作成

各地域の全売上高の合計ではなく、各地域の顧客あたりの平均売上高を表示したいとも思うかもしれません。LOD 式を使うと、これを実行できます。

  1. [分析] > [計算フィールドの作成] を選択します。

  2. 開いた計算エディターで、次の操作を実行します。

    • 計算に "Sales Per Customer (顧客あたりの売上高)" と名前を付けます。

    • 次の LOD 式を入力します。

      { INCLUDE [Customer Name] : SUM([Sales]) }

  3. 終了したら、[OK] をクリックします。

    新しく作成された LOD 式が [データ] ペインの [メジャー] に追加されます。使用可能な LOD 式の種類の詳細については、LOD 式の種類セクションを参照してください。

ステップ 3: ビジュアライゼーションでの LOD 式の使用

  1. [データ] ペインの [メジャー] から、"Sales Per Customer (顧客あたりの売上高)"[行] シェルフにドラッグして、"SUM(Sales) (合計(売上))" の左に配置します。

  2. [行] シェルフ上で、"Sales Per Customer (顧客あたりの売上高)" を右クリックして [Measure (Sum)(メジャー (合計))] > [Average (平均)] の順に選択します。

    各地域の全売上高の合計と顧客あたりの平均売上高の両方を表示できるようになりました。たとえば、中部地域での合計売上高は約 500,000 ドル、各顧客での平均売上高は約 800 ドルであることがわかります。

クイック LOD 表現を使用する

Tableau 2021.1 では、計算ダイアログに完全な計算を入力しなくても FIXED LOD 表現を作成できるようになりました。

クイック LOD 計算は、2 つの方法で作成できます。

  1. 集約するメジャーを Control キー (Mac では Command キー) を押しながらクリックして、集計するディメンションにドラッグします。新しいフィールドに新しい FIXED LOD 計算が表示されます。

    上記のプロセスのアニメーション GIF

  2. 2 番目のオプションとして、集計するメジャーを選択し、Control キー (Mac では Command キー) を押しながらをクリックして、集計するディメンションを選択します。

    • 選択したフィールドを右クリックして、[作成] > [クイック LOD] を選択します。

    • 表示された計算ダイアログで [OK] を選択して、LOD の作成を完了します。

    迅速な LOD 計算を作成するプロセスを示す GIF。

LOD 式の種類

Tableau で作成可能な LOD 式には次の 3 つの種類があります。

LOD 式の範囲には表も含めることができます。これは表範囲 LOD 式と呼ばれています。

FIXED

FIXED 詳細レベルの式は、ビュー内のディメンションに関係なく、指定されたディメンションを使用して値を計算します。

次の FIXED 詳細レベルの式は、地域ごとの売上高合計を計算します。

{FIXED [Region] : SUM([Sales])}

この、[地域ごとの売上高] という名前の詳細レベルは、その後、[テキスト] に配置され、地域ごとの売上高合計を表します。

ビューの詳細レベルは [地域] プラス [] ですが、FIXED 詳細レベルの式がビューの詳細レベルを考慮しないので、計算ではそこで参照されているディメンションのみ、今回の場合では "Region (地域)" を使用します。このため、各地域に含まれる個々の州の値は同一であることがわかります。このようになる理由の詳細については、集計と詳細レベルの式を参照してください。

FIXED の代わりに INCLUDE キーワードが詳細レベルの式で使用されている場合、式の値を決めるにあたって Tableau がビュー ([]) 内の追加のディメンションを使用して式 ([]) にディメンションを追加するので、州ごとに値が異なります。結果は次のようになります。

INCLUDE

INCLUDE 詳細レベルの式は、ビューに含まれるディメンションに加えて、指定されたディメンションを使用して値を計算します。

INCLUDE 詳細レベルの式は、データベース内では細かな詳細レベルで計算し、ビュー内では大まかな詳細レベルで再集計して表示するのに便利です。INCLUDE 詳細レベルの式に基づくフィールドは、ビューに対してディメンションを追加または削除するに従って変化します。

例 1

次の INCLUDE 詳細レベルの式は、顧客ごとの売上高合計を計算します。

{ INCLUDE [Customer Name] : SUM([Sales]) }

計算が AVG として集計され、[行] シェルフに配置され [地域] ディメンションが [列] シェルフに配置されると、ビューには地域ごとの顧客の平均売上高が表示されます。

[売上] メジャーを [行] シェルフにドラッグすると、各地域の合計売上高と各地域の顧客ごとの平均売上高との差異が結果として表示されます。

例 2

次の INCLUDE 詳細レベルの式は、各州ベースでの売上高合計を計算します。

{ INCLUDE [State] : SUM(Sales)}

計算は [行] シェルフに配置され、平均として集計されます。結果のビジュアライゼーションは、カテゴリー全体の州ごとに売上高の合計を平均します。

"Segment (区分)"[列] シェルフに追加し、計算を [ラベル] に移動すると、LOD 式の結果が更新されます。これで州ごとの売上高の平均合計が、カテゴリーや区分を横断するとどのように変化するかを確認できます。

EXCLUDE

EXCLUDE 詳細レベルの式は、詳細レベルのビューから省略するディメンションを宣言します。

EXCLUDE 詳細レベルの式は、「合計の割合」または「全体平均との差異」シナリオに役立ちます。それらは、[合計] および [リファレンス ライン] などの機能に相当します。

EXCLUDE 詳細レベルの式は、行レベルの式 (省略するディメンションがない式) では使用できませんが、ビュー レベルの計算またはそれらの中間の計算 (つまり、EXCLUDE 計算を使用して他の詳細レベルの式からディメンションを削除できます) のいずれかを変更するのに使用できます。

例 1

次の EXCLUDE 詳細レベルの式は、月ごとの平均売上高合計を計算し、月の部分を除外します。

{EXCLUDE [Order Date (Month / Year)] : AVG({FIXED [Order Date (Month / Year)] : SUM([Sales])})}

[月/年] の日付フィールドの作成の詳細については、カスタム日付(新しいウィンドウでリンクが開く) を参照してください。

これはネストされた詳細レベルの式、つまり、別の詳細レベルの式に含まれた詳細レベルの式であることに注意してください。

[average of sales by month] として保存された計算は、[列] シェルフ上のアドホック計算により月次売上高合計から差し引くことができます。

[列] シェルフ上の Month([Order Date]) によって、4 年間にわたる月次売上実績と 4 年間全体の月次平均売上との差異を示すビューが作成されます。

例 2

次の詳細レベルの式は、[Sales] の合計の計算から [Region] を除外します。

{EXCLUDE [Region]: SUM([Sales])}

式は、[ExcludeRegion] として保存されます。

この式がどのように役に立つかを説明するために、まずは売上高合計を地域ごとまたは月ごとに分類する次のビューを検討してみましょう。

[ExcludeRegion] を [色] にドロップすることで、月別の売上高合計が地域的な要素抜きで表示するようにビューが網掛けされます。

表範囲

スコーピング キーワードを使用せずに、テーブル レベルで詳細レベルの式を定義することができます。たとえば、次の式はテーブル全体で最小の (最も早い) 注文日を返します。

{MIN([Order Date])}

これは、ディメンション宣言のない FIXED 詳細レベルの式に相当します。

{FIXED : MIN([Order Date])}

LOD 式の構文

詳細レベルの式の構文

詳細レベルの式は、次の構造になっています。

{[FIXED | INCLUDE | EXCLUDE] <ディメンションの宣言 > : <集計式>}

詳細レベルの式の要素は、次の表のとおりです。

要素説明
{ }詳細レベルの式全体が波括弧で囲まれます。
[FIXED | INCLUDE | EXCLUDE]

左波括弧のあとに配置される最初の要素は、次のスコーピング キーワードのいずれかです。

  • FIXED

    FIXED 詳細レベルの式は、ビューの詳細レベルに関係なく (つまり、ビューの中の他のいずれのディメンションにも関係なく)、指定されたディメンションを使用して値を計算します。

    FIXED 詳細レベルの式も、コンテキスト フィルター、データ ソース フィルター、および抽出フィルター以外のビュー内のすべてのフィルターを無視します。

    例: { FIXED [Region] : SUM([Sales]) }

    FIXED 詳細レベルの式について、また FIXED 詳細レベルのシナリオ例については、FIXEDセクションを参照してください。

  • INCLUDE

    INCLUDE 詳細レベルの式は、ビューに含まれるディメンションに加えて、指定されたディメンションを使用して値を計算します。

    INCLUDE 詳細レベルの式は、ビューにないディメンションを含める場合に最も役に立ちます。

    例: { INCLUDE [Customer Name] : SUM([Sales]) }

    INCLUDE 詳細レベルの式について、また INCLUDE 詳細レベルのシナリオ例については、INCLUDEセクションを参照してください。

  • EXCLUDE

    EXCLUDE 詳細レベルの式は、式からディメンションを明示的に除外します。つまり、ビューの詳細レベルからディメンションを除去します。

    EXCLUDE 詳細レベルの式は、ビューに含まれるディメンションを除外する場合に最も役に立ちます。

    例: {EXCLUDE [Region]: SUM([Sales])}

    EXCLUDE 詳細レベルの式について、また EXCLUDE 詳細レベルのシナリオ例については、EXCLUDEセクションを参照してください。

  • 表範囲

    表範囲の詳細レベルの式の場合、スコーピング キーワードは必要ありません。詳細については、表範囲セクションを参照してください。

<ディメンションの宣言>

集計式の結合先である 1 つ以上のディメンションを指定します。ディメンションはコンマで区切ります。例:

[Segment], [Category], [Region]

詳細レベルの式の場合、ディメンション宣言のディメンション (日付式を含む) として評価する任意の式を使用できます。

この例では、"Sales (売上高)" の合計を年レベルで集計します。

{FIXED YEAR([Order Date]) : SUM(Sales)}

この例では、[Order Date (発注日)] ディメンションで "Sales (売上高)" の合計を集計し、日を切り捨てて日付部分にします。これは INCLUDE 式のため、値を集計するにはビューのディメンションも使用します。

{INCLUDE DATETRUNC('day', [Order Date]) : AVG(Profit)}

:ディメンション宣言を作成する場合は、入力する代わりにフィールドを計算エディターまでドラッグすることを強くお勧めします。たとえば、シェルフに "YEAR([Order Date])" が表示され、それディメンション宣言として入力する場合、シェルフ上のフィールドとは一致しません。ただし、フィールドをシェルフから式までドラッグすると、フィールドは "DATEPART('year', [Order Date])" となり、シェルフ上のフィールドと一致します。

名前が付けられた計算 (名前を付けない臨時の計算とは異なる、[データ] ペインで保存した計算) の場合、Tableau は計算の名前を定義に合わせることはできません。そのため、「MyCalculation」という名前の計算を作成し、次のように定義します。

MyCalculation = YEAR([Order Date])

その後、次の EXCLUDE 詳細レベルの式を作成し、ビューで使用しました。

{EXCLUDE YEAR([Order Date]) : SUM(Sales)}

このようにすることで、「MyCalculation」は除外されません。

同様に、EXCLUDE 式が「MyCalculation」を指定した場合:

{EXCLUDE MyCalculation : SUM(Sales)}

YEAR([Order Date]) は除外されません。

:コロンは、ディメンション宣言を集計式から分離します。
<集計式>集計式は、ターゲットの次元を定義するために実行される計算です。

関連項目

詳細レベル表現の概要(新しいウィンドウでリンクが開く)

LOD 表現をさらに詳しく(新しいウィンドウでリンクが開く)

LOD 表現のさらに奥へ(新しいウィンドウでリンクが開く)

LOD 表現トップ 15(新しいウィンドウでリンクが開く)

LOD 表現について (新しいウィンドウでリンクが開く)

Tableau での詳細レベルの式のしくみ

ありがとうございます!