---
schema_version: "1"
id: b2ae3f8c4e103e3175d3f823ad7f9c1d125b817777ed07b329142b2a13d7ce79
title: Tableau の操作の順序
collection: tableau
version: next
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/next/ja-jp/public/desktop/order_of_operations.md
canonical_url: https://help.tableau.com/v0.0/public/desktop/ja-jp/order_of_operations.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5e612faf67c288efc2e193f6f01681594932331f0c3cbc9911f88b1c2699d150
description: Understand Tableau's order of operations (query pipeline) for filters and calculations.
---
[メイン コンテンツに進む](#main-content)

# Tableau の操作の順序

Tableau の操作の順序は、クエリ パイプラインとも呼ばれ、Tableau がさまざまなアクションを実行する順序です。アクションは操作とも呼ばれます。多くの操作でフィルターが適用されます。つまり、ビューを構築してフィルターを追加すると、操作の順序で確立された順序で常にフィルターが実行されます。

**ビデオを視聴する**: Tableau での関連する概念について説明した、1 時間の無料ビデオ プレゼンテーション[「Tableau の操作の順序」](https://youtu.be/fyDY0_Ivy54)をご覧ください。

この記事では、ビューを更新し、操作の順序による問題を修正する 2 つのシナリオ (ディメンション フィルターからコンテキスト フィルターへの変換、および表計算から FIXED 詳細レベルの式への変換) を提供します。

## 操作の順序 (クエリ パイプライン) について

ユーザーが予測していたフィルターの実行順序と、操作の順序が指示する順序が異なる場合、予期しない結果になる可能性があります。これが発生した場合、パイプラインの操作の実行順序を変更できる場合があります。

Tableau の操作順序は、上から下に次のようになります。

![データ分析におけるフィルター タイプのフローチャート。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/order_of_operations_overall.png)

**注**: 操作の順序で、[最新の日付フィルター](https://help.tableau.com/v0.0/public/desktop/ja-jp/filtering.htm#LatestDatePresets)はワークブックにグローバルに適用されますが、コンテキスト フィルターはワークシートごとに適用されます。最新の日付は、ワークブックを開いて初めて使用した直後、データ ソース フィルターの後、コンテキスト フィルターの前に決まります。その時点で日付が設定され、最新の日付プリセットがディメンション フィルターとして使用されます。

## 例 1: ディメンション フィルターをコンテキスト フィルターに変換する

この例と次の例では、Tableau Desktop に付属の「Sample – Superstore (サンプル - スーパーストア)」のデータ ソースを使用します。

この例では、ビューは次の質問を解決します。ニューヨーク市内の、合計売上高が上位 10 の顧客。

ビューには 2 つのディメンション フィルターが含まれます。1 つは \[フィルター\] ダイアログ ボックスの \[全般\] タブ、もう 1 つは \[上位 N\] タブで作成します。問題は、"上位 n" 全般フィルターを適用後の結果にフィルターを実行するよう、全般フィルターを適用した後に "上位 n" フィルターに適用する必要があるのに、これらのフィルターが同時に実行されることです。解決策として明確な優先順位を確立するため、フィルターをコンテキスト フィルターとして再定義します。

このビューを構築するには、次の手順を行います。

1. \[列\] に "Sales (売上高)" をドラッグします。
2. "City (市町村)" と "Customer Name (顧客名)" を \[行\] にドラッグします。
3. \[データ\] ペインから (今回は \[フィルター\] シェルフに) "City (市町村)" フィールドをドラッグします。\[フィルター\] ダイアログ ボックスの \[全般\] タブで、1 つの値のみを表示するようフィルターを設定します。ニューヨーク市。これを行うには、\[なし\] をクリックしてから、"New York City (ニューヨーク市)" を選択します。
    
    これにより、全般ディメンション フィルターが作成されます。
4. ツールバーの \[降順に並べ替え\] ボタン (![降順で並べ替えるアイコン。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/sort_descend.png)) をクリックします。ビューは次のような表示になります。
    
    ![ニューヨーク市の顧客名別に売上を表示する棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations1.png)
    
    リストの最初の名前をいくつかメモします。Ashbrook、Fuller、Vernon など。
5. 次に、\[顧客名\] を \[データ\] ペインから \[フィルター\] にドラッグし、合計売上高が上位 10 の顧客のみを示す "上位 10" フィルターを作成します。
    
    ![一般、ワイルドカード、条件、上位のオプションを含むフィルター メニュー。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations2.png)
    
    この 2 番目のフィルターを適用した後、ビューは正しいように見えますが、名前が前とは異なっていることに注意してください。
    
    ![ニューヨーク市の顧客名別の売上を表示する棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations3.png)
    
    前回 2 位だった Peter Fuller に何が起こったのでしょうか。目的はニューヨーク市内の上位 10 顧客を表示することですが、実際に現在ビューに表示されているのは、全体での上位 10 顧客です。
    
    問題は、上位フィルターと全般ディメンション フィルターが同時に適用されることです。これらは両方ともディメンション フィルターで、Tableau の操作の順序の同じ場所に表示されます。
    
    ![データ分析におけるさまざまな種類のフィルターを示すフローチャート。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/order_of_operations_filters.png)
    
    これを解決するには、全般ディメンションフィルター ("City (市町村)" で) をコンテキストに追加します。つまり、ワークシートで作成した他のフィルターの前に実行される、コンテキスト フィルターに切り替えます。
    
    詳細については、[コンテキスト フィルターの使用](https://help.tableau.com/v0.0/public/desktop/ja-jp/filtering_context.htm)を参照してください。
6. \[フィルター\] シェルフで "City (市町村)" を右クリック (Mac では Control を押しながらクリック) し、\[コンテキストに追加\] を選択します。このフィルターはコンテキスト フィルターとして、ディメンション フィルターより優先されるようになりました。そのため、本来の姿でビューが表示されます。
    
    ![ニューヨーク市の顧客名別の売上を示す横棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations5.png)

## 例 2: 表計算を FIXED 詳細レベルの式に変換する

この例では、ビューは次の質問を解決します。製品のサブカテゴリー別の合計売上高に対する割合は何ですか。

ビューには、ディメンション フィルターと表計算が含まれます。Tableau は、ディメンション フィルターを適用してから表計算を実行します。これらの操作の順序を反転させるには、表計算の代わりに FIXED 詳細レベルの式を使用します。

このビューを構築するには、次の手順を行います。

1. 新しいワークシートで、"Sales (売上高)" を \[列\] にドラッグします。
2. \[行\] に "Sub-Category (サブカテゴリー)" をドラッグします。
3. \[列\] で \[SUM(Sales)\] を右クリックして、\[簡易表計算\] > \[合計に対する割合\] を選択します。
4. カテゴリを最も高いものから低いものに並べ替えるには、ツール バーの \[降順\] ボタン (![降順で並べ替えるアイコン。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/sort_descend.png)) をクリックします。
5. ビューにメジャー バリューを表示するには、ツール バーの \[マーク ラベルの表示\] ボタン (![マーク カードの \[ラベルを追加\] アイコン。](Img/marklabels.png)) をクリックします。
    
    ビューは次のような表示になります。
    
    ![各サブカテゴリの合計売上の割合を表示する横棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations10.png)
    
    最初の数件のパーセンテージをメモします。14.37%、14.30% など。
6. \[行\] の \[サブカテゴリー\] を右クリックし、\[フィルターの表示\] を選択します。
7. フィルターで "Chairs (椅子)" のチェック マークをオフにします。
    
    ![含まれるデータのチェックボックスが付いたサブカテゴリのリスト。1 つのサブカテゴリがチェックされていません。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations11.png)
    
    これで、ビューに表示されるパーセンテージが変わり、最も高いパーセンテージが 16% を超えました。これで求めていた結果が出る場合もありますが (つまり、クイック フィルターを操作してパーセンテージを再計算する場合)、そうでなければ、フィルター アイテムを出し入れしてもパーセンテージを安定させることが必要なことがあります。この場合がまさにそうです。操作の順序では、ディメンション フィルターは表計算の前に適用されます。
    
    クイック フィルターを適用する前にパーセンテージを計算するには、FIXED 詳細レベルの式を作成し、表計算の代わりに使用します。
    
    ![データ分析におけるフィルター タイプのフローチャート。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/order_of_operations_overall.png)
    
    FIXED 詳細レベルの式は、ビュー内のディメンションに関係なく、指定されたディメンションを使用して値を計算します。
    
    FIXED 詳細レベル表現は、ビュー内のディメンションに関係なく、指定されたディメンションを使用して値を計算します。このパーセンテージは全般ディメンション フィルターには影響しません。なぜでしょうか。これは、FIXED 詳細レベルの式はディメンション フィルターを適用する前に計算されるためです。
    
    詳細については、[Tableau での詳細レベル表現の作成](https://help.tableau.com/v0.0/public/desktop/ja-jp/calculations_calculatedfields_lod.htm)を参照してください。
8. FIXED 詳細レベルの式は、"Sales (売上高)" の合計 (特定のメジャー バリューに対する) をビューの "Sales (売上高)" の合計で除算する必要があります。分子は集計されるため、分母も集計する必要があります。したがって、次のような式を作成します。
    
    `SUM([Sales])/SUM({FIXED : SUM([Sales])})`
9. その式を "FixedSumOfSales" として保存して \[データ\] ペインから \[列\] にドラッグし、表計算を使用する既存の "SUM(Sales)" フィールドの右にドロップします。(比較のためビューに両方を表示したままにします。)これが現在のビューです。
    
    ![サブカテゴリの売上を割合で示す棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations12.png)
    
    右側のグラフのパーセンテージの数値は、クイック フィルターで選択/選択解除したフィールドにかかわらず、一定になります。後は、"FixedSumOfSales" の値の書式をパーセント表示に設定するだけです。
10. \[列\] で "FixedSumOfSales" を右クリックし、\[書式設定\] を選択します。\[書式設定\] ペインで、\[数値\]、\[パーセンテージ\] の順に選択します。
    
    ![科学的数値の小数点以下の桁数を指定するオプションを備えた数値書式設定パネル。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderofOperations8.png)
    
    これで、最終的なビューが得られます。
    
    ![さまざまなサブカテゴリの合計売上の割合を示す棒グラフ。](/tableau/next/ja-jp/public/desktop/ja-jp/Img/OrderOfOperations9.png)
    
    \[サブカテゴリー\] クイック フィルターでアイテムを選択/選択解除すると、左側の棒グラフのパーセンテージは変化しますが、右側の棒グラフのパーセンテージは変化しません。