Tableau での詳細レベル表現の作成
詳細レベル表現 (LOD 表現とも呼びます) ではデータ ソース レベルおよびビジュアライゼーション レベルで値を計算できます。さらに、LOD 表現は計算したい粒度のレベルをコントロールできます。粒度のより細かいレベル (INCLUDE)、それよりも粒度の大きなレベル (EXCLUDE)、またはまったく個別のレベル (FIXED) で計算を行えます。
この記事では、Tableau で使用できる LOD 表現の種類のほか、それらの使用タイミングや書式設定方法について説明します。
LOD 表現の作成方法
次のステップに沿って、Tableau で LOD 表現を作成し、使用する方法を説明します。
ステップ 1: ビジュアライゼーションの設定
- Tableau Desktop を開き、保存済みの "Sample - Superstore (サンプル - スーパーストア)" データ ソースに接続します。
- 新しいワークシートに移動します。
- [データ] ペインから、[地域] を [列] シェルフにドラッグします。
- [データ] ペインから、[売上] を [行] シェルフにドラッグします。
各地域の売上の合計を示す棒グラフが表示されます。
ステップ 2: LOD 表現の作成
各地域の全売上の合計ではなく、各地域の顧客あたりの平均売上を表示したい場合があります。LOD 表現を使うと、これを実行できます。
- [分析] > [計算フィールドの作成] を選択します。
- 開いた計算エディターで、次の操作を実行します。
- 計算に「顧客あたりの売上」と名前を付けます。
- 次の LOD 表現を入力します。
{ INCLUDE [Customer Name] : SUM([Sales]) }
- 終了したら、[OK] をクリックします。
新しく作成された LOD 式が [データ] ペインに追加されます。使用できる LOD 表現の種類の詳細については、LOD 表現の種類セクションを参照してください。
ステップ 3: ビジュアライゼーションでの LOD 表現の使用
- [データ] ペインから、[顧客あたりの売上] を [行] シェルフにドラッグして、[SUM(売上)] の左に配置します。
- [行] シェルフで [顧客あたりの売上] を右クリックし、[メジャー (合計)]、[平均] の順に選択します。
各地域の全売上の合計と顧客あたりの平均売上の両方を表示できるようになりました。たとえば、中部地域での売上合計は約 500,000 ドル、各顧客の平均売上は約 800 ドルであることがわかります。
クイック LOD 表現を使用する
計算ダイアログに完全な計算を入力しなくても、FIXED LOD 表現を作成することができます。
クイック LOD 計算は、2 つの方法で作成できます。
- [データ] ペインで、集計するメジャーを Ctrl キーを押しながらクリックして目的のディメンションにドラッグします。新しいフィールドが FIXED LOD 表現として表示されます。
集計式で使用する集計は、メジャーの既定の集計から取得されます。これは通常「合計」です。集計を変更するか、LOD を編集するには、新しいフィールドを右クリックして計算を編集します。
- あるいは、[データ] ペインで、集計するメジャーを選択し、集計するディメンションを Ctrl キーを押しながらをクリックします。
- 選択したフィールドを右クリックして、[作成]、[LOD計算...] の順に選択します。
- (オプション) 計算エディターで LOD を変更します。
- [OK] を選択します。
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 つまたは複数のディメンションを指定します。
- FIXED [名前]
複数のディメンションを区切るには、コンマを使用します。
[Segment], [Category], [Region]
日付式を含む、ディメンションとして評価される任意の式を使用できます。
{FIXED YEAR([Order Date]) : SUM(Sales)}
は、[売上] の合計を年レベルで集計します。{INCLUDE DATETRUNC('day', [Order Date]) : AVG(Profit)}
は、[売上] の合計を [オーダー日] の「日」の日付部分で丸めて集計します。これは INCLUDE 式なので、値を集計するにはビューのディメンションも使用します。
注: ディメンション宣言を作成する場合は、手入力せずに、フィールドを計算エディターまでドラッグすることをお勧めします。たとえば、シェルフに「年([オーダー日])」と表示されている場合、それをディメンション宣言として入力すると、シェルフ上のフィールドと一致しません。ただし、フィールドをシェルフから式までドラッグすると、フィールドは「日付部分('year', [オーダー日])」となり、シェルフ上のフィールドと一致します。
計算を [データ] ペインに保存すると、Tableau は計算の名前をその内容と一致させることができません。例:
MyCalculation = YEAR([Order Date])
という計算を作成します。- EXCLUDE 詳細レベルの式
{EXCLUDE YEAR([Order Date]) : SUM(Sales)}
を作成します。
ビューで両方の計算を使用する場合、MyCalculation は除外されません。LOD は、年([オーダー日]) が MyCalculation と同じものであることを認識しません。
同様に、EXCLUDE 式で MyCalculation ({EXCLUDE MyCalculation : SUM(Sales)}
) を指定した場合、年([注文日]) は除外されません。
: (コロン)
コロンは、ディメンション宣言を集計式から分離します。
<集計式>
集計式は、実行される計算です。たとえば、SUM(Sales)
や AVG(Discount)
などです。集計式の計算結果は、ディメンションの宣言とキーワードによって異なります。
集計式は集計される必要があります。ただし、ATTR 集計はサポートしていません。単純な集計である必要はなく、他の LOD 表現などの計算を含めることができます。{FIXED [Question] : AVG(IF [Answer] = "Red" THEN 1 ELSE 0 END )}
集計式では、表計算は許可されていません。
表範囲 LOD には、次のように中括弧内に集計式のみが含まれます。{MIN(Grade)}
LOD 表現の種類
Tableau で作成可能な LOD 表現には次の 3 つの種類があります。
LOD 表現の範囲には表も含めることができます。これは表範囲 LOD 表現と呼ばれています。
FIXED
FIXED 詳細レベル表現は、ビュー内のディメンションに関係なく、指定されたディメンションを使用して値を計算します。
例
次の FIXED 詳細レベル表現は、地域ごとの売上合計を計算します。
{FIXED [Region] : SUM([Sales])}
この [地域ごとの売上] という名前の詳細レベルは、その後、[テキスト] に配置され、地域ごとの売上合計を表します。
ビューの詳細レベルは、[地域] と [州] です。ただし、FIXED 詳細レベル表現は、ビュー内のディメンションを調べず、計算で指定されたディメンション (ここでは、地域) のみを調べます。そのため、各地域の個々の州の値は同じです。詳細については、集計と詳細レベル表現を参照してください。
キーワードが FIXED ではなく INCLUDE であれば、値は州ごとに異なります。INCLUDE は、式を評価するときに、式 ([地域]) 内のディメンションと、ビュー内の追加のディメンション ([州]) を使用します。
INCLUDE
INCLUDE 詳細レベル表現は、ビューに含まれるディメンションに加えて、指定されたディメンションを使用して値を計算します。
INCLUDE 詳細レベル表現は、データベース内では細かな詳細レベルで計算し、ビュー内では大まかな詳細レベルで再集計して表示するのに便利です。INCLUDE 詳細レベル表現に基づくフィールドは、ビューからディメンションを追加または削除すると変化します。
例 1
次の INCLUDE 詳細レベル表現は、顧客ごとの売上合計を計算します。
{ INCLUDE [Customer Name] : SUM([Sales]) }
[行] シェルフに LOD を配置して「平均」として集計し、[列] シェルフに [地域] を指定すると、ビューには地域ごとの顧客の平均売上額が表示されます。
例 2
次の INCLUDE 詳細レベル表現は、州別ベースで売上合計を計算します。
{ INCLUDE [State] : SUM(Sales)}
計算は [行] シェルフに配置され、平均として集計されます。結果のビジュアライゼーションは、州別の売上合計をカテゴリ全体で平均します。
[セグメント] を [列] シェルフに追加し、計算を [ラベル] に移動すると、LOD 表現の結果が更新されます。これで州ごとの売上の平均合計が、カテゴリやセグメントを横断するとどのように変化するかを確認できます。
EXCLUDE
EXCLUDE 詳細レベル表現は、詳細レベルのビューから省略するディメンションを宣言します。
EXCLUDE は、「合計に対する割合」や「全体的な平均との差異」のシナリオで役立ちます。これらは、「合計」や「リファレンス ライン」の機能に相当します。
EXCLUDE は、省略できるディメンションがない、行レベルの式では使用できません。ビューレベルの計算やその他の LOD を変更できます。
例 1
次の EXCLUDE 詳細レベル表現は、月あたりの平均売上合計を計算し、月の部分を除外します。
- まず、[オーダー日] の [月/年] のフィールドを作成します。
- [データ] ペインで [オーダー日] を右クリックし、[作成]、[カスタム日付の作成] の順に選択します。
- 詳細リストから「月/年」を選択します。不連続を選択したままにします。
- 次に、「月別の平均売上」という名前の LOD 表現を作成します。
{EXCLUDE [Order Date (Month / Year)] : AVG({FIXED [Order Date (Month / Year)] : SUM([Sales])})}
これはネストされた詳細レベル表現、つまり、別の詳細レベル表現に含まれた詳細レベル表現であることに注意してください。
- この計算は、[行] シェルフ上のアドホック計算により、月あたりの売上合計から差し引くことができます。
- [列] シェルフに 月([オーダー日]) を配置します。
その結果、月あたりの売上実績と、4 年間の月平均売上との差を示すビューが表示されます。
例 2
[売上] 合計から [地域] を除外する、「ExcludeRegion」という名前の詳細レベル表現を作成します。
{EXCLUDE [Region]: SUM([Sales])}
地域別、月別に売上合計を表示する、次のビューを考えます。
[ExcludeRegion] を [色] に置くと、月別の売上合計が地域的な要素を含まずに表示されるように網掛けされます。
表範囲
範囲のキーワードを使用せずに、表レベルで詳細レベル表現を定義することができます。たとえば、次の式はテーブル全体で最小の (最も早い) オーダー日を返します。
{MIN([Order Date])}
これは、ディメンション宣言のない FIXED 詳細レベル表現に相当します。
{FIXED : MIN([Order Date])}