TableauでLOD式はどのように機能しますか?



Tableau LOD式は、単一の視覚化で複数レベルの粒度を含む質問に答えるエレガントで強力な方法を表しています。

BIツールの目的は データ分析 より良い流れ。専門家として、問題を解決しながらツールを使用するのが難しいことに直面すると、フローの状態が壊れます。この問題の一般的な原因の1つは、さまざまなデータに集約されたデータを処理する必要があることです。 Tableauの詳細レベル(LOD)

Tableauは、GartnerのMagic Quadrantで6回連続で山の頂上に位置し、市場での需要について確かに何かを語っています。これはおそらくするのに最適な時期です 。





このブログは、LOD式を理解し、次のトピックについて説明するのに役立ちます。



Tableau LOD:なぜLODが必要なのですか?

データを分析するときに必ず出くわす質問がよくあります。これらの質問は、質問するのは簡単ですが、答えるのは難しいことがよくあります。彼らはしばしば次のように聞こえます:

Tableauでの質問-LODTableau-Edurekaこれらのタイプの質問に対処するために、と呼ばれる新しい構文が導入されました 詳細度 Tableau9.0で。この新しい構文は、これらの質問に直接対処できるようにすることで、Tableauの計算言語を簡素化および拡張しました。

Tableau LOD: LODとは何ですか?

LOD式は、単一の視覚化で複数レベルの粒度を含む質問に答えるためのエレガントで強力な方法を表しています。



TableauまたはLOD式の詳細レベルを使用すると、データソースレベルと視覚化レベルで値を計算できます。ただし、LOD式を使用すると、計算する粒度のレベルをさらに細かく制御できます。それらはで実行することができます よりきめ細かく レベル(INCLUDE計算)、 粒度が低い レベル(EXCLUDE計算)、または 完全に独立したマイルド l(固定計算)。

Tableau LOD: 行レベルとビューレベルの式

行レベル

Tableauでは、参照する式 集約されていない データソース列は、基になるテーブルの行ごとに計算されます。この場合、式の次元は次のようになります。 行レベル 。行レベルの式の例は次のとおりです。

【売上高】/【利益】

この計算は、データベースの各行で評価されます。各行の売上値は、その行の利益値で除算され、乗算の結果(利益率)で新しい列が生成されます。

この定義で計算を作成する場合は、[という名前で保存してくださいProfitRatio]、次にそれをからドラッグします データペインからシェルフへ、Tableauは通常、ビューの計算フィールドを集約します。

SUM [ProfitRatio]

ビューレベル

対照的に、参照する式 集約 データソース列は、ビューのディメンションによって定義されたディメンションで計算されます。この場合、式の次元はビューレベルです。ビューレベルの式の例は次のとおりです。

SUM(売上高)/ SUM(利益)

この計算をシェルフにドラッグする(またはアドホック計算としてシェルフに直接入力する)と、Tableauはそれを AGG機能

AGG(SUM(売上)/ SUM(利益))

これは、として知られているものです 集計計算

Tableau LOD: 集計とLOD式

LOD式はビューの詳細レベルよりも粗い

式は、を参照するときにビューよりも詳細レベルが粗くなります。 次元のサブセット ビューで。

たとえば、ディメンションを含むビューの場合[カテゴリー]と[セグメント]、次のディメンションの1つのみを使用する詳細レベルをTableauで作成できます。

{修正済み[セグメント]:SUM​​([販売])}

この場合、式の詳細レベルはビューよりも粗くなります。値は1つの次元に基づいています([セグメント])、一方、ビューは2つの次元に基づいてビューを作成しています([セグメント]と[カテゴリー])。

その結果、ビューで詳細レベルの式を使用すると、特定の値が複製されます。 複数回出現する

Javaでスローvsスローvsスロー可能

LOD式はビューの詳細レベルよりも細かい

式は、を参照するときにビューよりも詳細レベルが高くなります。 寸法のスーパーセット ビューで。

このような式をビューで使用すると、Tableauは結果をビューレベルまで集計します。たとえば、Tableauの次の詳細レベルは、2つのディメンションを参照しています。

{修正済み[セグメント]、[カテゴリ]:SUM​​([販売])}

この式を詳細レベルとして[セグメント]のみを持つビューで使用すると、値 集約する必要があります 。その式を棚にドラッグすると、次のように表示されます。

AVG([{FIXED [Segment]]、[Category]]:SUM​​([Sales]])}])

アン 集約 (この場合、平均)はTableauによって自動的に割り当てられます。必要に応じて集計を変更できます。

ビューへのLOD式の追加

Tableau式の詳細レベルがビューで集約されるか複製されるかは、 式の種類 そして 粒度

  • INCLUDE式には、ビューと同じ詳細レベル、またはビューよりも細かいレベルの詳細が含まれます。したがって、値が複製されることはありません。
  • FIXED式は、ビューよりも細かいレベルの詳細、粗いレベルの詳細、または同じレベルの詳細を持つことができます。 FIXEDレベルの詳細の結果を集約する必要性は、ビュー内のディメンションによって異なります。
  • EXCLUDE式では、常に複製された値がビューに表示されます。 EXCLUDEレベルの詳細式を含む計算がシェルフに配置されると、Tableauはデフォルトで ATTR集計 SUMまたはAVGとは対照的に、式が実際に集計されておらず、集計を変更してもビューに影響がないことを示します。

詳細レベルの式は、ディメンションとして使用されていない限り、ビューのシェルフに追加されると常に自動的に集計にラップされます。

インスタンス変数はJavaでどこで宣言する必要がありますか

Tableau LOD: フィルタとLOD式

ここの画像は上から下へのフィルターの実行順序。右側のテキストは、LOD式がこの順序で評価される場所を示しています。

抽出フィルター(オレンジ色)は、データソースからTableauExtractを作成する場合にのみ関係します。テーブル計算フィルター(濃い青)は、計算の実行後に適用されるため、計算で使用される基になるデータをフィルターで除外せずにマークを非表示にします。

FIXED計算はディメンションフィルターの前に適用されるため、フィルターシェルフのフィールドをプロモートしてコンテキストフィルターでビューのパフォーマンスを向上させない限り、それらは無視されます。

Tableau LOD: LOD式の種類

計算を含める

INCLUDEは、ビュー内のディメンションに加えて、指定されたディメンションを使用して値を計算します。この詳細レベルの式は、ビューにないディメンションを含める場合に最も役立ちます。

例えば: {INCLUDE [顧客名]:SUM​​([販売])}

計算を除外する

EXCLUDEは、式からディメンションを明示的に削除します。つまり、ビューの詳細レベルからディメンションを減算します。 Tableauのこの詳細レベルは、ビュー内のディメンションを削除するのに最も役立ちます。

例えば: {EXCLUDE [地域]:SUM​​([販売])}

修正された計算

FIXEDは、ビューの詳細レベルを参照せずに、つまりビュー内の他のディメンションを参照せずに、指定されたディメンションを使用して値を計算します。この詳細レベルの式では、コンテキストフィルター、データソースフィルター、抽出フィルター以外のビュー内のすべてのフィルターも無視されます。

例えば: {修正済み[地域]:SUM​​([販売])}

Tableau LOD: LOD式の作成

LOD式の構文

詳細レベルの式の構造は次のとおりです。

含める

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

  1. Tableau Desktopを開き、に接続します サンプル-スーパーストア 保存されたデータソース。
  2. 新しいワークシートに移動します。
  3. から データ ペインの[寸法]で、ドラッグします 領域 棚。
  4. から データ ペインの[メジャー]の下にドラッグします 販売 棚。各地域の売上高の合計を示す棒グラフが表示されます。

ステップ2:LOD式を作成する

地域ごとのすべての売上の合計ではなく、地域ごとの顧客ごとの平均売上も確認したい場合があります。これを行うには、LOD式を使用できます。

  1. 選択する 分析 >> 計算フィールドの作成
  2. 開いた計算エディタで、次の手順を実行します。
    • 計算に「顧客あたりの売上高」という名前を付けます。
    • 次のLOD式を入力します。

      {INCLUDE [顧客名]:SUM​​([販売])}

  3. 終了したら、をクリックします OK。新しく作成されたLOD式が、[データ]ペインの[メジャー]の下に追加されます。

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

  1. から データ ペインの[メジャー]の下にドラッグします 顧客あたりの売上高 棚に置き、SUM(Sales)の左側に配置します。
  2. 行シェルフで、右クリックします 顧客あたりの売上高 選択します メジャー(合計) >> 平均。これで、各地域のすべての売上の合計と顧客ごとの平均売上の両方を確認できます。たとえば、中央地域では、売上高は約 500,000米ドル 各顧客の平均売上高は約 800米ドル

Tableau LOD: LOD式をサポートするデータソース

情報元 サポートされている/サポートされていない
Actian Vectorwiseサポートされていません。
Amazon EMR Hadoop HiveHive0.13以降をサポートしました。
AmazonRedshiftサポートされています。
アスターデータベースバージョン4.5以降をサポート。
Cloudera HadoopHive0.13以降をサポートしました。
Cloudera ImpalaImpala1.2.2以降をサポートしました。
キューブ(多次元データソース)サポートされていません。
DataStax Enterpriseサポートされていません。
EXASOLサポートされています。
ファイアバードバージョン2.0以降をサポートしました。
汎用ODBC限定。データソースに依存します。
Google Big Queryレガシーではなく、標準SQLでサポートされます。
IBM DB2バージョン8.1以降をサポート。
MarkLogicバージョン7.0以降をサポート。
SAP HANAサポートされています。
SAP Sybase ASEサポートされています。
SAP Sybase IQバージョン15.1以降をサポートしました。
Spark SQLサポートされています。
Splunkサポートされていません。
データ抽出テーブルサポートされています。
Teradataサポートされています。
Verticaバージョン6.1以降をサポート。
Microsoft Accessサポートされていません。
MicrosoftJetベースの接続サポートされていません。
Hortonworks Hadoop HiveHive0.13以降をサポートしました。

HIVEのバージョン1.1では、クロス結合を生成するLOD式は信頼できません。

IBM BigInsightsサポートされています。
Microsoft SQL ServerSQL Server2005以降をサポートしました。
MySQLサポートされています。
IBM PDA(Netezza)バージョン7.0以降をサポート。
オラクルバージョン9i以降をサポート。
アクティアンマトリックス(ParAccel)バージョン3.1以降をサポート。
重要なグリーンプラムバージョン3.1以降をサポート。
PostgreSQLバージョン7.0以降をサポート。
プログレスOpenEdgeサポートされています。

Tableau LOD: テーブル計算とLOD

LOD式は、新しい形式のテーブル計算ではありません。それらは多くのテーブル計算を置き換えることができますが、それらの主な目的は新しい可能性を開くことです。LOD式とテーブル計算の動作は異なります。

テーブルの計算 LOD式
テーブル計算はによって生成されます クエリ結果LOD式は、クエリの一部として生成されます。 基礎となるデータソース 。これらはネストされた選択として表されるため、DBMSのパフォーマンスによって異なります。
テーブル計算はできます 粒度以下の結果のみを生成します 上記のLODより。LODは結果を生み出すことができます 上記のLODとは独立
テーブルの操作を制御するディメンションは、計算構文とは別のものです。LOD式の操作を制御するディメンションは次のとおりです。 式に埋め込まれています 自体。
テーブル計算は次のように使用されます 集計されたメジャーLOD式は、他の構成で使用できます。
テーブル計算のフィルターは、 隠すLODのフィルターは 除外する

Tableau LOD: LODの制限

以下は、LOD式に適用される制約です。

  • 浮動小数点メジャーを参照するLOD式は、式の値の比較が必要なビューで使用されると、信頼性の低い方法で動作する傾向があります。
  • LODは[データソース]ページに表示されません。
  • 次元宣言でパラメーターを参照するときは、パラメーター値ではなく、常にパラメーター名を使用してください。
  • データブレンディングでは、セカンダリデータソースの詳細レベル式を使用する前に、プライマリデータソースのリンクフィールドがビューに含まれている必要があります。

さらに、一部のデータソースには複雑さの制限があります。 Tableauはこれらのデータベースの計算を無効にしませんが、計算が複雑になりすぎるとクエリエラーが発生する可能性があります。