---
schema_version: "1"
id: 247c9eb7788159f2f2982feb6b256355df64126e557e5e017813819d0b6b261b
title: 適切な計算の種類の選択
collection: tableau
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/current/ja-jp/pro/desktop/calculations_calculatedfields_understand_which.md
canonical_url: https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_understand_which.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5648b055a900bc2e3ea61cf957ca278c1bed1377579637d95a2692a886e69350
description: Choose the right calculation type for your analysis among basic, LOD, and table calculations.
---
[メイン コンテンツに進む](#main-content)

# 適切な計算の種類の選択

選択する計算タイプは、分析の必要性、答えたい質問、視覚化のレイアウトによって異なります。

## どの計算が目的の分析にとって正しいでしょうか？

分析に使用するための計算タイプの選択は、必ずしも簡単ではありません。決定するときには以下の質問と例を検討してください。

**注**: このコンテンツは、もともと Tableau ブログで発行されたものです。[「質問に対して正しい計算を選ぶための便利な手引き書」](https://www.tableau.com/ja-jp/about/blog/2016/4/guide-choosing-right-calculation-your-question-53667)を参照してください。

  

### 基本的な式か表計算か？

**質問 1**:

必要なデータ値は、すべて視覚化の中にありますか?

- 答えが**はい**の場合: 表計算を使うことができます。
- 答えが**いいえ**の場合: 基本的な計算を使います。

![すべてのデータ値がビジュアライゼーション内に存在するかどうかに基づいて、表計算を使用するか基本的な式を使用するかを決定するのに役立つフローチャート。ビジュアライゼーションに必要なデータの値がすべてある場合は、基本的な式を使用します。そうでない場合は、表計算を使用します。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasics_flowchart1.png)

##### **例**:

次の二つの視覚化について考えます。左側の視覚化は、国/地域別の合計売上を示す棒グラフです。右側の視覚化も、国/地域別の売り上げを示していますが、売上は非集計です。

これらの視覚化で、売上の 90 番目の百分位数をどうやって計算しますか?

![2 つのグラフに国/地域別の売上が表示されています。1 つのグラフは棒グラフで、もう 1 つは散布図です。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart1.png)

左側の棒グラフは SUM で集計されています。そのため、このビューでは表計算を使用するための充分な詳細がありません。基本的な集計式を使って、この例の各国の売上の 90 番目の百分位数を計算することができます。次の式を使います。

PERCENTILE(\[Sales\], .90)

これによって、棒グラフの各棒のラベルとして、国別の 90 番目の百分位数の値が得られます。

![横棒グラフに国別の売上が表示されています。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart2.png)

ただし、右側のグラフには各売上順のデータ値が含まれます。より大きな分散と外れ値が示されます。ビューの中に表計算を使用するのに充分な詳細があります。

分布バンド (表計算と同等) を使って、この例の各国の売上の 90 番目の百分位数を計算することができます。この視覚化にはさらに多くのコンテキストがあります。

![散布図に国別の売上が表示されています。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart3.png)

両方の計算で同じ値が得られますが、視覚化内の詳細レベル (データの量) によってそれぞれから得られる洞察は異なります。

  

### 基本的な式か詳細レベル (LOD) 式か？

視覚化に必要なデータが全て揃っていない場合は、計算をデータ ソースに通す必要があります。つまり、基本的な計算か、LOD 式を使う必要があるということです。

[質問 1](#q1) に**いいえ**と答えた場合は、次のことを考えてみてください。

**質問 2**:

質問の粒度は、ビジュアライゼーションの粒度またはデータソースの粒度と一致していますか?

- 答えが**はい**の場合: 基本的な式を使います。
- 答えが**いいえ**の場合: 詳細レベル (LOD) 式を使います。

![ビジュアライゼーションのためにデータを計算する方法を決定するプロセスを示すフローチャート。ビジュアライゼーションに必要なデータの値がすべてある場合は、表計算を使用します。そうでない場合は、問題の粒度がビジュアライゼーションの粒度またはソースの粒度と一致しているか確認します。そうである場合は、詳細レベルの式を使用します。そうでない場合は、基本的な式を使用します。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasics_flowchart3.png)

##### **例**

次の視覚化を考えてみましょう。各国の全ての注文の、売上の 90 番目の百分位数を示しています。

![国別の売上高の 90 パーセンタイルを表示する棒グラフ。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart10.png)

この例では、Tableau に付属している "Sample- Superstore (サンプル - スーパーストア)" データ ソースを使用します。"Sample- Superstore (サンプル - スーパーストア)" データ ソース を見たことがあったら、"Order ID (注文 ID)" ごとのデータの行があるのをご存知かもしれません。従って、データソースの粒度は "Order ID (注文 ID)" です。ところが、視覚化の粒度は国です。

注文 ID レベルの粒度で各国の注文の売上の 90 番目の百分位数を知りたければ、次の LOD 式を使うことができます。

 {INCLUDE \[Order ID\] : SUM(\[Sales\])}

次に、フィールドを変更して、ビュー内で 90 番目の百分位数の集計を取ることができます。

そのために、フィールドのドロップダウン リストをクリックして、\[**Measure (メジャー)\]** > \[**Percentile** (百分位数)\] > \[**90\]** を選択します。

次の図は、このケースでどのように LOD 式が機能するかを示しています。

![集計と粒度の関係を示す図。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasics_diagram1.png)

1. データは、まず SUM(Sales) で全て集計され、国の詳細レベル、つまり SUM(Sales) at Country で集計されます。
2. LOD 計算が適用され、データの粒度が高くなります。国の SUM(Sales) + Order ID になります。
3. LOD 計算が 90 番目の百分位数で集計されます。PCT90(SUM(Sales) at Country + Order ID)

結果は、次のようになります。

![さまざまな国におけるオーダー ID ごとの売上の 90 パーセンタイルを表示する横棒グラフ。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart11.png)

### 表計算か詳細レベル (LOD) 式か？

表計算か LOD 計算かを選ぶのは、表計算と基本的な式の間でどちらを選ぶかという場合とプロセスはよく似ています。次の質問を考えてみてください。

_必要なデータ値は、すべて視覚化の中にありますか?_

- 答えが**はい**の場合は、表計算を使うことができます。
- 答えが**いいえ**の場合は、次の質問に答えてください。_質問の粒度は、視覚化の粒度またはデータソースの粒度と一致していますか?_ 答えが**いいえ**の場合は、LOD 計算を使います。

![ビジュアライゼーションのためにデータを計算する方法を決定するプロセスを示すフローチャート。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasics_flowchart3.png)

### 表計算のみ

表計算のみが使えるというシナリオもあります。次のような場合です。

- ランキング
- 帰納 (例: 累計)
- 移動計算 (例: ローリング平均)
- 行間計算 (例: 期間 vs. 期間計算)

分析でこれらのシナリオのいずれかが必要な場合は、表計算を使用します。

![使用する計算の種類を決定する手順を示すフローチャート。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasics_flowchart4.png)

##### **例**

次の視覚化を考えてみましょう。2014 年 9 月から 2015 年 9 月までの数種類の株の平均終値を示しています。

![選択した企業の 1 年間の終値を表示する折れ線グラフ。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart8.png)

終値が過去最高値を超えた回数を確認したい場合、表計算、特に帰納的計算を使用する必要があります。

なぜでしょうか。表計算では、データの各区分 (セル、ペイン、表) に対して複数の値を出力することができるからです。基本的な式や LOD 式では、各区分またはデータのグループに対して、単一の値しか出力できません。

各株について終値が過去最高値を超えた回数を計算するには、必要なステップがいくつかあります。

1. 新しい最大終値に届いたかどうかを判断するには、全ての過去の値について考慮する必要があります。これは、RUNNING\_MAX 関数で行うことができます。たとえば、**Record to Date (今日までの記録)** というタイトルの、日 (表全体) を使って計算した次の計算を考えてみます。
    
    RUNNING\_MAX(AVG(\[Close\]))
2. 次に、**Count Days Record Broken (記録が破られた日をカウントする)** というタイトルの、日 (表全体) を使って計算した次の計算を使って、記録が破られた日にフラグを立てることができます。
    
    IF AVG(\[Close\]) = \[Record to Date\]   
    THEN 1   
    ELSE 0   
    END
3. 最後に、日 (表全体) を使って計算した次の計算を使ってこれらの日をカウントすることができます。
    
    RUNNING\_SUM(\[Count Days Record Broken\])
    
    ビューに、Avg(Close) の代わりに最後の計算フィールドを追加すると、次のようなものが得られます。
    
    ![ティッカー シンボルの出現頻度を時間の経過とともに表示する折れ線グラフ。](/tableau/current/ja-jp/pro/desktop/ja-jp/Img/CalcsBasic_chart9.png)

  

### [計算の作成方法を学習する際のヒント](https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_understand_formulas.htm)に続く

### このシリーズの関連項目:

[Tableau での計算を理解する](https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_understand.htm)

[Tableau での計算の種類](https://help.tableau.com/current/pro/desktop/ja-jp/calculations_calculatedfields_understand_types.htm)