---
schema_version: "1"
id: b64af510da36a4a0cc112daf70392fa0ab8615c4d005dcdcbd3629f3a11103ff
title: 表計算関数
collection: tableau
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/tableau/current/ja-jp/public/desktop/functions_functions_tablecalculation.md
canonical_url: https://help.tableau.com/current/public/desktop/ja-jp/functions_functions_tablecalculation.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 406caf78719361264a91415f89739ca4f07ee7617591c72dd68c5356d9894b70
description: Reference for table calculation functions such as INDEX, LOOKUP, and FIRST.
---
[メイン コンテンツに進む](#main-content)

# 表計算関数

この記事では、表計算関数と Tableau での用途について説明します。また、計算エディターを使用して表計算を作成する方法を示します。

## 表計算関数を使用する理由

表計算関数を使用して、表内の値を計算できます。

たとえば、個々の売上の合計に対する割合を 1 年単位や複数年単位で計算できます。

## Tableau で使用可能な表計算関数

これらは、外部の分析拡張機能なしで Tableau で使用できるネイティブの表計算関数です。

### FIRST( )

* * *

現在の行からパーティション内の最初の行までの行数を返します。たとえば、次のビューには四半期ごとの売上高が示されています。FIRST() が日付パーティション内で計算される場合、2 番目の行からの最初の行のオフセットは -1 です。

![表計算 FIRST。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_first.png)

#### 例

現在の行のインデックスが 3 の場合、`FIRST() = -2`.

### INDEX( )

* * *

値に関しては並べ替えをせずに、パーティション内の現在の行のインデックスを返します。最初の行のインデックスは 1 から始まります。たとえば、次の表には四半期ごとの売上高が示されています。INDEX() が日付パーティション内で計算される場合、各行のインデックスは 1、2、3、4 のようになります。

![表計算 INDEX。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_index.png)

#### 例

パーティション内の 3 番目の行の場合、`INDEX() = 3`.

### LAST( )

* * *

現在の行からパーティション内の最後の行までの行数を返します。たとえば、次の表には四半期ごとの売上高が示されています。LAST() が日付パーティション内で計算される場合、2 番目の行からの最後の行のオフセットは 5 です。

![表計算 LAST。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_last.png)

#### 例

現在の行のインデックスは 7 個中 3 つ目の場合、`LAST() = 4`.

### LOOKUP(expression, \[offset\])

* * *

現在の行からの相対オフセットとして指定されたターゲット行にある式の値を返します。パーティション内の最初/最後の行に相対的なターゲットには、オフセット定義の一部として FIRST() + n と LAST() - n を使用してください。`offset` を省略した場合は、比較対象行をフィールド メニューで設定できます。この関数は、ターゲット行を特定できない場合は、NULL を返します。

次のビューには四半期ごとの売上高が示されています。`LOOKUP (SUM(Sales), 2)` が日付パーティション内で計算される場合、各行には 2 四半期後の売上高が表示されるようになります。

![表計算 LOOKUP。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_lookup.png)

#### 例

`LOOKUP(SUM([Profit]), FIRST()+2)` はパーティション内の 3 番目の行の SUM(Profit) を計算します。

### MODEL\_EXTENSION 関数

モデル拡張機能関数:

- MODEL\_EXTENSION\_BOOL
- MODEL\_EXTENSION\_INT
- MODEL\_EXTENSION\_REAL
- MODEL\_EXTENSION\_STRING

R、TabPy、Matlab などの外部サービスにデプロイされたモデルにデータを渡すために使用されます。[「分析拡張機能」](https://help.tableau.com/current/pro/desktop/ja-jp/r_connection_manage.htm)を参照してください。

### MODEL\_PERCENTILE(target\_expression, predictor\_expression(s))

* * *

予測値が観測されたマーク以下である確率 (0 から 1 の間) を返します。マークは、ターゲット式と他の予測変数で定義されます。これは、累積分布関数 (CDF) とも呼ばれる事後予測分布関数です。

この関数は、MODEL\_QUANTILE の逆です。予測モデリング関数について詳しくは、[Tableau における予測モデリング関数の仕組み](https://help.tableau.com/current/public/desktop/ja-jp/predictions_overview.htm)を参照してください。

#### 例

次の式は、注文数に対して調整された、売上合計のマークの分位を返します。

`MODEL_PERCENTILE(SUM([Sales]), COUNT([Orders]))`

### MODEL\_QUANTILE(quantile, target\_expression, predictor\_expression(s))

* * *

指定した分位数で、ターゲット式と他の予測変数によって定義された推定範囲内のターゲット数値を返します。これは事後予測分位です。

この関数は、MODEL\_PERCENTILE の逆です。予測モデリング関数について詳しくは、[Tableau における予測モデリング関数の仕組み](https://help.tableau.com/current/public/desktop/ja-jp/predictions_overview.htm)を参照してください。

#### 例

次の式は、注文数に対して調整された、売上合計の予測中央値 (0.5) を返します。

`MODEL_QUANTILE(0.5, SUM([Sales]), COUNT([Orders]))`

### PREVIOUS\_VALUE(expression)

* * *

前の行のこの計算の値を返します。現在の行がパーティション内の最初の行の場合は、指定された式を返します。

#### 例

`SUM([Profit]) * PREVIOUS_VALUE(1)` は SUM(Profit) の累積積を計算します。

### RANK(expression, \['asc' | 'desc'\])

* * *

パーティション内の現在の行に対して標準の競争ランクを返します。同一の値には同一のランクが割り当てられます。昇順または降順を指定するには、オプションの `'asc' | 'desc'` 因数を使用してください。既定では降順です。

この関数を使用すると、値のセット (6、9、9、14) は (4、2、2、1) とランク付けされます。

Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。

異なるランキング オプションの詳細については、[ランク計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm#Rank)を参照してください。

#### 例

次の図は、値のセットにおけるさまざまなランキング関数 (RANK、RANK\_DENSE、RANK\_MODIFIED、RANK\_PERCENTILE、および RANK\_UNIQUE)) の効果を示しています。データ セットには、14 名の生徒 (生徒 A から生徒 N) に関する情報が含まれています。\[年齢\] 列には各生徒の現在の年齢が表示されます (すべての生徒は 17 歳から 20 歳の間です)。その他の列には、年齢値に対する各ランク関数の結果が示されます。常に、関数の既定の順序 (昇順または降順) が前提となります。

![さまざまなランキング方法を使用して学生の年齢の順位を比較した表。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/rank_compare.png)

### RANK\_DENSE(expression, \['asc' | 'desc'\])

* * *

パーティション内の現在の行に対して密度ランクを返します。同一の値には同一のランクが指定されますが、数列にギャップは挿入されません。昇順または降順を指定するには、オプションの `'asc' | 'desc'` 因数を使用してください。既定では降順です。

この関数を使用すると、値のセット (6、9、9、14) は (3、2、2、1) とランク付けされます。

Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。

異なるランキング オプションの詳細については、[ランク計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm#Rank)を参照してください。

### RANK\_MODIFIED(expression, \['asc' | 'desc'\])

* * *

パーティション内の現在の行に対して変更された競争ランクを返します。同一の値には同一のランクが割り当てられます。昇順または降順を指定するには、オプションの `'asc' | 'desc'` 因数を使用してください。既定では降順です。

この関数を使用すると、値のセット (6、9、9、14) は (4、3、3、1) とランク付けされます。

Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。

異なるランキング オプションの詳細については、[ランク計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm#Rank)を参照してください。

### RANK\_PERCENTILE(expression, \['asc' | 'desc'\])

* * *

パーティション内の現在の行に対して百分位値のランクを返します。昇順または降順を指定するには、オプションの `'asc' | 'desc'` 因数を使用してください。既定では昇順です。

この関数を使用すると、一連の値 (6、9、9、14) は (0.25、0.75、0.75、1.00) とランク付けされます。

Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。

異なるランキング オプションの詳細については、[ランク計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm#Rank)を参照してください。

### RANK\_UNIQUE(expression, \['asc' | 'desc'\])

* * *

パーティション内の現在の行の一意のランクを返します。同一の値に異なるランクが指定されます。昇順または降順を指定するには、オプションの `'asc' | 'desc'` 因数を使用してください。既定では降順です。

この関数を使用すると、値のセット (6、9、9、14) は (4、2、3、1) とランク付けされます。

Null はランキング関数では無視されます。これらには番号が付けられておらず、百分位値のランク計算のレコード総数に含まれません。

異なるランキング オプションの詳細については、[ランク計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm#Rank)を参照してください。

### RUNNING\_AVG(expression)

* * *

パーティション内の最初の行から現在の行までの、指定された式の累積平均を返します。

次のビューには四半期ごとの売上高が示されています。`RUNNING_AVG(SUM([Sales])` が日付パーティション内で計算される場合、結果は四半期ごとの売上高の累積平均になります。

![表計算 RUNNING\_AVG。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_runningavg.png)

#### 例

`RUNNING_AVG(SUM([Profit]))` は SUM(Profit) の累積平均を計算します。

### RUNNING\_COUNT(expression)

* * *

パーティション内の最初の行から現在の行までの、指定された式の累積数を返します。

#### 例

`RUNNING_COUNT(SUM([Profit]))` は SUM(Profit) の累積数を計算します。

### RUNNING\_MAX(expression)

* * *

パーティション内の最初の行から現在の行までの、指定された式の累積最大値を返します。

![表計算 RUNNING\_MAX。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_runningmax.png)

#### 例

`RUNNING_MAX(SUM([Profit]))` は SUM(Profit) の累積最大値を計算します。

### RUNNING\_MIN(expression)

* * *

パーティション内の最初の行から現在の行までの、指定された式の累積最小値を返します。

![表計算 RUNNING\_MIN。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_runningmin.png)

#### 例

`RUNNING_MIN(SUM([Profit]))` は SUM(Profit) の累積最小値を計算します。

### RUNNING\_SUM(expression)

* * *

パーティション内の最初の行から現在の行までの、指定された式の累積合計を返します。

![表計算 RUNNING\_SUM。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_runningsum.png)

#### 例

`RUNNING_SUM(SUM([Profit]))` は SUM(Profit) の累積合計を計算します。

### SIZE()

* * *

パーティション内の行数を返します。たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内には 7 行があるため、日付パーティションの Size() は 7 になります。

![表計算 SIZE。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_size.png)

#### 例

現在のパーティションに 5 行含まれる場合、`SIZE() = 5`。

### SCRIPT\_ 関数

スクリプト関数:

- SCRIPT\_BOOL
- SCRIPT\_INT
- SCRIPT\_REAL
- SCRIPT\_STRING

R、TabPy、Matlab などの外部サービスにデータを渡すために使用されます。[「分析拡張機能」](https://help.tableau.com/current/pro/desktop/ja-jp/r_connection_manage.htm)を参照してください。

### TOTAL(expression)

* * *

表計算パーティションで指定された式の合計を返します。

#### 例

このビューから始めるものとします。

![表計算 TOTAL。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total.png)

計算エディターを開いて、\[総計\] という名前の新しいフィールドを作成します。

![売上合計の表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total2.png)

\[総計\] を \[テキスト\] にドロップして、SUM(Sales) と置き換えます。ビューが、既定の \[次を使用して計算\] 値に基づいて値を合計した結果に変わります。

![Viz に追加された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total3.png)

ここで、既定の \[次を使用して計算\] の値は何か、という疑問が生じます。\[データ\] ペイン内の \[総計\] を右クリック (Mac では Control を押しながらクリック) して、\[編集\] を選択します。少量の追加の情報を使用できます。

![売上合計の表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total4.png)

既定の \[次を使用して計算\] 値は、\[表 (横)\] です。結果は、\[総計\] が表の各行の横の合計となります。そのため、各行で横方向に表示される値は、元のバージョンの表の値の合計となります。

元の表の "2011/Q1 (2011 年第 1 四半期)" 行の値は、$8601、$6579、$44262、および $15006 でした。SUM(Sales) を \[総計\] で置き換えた後の表内の値は、すべて $74,448 で、4 つの元の値の合計になります。

\[テキスト\] にドロップすると、\[総計\] の横に三角形が表示されます。

![Viz に追加され、マーク カードに表示された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total5.png)

これは、このフィールドが表計算を使用していることを示します。フィールドを右クリックして \[表計算の編集\] を選択し、関数を異なる \[次を使用して計算\] 値にリダイレクトできます。たとえば、それを Table (Down) に設定できます。その場合、表は次のようになります。

![Viz に追加され、マーク カードに表示された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total6.png)

### TOTAL(expression)

* * *

表計算パーティションで指定された式の合計を返します。

#### 例

このビューから始めるものとします。

![表計算 TOTAL。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total.png)

計算エディターを開いて、\[総計\] という名前の新しいフィールドを作成します。

![売上合計の表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total2.png)

\[総計\] を \[テキスト\] にドロップして、SUM(Sales) と置き換えます。ビューが、既定の \[次を使用して計算\] 値に基づいて値を合計した結果に変わります。

![Viz に追加された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total3.png)

ここで、既定の \[次を使用して計算\] の値は何か、という疑問が生じます。\[データ\] ペイン内の \[総計\] を右クリック (Mac では Control を押しながらクリック) して、\[編集\] を選択します。少量の追加の情報を使用できます。

![売上合計の表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total4.png)

既定の \[次を使用して計算\] 値は、\[表 (横)\] です。結果は、\[総計\] が表の各行の横の合計となります。そのため、各行で横方向に表示される値は、元のバージョンの表の値の合計となります。

元の表の "2011/Q1 (2011 年第 1 四半期)" 行の値は、$8601、$6579、$44262、および $15006 でした。SUM(Sales) を \[総計\] で置き換えた後の表内の値は、すべて $74,448 で、4 つの元の値の合計になります。

\[テキスト\] にドロップすると、\[総計\] の横に三角形が表示されます。

![Viz に追加され、マーク カードに表示された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total5.png)

これは、このフィールドが表計算を使用していることを示します。フィールドを右クリックして \[表計算の編集\] を選択し、関数を異なる \[次を使用して計算\] 値にリダイレクトできます。たとえば、それを Table (Down) に設定できます。その場合、表は次のようになります。

![Viz に追加され、マーク カードに表示された表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_total6.png)

### WINDOW\_AVG(expression, \[start, end\])

* * *

ウィンドウ内の式の平均を返します。ウィンドウは、現在の行からのオフセットとして定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

同等の集計関数 AVG があります。「[Tableau 関数 (アルファベット順)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_alphabetical.htm)」を参照してください。

#### 例

次の計算式は、2 行前から現在の行の **SUM(Profit)** の期間平均を返します。

`WINDOW_AVG(SUM[Profit]), -2, 0)`

### WINDOW\_CORR(expression1, expression2, \[start, end\])

* * *

ウィンドウ内の 2 つの式のピアソン相関係数を返します。ウィンドウは、現在の行からのオフセットとして定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

ピアソン相関係数は、2 つの変数の間の線形関係を測定します。結果は -1 から +1 の範囲となります。ここで、1 つの変数のプラスの変化はもう一方の変数の対応する倍率のプラスの変化を示し、1 は正確なプラスの直線関係を示します。0 は分布間に線形の関係がないことを示し、−1 は正確なマイナスの関係を示します。

同等の集計関数:CORR があります。[Tableau 関数 (アルファベット順)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_alphabetical.htm)を参照してください。

#### 例

次の計算式は、5 行前から現在の行の SUM(Profit) および SUM(Sales) のピアソン相関係数を返します。

`WINDOW_CORR(SUM[Profit]), SUM([Sales]), -5, 0)`

### WINDOW\_COUNT(expression, \[start, end\])

* * *

ウィンドウ内の式の数を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_COUNT(SUM([Profit]), FIRST()+1, 0)` は、2 行目から現在の行までの SUM(Profit) の件数を計算します。

### WINDOW\_COVAR(expression1, expression2, \[start, end\])

* * *

ウィンドウ内の 2 つの式の_標本共分散_を返します。ウィンドウは、現在の行からのオフセットとして定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始および終了引数を省略すると、ウィンドウはパーティション全体となります。

標本共分散では、母共分散によって (WINDOW\_COVARP 関数で) 使用される n ではなく、non-null データ ポイントの数である n-1 を使用して共分散計算を標準化します。標本共分散は、データが、大きな母集団に対する共分散の見積もりに使用されるランダムな標本の場合に適しています。

同等の集計関数:COVAR があります。[Tableau 関数 (アルファベット順)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_alphabetical.htm)を参照してください。

#### 例

次の計算式は、2 行前から現在の行の SUM(Profit) および SUM(Sales) の標本共分散を返します。

`WINDOW_COVAR(SUM([Profit]), SUM([Sales]), -2, 0)`

### WINDOW\_COVARP(expression1, expression2, \[start, end\])

* * *

ウィンドウ内で 2 つの式の_母共分散_を返します。ウィンドウは、現在の行からのオフセットとして定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

母共分散は標本共分散に (n-1)/n を乗算したものです。ここで、n は Null でないデータ ポイントの合計です。母共分散は、対象のすべてのアイテムに対して利用可能なデータがある場合に最適です。反対に、アイテムのランダムなサブセットのみがある場合には、標本共分散 (WINDOW\_COVAR 関数を使用) が適しています。

同等の集計関数:COVARP があります。[Tableau 関数 (アルファベット順)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_alphabetical.htm)

#### 例

次の計算式は、2 行前から現在の行の SUM(Profit) および SUM(Sales) の母共分散を返します。

`WINDOW_COVARP(SUM([Profit]), SUM([Sales]), -2, 0)`

### WINDOW\_MEDIAN(expression, \[start, end\])

* * *

ウィンドウ内の式の中央値を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

たとえば、次のビューには四半期ごとの利益が示されています。日付パーティション内のウィンドウの中央値は、全日付にわたる利益の中央値を返します。

![演算子 WINDOW\_MEDIAN を使用した表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_windowmedian.png)

#### 例

`WINDOW_MEDIAN(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の中央値を計算します。

### WINDOW\_MAX(expression, \[start, end\])

* * *

ウィンドウ内の式の最大値を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内の期間最大値は、全日付にわたる売上高の最大値を返します。

![演算子 WINDOW\_MAX を使用した表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_windowmax.png)

#### 例

`WINDOW_MAX(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の最大値を計算します。

### WINDOW\_MIN(expression, \[start, end\])

* * *

ウィンドウ内の式の最小値を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内の期間最小値は、全日付にわたる売上高の最小値を返します。

![演算子 WINDOW\_MIN を使用した表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_windowmin.png)

#### 例

`WINDOW_MIN(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の最小値を計算します。

### WINDOW\_PERCENTILE(expression, number, \[start, end\])

* * *

ウィンドウ内の指定した百分位値に対応する値を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_PERCENTILE(SUM([Profit]), 0.75, -2, 0)` は、2 行前から現在の行に SUM(Profit) の 75% を返します。

### WINDOW\_STDEV(expression, \[start, end\])

* * *

ウィンドウ内の式のサンプルの標準偏差を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_STDEV(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の標準偏差を計算します。

### WINDOW\_STDEVP(expression, \[start, end\])

* * *

ウィンドウ内の式のバイアス標準偏差を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_STDEVP(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の標準偏差を計算します。

### WINDOW\_SUM(expression, \[start, end\])

* * *

ウィンドウ内の式の合計を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

たとえば、次のビューには四半期ごとの売上高が示されています。日付パーティション内で計算される期間合計は、全四半期にわたる売上高の合計を返します。

![演算子 WINDOW\_SUM を使用した表計算。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_windowsum.png)

#### 例

`WINDOW_SUM(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の合計を計算します。

### WINDOW\_VAR(expression, \[start, end\])

* * *

ウィンドウ内の式の標本分散を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_VAR((SUM([Profit])), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の分散を計算します。

### WINDOW\_VARP(expression, \[start, end\])

* * *

ウィンドウ内の式のバイアス分散を返します。ウィンドウは現在の行からのオフセットにより定義されます。パーティション内の最初または最後の行からのオフセットには、FIRST()+n および LAST()-n を使用してください。開始と終了を省略すると、パーティション全体が使用されます。

#### 例

`WINDOW_VARP(SUM([Profit]), FIRST()+1, 0)` は、2 番目の行から現在の行までの SUM(Profit) の分散を計算します。

## Tableau で使用可能な分析拡張機能の表計算関数

分析拡張機能は、Tableau と外部サービス (Python、Matlab、R など) との接続です。分析で分析拡張機能を使用するには、まず Tableau と TabPy サーバーなどの外部サービス間で[接続を構成する](https://help.tableau.com/current/pro/desktop/ja-jp/r_connection_manage.htm)必要があります。そうすると、特定の表計算内でスクリプトを使用できます (パブリッシュされた名前付きモデルを使用する場合は MODEL\_EXTENSION\_、外部サービスに式を渡す場合は SCRIPT\_)。Viz のデータ (表計算の「表」) は外部サーバーに安全に渡されます。スクリプトが実行され、結果が計算の出力として返されます。

## モデル拡張機能関数

TabPy 外部サービスにデプロイされた名前付きモデルで使用します。

### MODEL\_EXTENSION\_BOOL (model\_name, arguments, expression)

* * *

TabPy 外部サービス上に展開されている名前付きモデルによって計算された式のブール結果を返します。

Model\_name は、使用する展開済みの分析モデルの名前です。

各引数は、展開されたモデルが受け入れる入力値を設定する単一の文字列であり、分析モデルによって定義されます。

式を使用して、Tableau から分析モデルに送信される値を定義します。結果を集計するには、必ず集計関数 (SUM、AVG など) を使用してください。

関数を使用する場合、式のデータ型と順序は入力引数のデータ型と一致する必要があります。

#### 例

`MODEL_EXTENSION_BOOL ("isProfitable","inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))`

### MODEL\_EXTENSION\_INT (model\_name, arguments, expression)

* * *

TabPy 外部サービス上に展開されている名前付きモデルによって計算された式の整数結果を返します。

Model\_name は、使用する展開済みの分析モデルの名前です。

各引数は、展開されたモデルが受け入れる入力値を設定する単一の文字列であり、分析モデルによって定義されます。

式を使用して、Tableau から分析モデルに送信される値を定義します。結果を集計するには、必ず集計関数 (SUM、AVG など) を使用してください。

関数を使用する場合、式のデータ型と順序は入力引数のデータ型と一致する必要があります。

#### 例

`MODEL_EXTENSION_INT ("getPopulation", "inputCity", "inputState", MAX([City]), MAX ([State]))`

### MODEL\_EXTENSION\_REAL (model\_name, arguments, expression)

* * *

TabPy 外部サービス上に展開されている名前付きモデルによって計算された式の実際の結果を返します。

Model\_name は、使用する展開済みの分析モデルの名前です。

各引数は、展開されたモデルが受け入れる入力値を設定する単一の文字列であり、分析モデルによって定義されます。

式を使用して、Tableau から分析モデルに送信される値を定義します。結果を集計するには、必ず集計関数 (SUM、AVG など) を使用してください。

関数を使用する場合、式のデータ型と順序は入力引数のデータ型と一致する必要があります。

#### 例

`MODEL_EXTENSION_REAL ("profitRatio", "inputSales", "inputCosts", SUM([Sales]), SUM([Costs]))`

### MODEL\_EXTENSION\_STRING (model\_name, arguments, expression)

* * *

TabPy 外部サービス上に展開されている名前付きモデルによって計算された式の文字列結果を返します。

Model\_name は、使用する展開済みの分析モデルの名前です。

各引数は、展開されたモデルが受け入れる入力値を設定する単一の文字列であり、分析モデルによって定義されます。

式を使用して、Tableau から分析モデルに送信される値を定義します。結果を集計するには、必ず集計関数 (SUM、AVG など) を使用してください。

関数を使用する場合、式のデータ型と順序は入力引数のデータ型と一致する必要があります。

#### 例

`MODEL_EXTENSION_STR ("mostPopulatedCity", "inputCountry", "inputYear", MAX ([Country]), MAX([Year]))`

## スクリプト関数

MODEL\_EXPRESSION 関数などの定義済みの外部モデルを使用する代わりに、SCRIPT 関数を使用して、表計算で直接式を指定します。

**注**: 呼び出しでは、関数に送信されたのと同じ数の行を含む 1 つの列が返されることを想定しています。

### SCRIPT\_BOOL

* * *

指定された式からブールの結果を返します。式は実行中の分析拡張サービス インスタンスに直接渡されます。

R 式では、パラメーターに .arg_n_ (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。

Python 式では、\_arg_n_ (先頭にアンダースコア) を使用します。

#### 例

この R の例では、.arg1 は SUM(\[Profit\]) に等しくなります。

`SCRIPT_BOOL("is.finite(.arg1)", SUM([Profit]))`

それ以外の場合は False を返します。次の例はワシントンのストア ID に対して True を返します。この例は "IsStoreInWA" という計算フィールドの定義となる可能性があります。

`SCRIPT_BOOL('grepl(".*_WA", .arg1, perl=TRUE)',ATTR([Store ID]))`

Python 用のコマンドは以下のようになります。

`SCRIPT_BOOL("return map(lambda x : x > 0, _arg1)", SUM([Profit]))`

### SCRIPT\_INT

* * *

指定された式から整数の結果を返します。式は実行中の分析拡張サービス インスタンスに直接渡されます。

R 式では、パラメーターに .arg_n_ (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。

Python 式では、\_arg_n_ (先頭にアンダースコア) を使用します。

#### 例

この R の例では、.arg1 は SUM(\[Profit\]) に等しくなります。

`SCRIPT_INT("is.finite(.arg1)", SUM([Profit]))`

次の例では、k-means クラスタリングが 3 つのクラスタ作成に使用されます。

`SCRIPT_INT('result <- kmeans(data.frame(.arg1,.arg2,.arg3,.arg4), 3);result$cluster;', SUM([Petal length]), SUM([Petal width]),SUM([Sepal length]),SUM([Sepal width]))`

Python 用のコマンドは以下のようになります。

`SCRIPT_INT("return map(lambda x : int(x * 5), _arg1)", SUM([Profit]))`

### SCRIPT\_REAL

* * *

指定された式から実際の結果を返します。式は実行中の分析拡張サービス インスタンスに直接渡されます。

R 式では、パラメーターに .arg_n_ (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。

Python 式では、\_arg_n_ (先頭にアンダースコア) を使用します。

#### 例

この R の例では、.arg1 は SUM(\[Profit\]) に等しくなります。

`SCRIPT_REAL("is.finite(.arg1)", SUM([Profit]))`

次の例では、温度の値をセ氏からカ氏に変換します。

`SCRIPT_REAL('library(udunits2);ud.convert(.arg1, "celsius", "degree_fahrenheit")',AVG([Temperature]))`

Python 用のコマンドは以下のようになります。

`SCRIPT_REAL("return map(lambda x : x * 0.5, _arg1)", SUM([Profit]))`

### SCRIPT\_STR

* * *

指定された式から文字列の結果を返します。式は実行中の分析拡張サービス インスタンスに直接渡されます。

R 式では、パラメーターに .arg_n_ (先頭にピリオド) を使用してパラメーターを参照します (.arg1、.arg2、など)。

Python 式では、\_arg_n_ (先頭にアンダースコア) を使用します。

#### 例

この R の例では、.arg1 は SUM(\[Profit\]) に等しくなります。

`SCRIPT_STR("is.finite(.arg1)", SUM([Profit]))`

次の例ではより複雑な文字列から州名の省略形を抽出します (元のフォーム 13XSL\_CA, A13\_WA において)。

`SCRIPT_STR('gsub(".*_", "", .arg1)',ATTR([Store ID]))`

Python 用のコマンドは以下のようになります。

`SCRIPT_STR("return map(lambda x : x[:2], _arg1)", ATTR([Region]))`

## 計算エディターを使用した表計算の作成

次の手順に従って、計算エディターを使用した表計算の作成方法について学習してください。

**注**: Tableau では、表計算の作成方法が複数あります。ここではそのうちの 1 つを例として取り上げます。詳細については、[表計算での値の変換](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations.htm)を参照してください。

### ステップ 1: ビジュアライゼーションの作成

1. Tableau Desktop で、Tableau に付属の **"Sample-Superstore (サンプル - スーパーストア)"** 保存したデータ ソースに接続します。
2. ワークシートに移動します。
3. **\[データ\]** ペインの \[ディメンション\] から、\[オーダー日\] を \[列\] シェルフまでドラッグします。
4. **\[データ\]** ペインの \[ディメンション\] から、\[サブカテゴリ\] を \[行\] シェルフまでドラッグします。
5. **\[データ\]** ペインの \[メジャー\] から、\[売上高\] を \[マーク\] カードの \[テキスト\] にドラッグします。
    
    ビジュアライゼーションがテキスト表に更新されます。
    
    ![表を使用した Tableau Viz。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_functions1.png)

### ステップ 2: 表計算の作成

1. \[分析\] > \[計算フィールドの作成\] を選択します。
2. 開いた計算エディターで、次の操作を実行します。

- 計算フィールドに "Running Sum of Profit (収益の累計)" という名前を付けます。
- 次の式を入力します。
    
    `RUNNING_SUM(SUM([Profit]))`
    
    この式で、収益の累計を計算します、計算は表全体に対して実行されます。
- 終了したら、\[OK\] をクリックします。
    
    新しい表計算フィールドが \[データ\] ペインの \[メジャー\] の下に表示されます。他のフィールドと同様に、このフィールドを 1 つ以上のビジュアライゼーションで使用できます。

### ステップ 3: ビジュアライゼーションでの表計算の使用

1. \[データ\] ペインの \[メジャー\] から、"Running Sum of Profit (収益の累計)" を \[マーク\] カードの \[色\] にドラッグします。
2. \[マーク\] カードで、\[マーク タイプ\] ドロップダウンをクリックし、\[四角\] を選択します。
    
    ビジュアライゼーションが更新され、次のようにテーブルがハイライトされます。
    
    ![\[マーク\] カード上で表計算が適用されたフィールド。](Img/tablecalc_functions2.png)

### ステップ 4: 表計算の編集

1. \[マーク\] カードの "Running Sum of Profit (収益の累計)" を右クリックし、\[表計算の編集\] を選択します。
2. 開いた \[表計算\] ダイアログ ボックスの \[次を使用して計算\] で、\[表 (下)\] を選択します。
    
    ビジュアライゼーションが更新され、次のようになります。
    
    ![マーク カードで Tableau 計算が適用されたフィールド。](/tableau/current/ja-jp/public/desktop/ja-jp/Img/tablecalc_functions3.png)

## 関連項目

[表計算の作成](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations.htm#Create)

[表計算のタイプ](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_definebasic_runningtotal.htm)

[表計算のカスタマイズ](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_custom.htm)

[簡易表計算](https://help.tableau.com/current/public/desktop/ja-jp/calculations_tablecalculations_quick.htm)

[Tableau で使用する関数](https://help.tableau.com/current/public/desktop/ja-jp/functions.htm)

[Tableau 関数 (カテゴリ別)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_categories.htm)

[Tableau 関数 (アルファベット順)](https://help.tableau.com/current/public/desktop/ja-jp/functions_all_alphabetical.htm)