Tableau Prep 関数リファレンス

Tableau Prep 計算関数を使用すると、計算フィールドを使用して、データ ソースに既に存在するデータを元にして新しいデータを作成できます。

数値関数

構文説明
ABS(number)指定された数値の絶対値を返します。

例:

ABS(-7) = 7

ABS([Budget Variance])

Budget Variance フィールドに含まれているすべての数値の絶対値を返します。
ACOS(number)指定された数値のアークコサインを返します。結果はラジアン単位です。

例:

ACOS(-1) = 3.14159265358979

ASIN(number)指定された数値のアークサインを返します。結果はラジアン単位です。

例:

ASIN(1) = 1.5707963267949

ATAN(number)指定された数値のアークタンジェントを返します。結果はラジアン単位です。

例:

ATAN(180) = 1.5652408283942

ATAN2(y number, x number)指定された 2 つの値 (xy) のアークタンジェントを返します。結果はラジアン単位です。

例:

ATAN2(2, 1) = 1.10714871779409

CEILING(number)数値を等しいかより大きな最も近い整数に切り上げます。

例:

CEILING(3.1415) = 4

COS(number)角度のコサインを返します。角度をラジアン単位で指定します。

例:

COS(PI( ) /4) = 0.707106781186548

COT(angle)角度のコタンジェントを返します。角度をラジアン単位で指定します。

例:

COT(PI( ) /4) = 1

DIV(integer1, integer2) integer1integer2 で割った除算演算の整数部分を返します。

例:

DIV(11,2) = 5

EXP(number)e を指定された数値で累乗した値を返します。

例:

EXP(2) = 7.389 EXP(-[Growth Rate]*[Time])

FLOOR(number)数字を等しいかより小さな最も近い整数に切り下げます。

例:

FLOOR(3.1415) = 3

HEXBINX(number, number)x、y 座標を最も近い六角形のビンの x 座標にマッピングします。ビンの横幅は 1 です。入力時には適切に拡大縮小する必要があります。

例:

HEXBINX([Longitude], [Latitude])

HEXBINY(number, number)x、y 座標を最も近い六角形のビンの y 座標にマッピングします。ビンの横幅は 1 です。入力時には適切に拡大縮小する必要があります。

例:

HEXBINY([Longitude], [Latitude])

LN(number)

数値の自然対数を返します。数値が 0 以下の場合は、Null を返します。

例:

LN(EXP(5)) = 5

LOG(number [, base])

指定された基底について数値の対数を返します。基底値が省略された場合は、10 を使用します。

例:

LOG(256, 2) = 8

MAX(number, number)2 つの引数の最大値を返します (2 つの引数は同じ型でなければなりません)。いずれかの引数が Null の場合は Null を返します。MAX は集計関数の単一フィールドに適用することもできます。

例:

MAX(4,7)
MAX(Sales,Profit)
MAX([First Name],[Last Name])

MIN(number, number)2 つの引数の最小値を返します (2 つの引数は同じ型でなければなりません)。いずれかの引数が Null の場合は Null を返します。MIN は集計関数の単一フィールドに適用することもできます。

例:

MIN(4,7)

MIN(Sales,Profit)

MIN([First Name],[Last Name])

PI( )

数値定数 pi (3.14159) を返します。

例:

PI() = 3.14159265358979

POWER(number, power)指定された回数、数値を掛け合わせます。

例:

POWER(5,2) = 52 = 25 POWER(Temperature, 2)

^ 記号を使用することもできます。

5^2 = POWER(5,2) = 25

RADIANS(number)指定された数値を度単位からラジアン単位に変換します。

例:

RADIANS(180) = 3.14159

ROUND(number, [decimals])指定された桁数に数値を丸めます。引数 decimal で、最終結果に含める小数点以下の桁数 (精度) を指定します。decimal を省略した場合、数値は最も近い整数に丸められます。

例:

この例では、すべての Sales の値が整数に丸められます。

ROUND(Sales)

SIGN(number)数値の符号を返します。数値が負の場合は -1、数値がゼロの場合は 0、数値が正の場合は 1 が返されます。

例:

Profit フィールドの平均が負の値の場合は、次のようになります。

SIGN(AVG(Profit)) = -1

SIN(number)角度のサインを返します。角度をラジアン単位で指定します。

例:

SIN(0) = 1.0

SIN(PI( )/4) = 0.707106781186548

SQRT(number)数値の平方根を返します。

例:

SQRT(25) = 5

SQUARE(number)数値の平方を返します。

例:

SQUARE(5) = 25

TAN(number)

角度のタンジェントを返します。角度をラジアン単位で指定します。

例:

TAN(PI ( )/4) = 1.0

ZN(expression)

式が Null でない場合は式を返し、Null の場合は 0 を返します。Null でなくゼロを値に使用するには、この関数を使用してください。

例:

ZN([Profit]) = [Profit]

文字列関数

構文説明
ASCII(string)文字列の最初の文字の ASCII コードを返します。

例:

ASCII('A') = 65

CHAR(number)ASCII コード番号によって符号化される文字を返します。

例:

CHAR(65) = 'A'

CONTAINS(string, substring)指定された文字列に指定された部分文字列が含まれている場合、true を返します。

例:

CONTAINS(“Calculation”, “alcu”) = true

ENDSWITH(string, substring)指定された文字列が指定された substring で終わる場合、true を返します。行末の空白は無視されます。

例:

ENDSWITH(“Tableau”, “leau”) = true

FIND(string, substring, [start])文字列内の substring のインデックス位置を返します。部分文字列が見つからない場合は 0 を返します。オプションの引数 start を追加した場合、この関数は、インデックス位置 start より前に現れる substring のインスタンスをすべて無視します。文字列の最初の文字の位置は 1 です。

例:

FIND("Calculation", "alcu") = 2

FINDNTH(string, substring, occurrence)指定した文字列内の部分文字列が n 番目に現れる位置を返します。ここで、n は引数 occurrence によって定義されます。

例:

FINDNTH("Calculation", "a", 2) =7

ISDATE(string)

指定された文字列が有効な日付の場合、true を返します。

例:

ISDATE("2004-04-15") = True

LEFT(string, number)文字列の左端から n 文字を返します (n は引数で指定された数)。

例:

LEFT("Matador", 4) = "Mata"

LEN(string)文字列の長さを返します。

例:

LEN("Matador") = 7

LOWER(string)文字列をすべて大文字にして返します。

例:

LOWER("ProductVersion") = "productversion"

LTRIM(string)先頭の空白を削除した文字列を返します。

例:

Example: LTRIM(" Sales") = "Sales"

(MID(string, start, [length])インデックス位置 start で始まる文字列を返します。文字列の最初の文字の位置は 1 です。オプションの引数長を追加した場合、返される文字列には、その引数に相当する数の文字だけが含まれます。

例:

MID("Calculation", 2) = "alculation"

MID("Calculation", 2, 5) ="alcul"

PROPER(string)各単語の最初の文字が大文字で、残りの文字が小文字になるようにテキスト文字列を変換します。スペースや句読点などの英数字以外の文字も区切り文字として機能します。

例:

PROPER("PRODUCT name") = "Product Name"

REGEXP_EXTRACT(string, pattern)正規表現パターン内のキャプチャ グループに一致する、指定された文字列の部分文字列を返します。正規表現パターンにはキャプチャ グループが 1 つだけ必要です

例:

REGEXP_EXTRACT('abc 123', '[a-z]+\\s+(\\d+)') = '123'

REGEXP_EXTRACT_NTH(string, pattern, index)正規表現パターンを使用している、指定した文字列の部分文字列を返します。部分文字列は n 番目 (n は指定されたインデックス) のキャプチャリング グループと照合されます。

例:

REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\s+(\\d+)', 2) = '123'

REGEXP_MATCH(string, pattern)指定された文字列の部分文字列が正規表現パターンに一致した場合に true を返します。

例:

REGEXP_MATCH('-([1234].[ The.Market ])-', '\\[\\s*(\\w*\\.)(\\w*\\s*\\])') = true

REGEXP_REPLACE(string, pattern, replacement)一致するパターンを置換文字列に置き換えて、指定された文字列のコピーを返します。

例:

REGEXP_REPLACE('abc 123', '\\s', '-') = 'abc--123'

REPLACE(string, substring, replacement)文字列から部分文字列を検索し、置換文字列に置き換えます。部分文字列が見つからない場合、文字列は変更されません。

例:

REPLACE("Calculation", "ion", "ed") = "Calculated"

RIGHT(string, number)文字列の右端から n 文字を返します (n は引数で指定された数)。

例:

RIGHT("Calculation", 4) = "tion"

RTRIM(string)末尾の空白を削除した文字列を返します。

例:

Example: RTRIM("Market ") = "Market"

SPACE(number)指定された文字数分の空白からなる文字列を返します。

例:

SPACE(1) = " "

SPLIT(string, delimiter, token number)

文字列の先頭または末尾から文字を抽出する区切り文字で決定された部分文字列を、文字列から返します。

例:

SPLIT('a-b-c-d', '-', 2) = 'b'

STARTSWITH(string, substring)文字列が substring で始まる場合、true を返します。先頭の空白は無視されます。

例:

STARTSWITH(“Joker”, “Jo”) = true

TRIM(string)先頭と末尾の空白を削除した文字列を返します。

例:

TRIM(" Calculation ") = "Calculation"

UPPER(string)文字列をすべて大文字にして返します。

例:

UPPER("Calculation") = "CALCULATION"

集計関数

構文説明
AVG(expression)式内のすべての値の平均を返します。AVG に使用できるのは数値フィールドだけです。Null 値は無視されます。

例:

AVG([Profit])

COUNT(expression)グループ内のアイテムの数を返します。Null 値は数に含まれません。

例:

COUNT([Customer ID])

COUNTD(expression)グループ内の一意のアイテム数を返します。Null 値は数に含まれません。各一意の値は 1 回だけカウントされます。

例:

COUNTD([Region])

MEDIAN(expression)単一の式の中央値を返します。MEDIAN に使用できるのは数値フィールドだけです。Null 値は無視されます。

例:

MEDIAN([Profit])

PERCENTILE(expression, number)指定された数字に対応する指定された式の百分位値を返す集計計算です。この数値の有効な値は 0 ~ 1 です。PERCENTILE([式], 0.50) は常に式の中央値を返します。

例:

PERCENTILE([Sales], 0.90)

STDEV(expression)式の標本標準偏差を返します。

例:

STDEV([Profit])

STDEVP(expression)

式の母標準偏差を返します。

例:

STDEVP([Profit])

SUM(expression)

式内のすべての値の合計を返します。SUM に使用できるのは数値フィールドだけです。Null 値は無視されます。

例:

SUM([Profit])

VAR(expression)

母集団の標本に基づいて、指定された式のすべての値の統計的分散を返します。

例:

VAR([Height])

VARP(expression)

母集団全体について、指定された式のすべての値の統計的分散を返します。

例:

VARP([Test Score])

ZN(expression)

式が Null でない場合は式を返し、Null の場合は 0 を返します。Null でなくゼロを値に使用するには、この関数を使用してください。

例:

ZN([Profit]) = [Profit]

型変換関数

構文説明
DATE指定された数値、文字列、または日付式に対する日付を返します。

例:

DATE("2006-06-15 14:52") = 2006-06-15

引用符が必要であることに注意してください。

DATETIME(expression)指定された数値、文字列、または日付式に対する日付時刻を返します。

例:

DATETIME("April 15, 2004 07:59:00")

引用符が必要であることに注意してください。

FLOAT(expression)指定された任意の型の式に対する浮動小数点数を返します。この関数にはフォーマットされていない数値が必要です。つまり、カンマやその他の記号は除外します。

例:

FLOAT("3")= 3.000

INT(expression)指定された式に対する整数を返します。この関数は結果をゼロに最も近い整数に丸めます。

例:

INT(8.0/3.0) = 2 or INT(-9.7) = -9

MAKEDATE(year, month, day)年、月、日で構成される日付値を返します。

例:

MAKEDATE(2014, 3, 18)

MAKEDATETIME(date, time)

指定された日付式と時刻式に対する日付と時刻の値を返します。

例:

MAKEDATETIME(#2012-11-12#, #07:59:00#)

MAKETIME(hour, minute, second)

時、分、秒で構成される時刻値を返します。

例:

MAKETIME(14, 52, 40)

STR(expression)

指定された式に対する文字列を返します。

例:

STR([Age])

年数メジャーのすべての値を文字列として返します。

日付関数

構文説明
DATEADD(date_part, interval, date)指定された日付に増分を加えて、新しい日付を返します。増分は、interval と date_part によって定義されます。

例:

DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM

DATEDIFF(date_part, start_date, end_date, [start_of_week])

end_date から start_date を引いた 2 つの日付の差を返します。差分は date_part 単位で表現されます。start_of_week を省略した場合、週の開始日はデータ ソースに設定された開始日によって決まります。

例:

DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3

DATENAME(date_part, date, [start_of_week])指定された日付の、date_part で指定された部分を返します。start_of_week を省略した場合、週の開始日はデータ ソースに設定された開始日によって決まります。

例:

DATENAME('month', #2004-04-15#) = "April"

DATEPARSE(format, string)文字列を、指定した書式設定の日付に変換します。

例:

DATEPARSE ("dd.MMMM.yyyy", "15.April.2004") = 2004-04-15 12:00:00 AM

DATEPARTT(date_part, date, [start_of_week])指定された日付の、date_part で指定された部分を整数として返します。start_of_week を省略した場合、週の開始日はデータ ソースに設定された開始日によって決まります。

例:

DATEPART('month', #2004-04-15#) = 4

DATETRUNC(date_part, date, [start_of_week])指定された日付を date_part によって指定された精度で切り捨てて、新しい日付を返します。start_of_week を省略した場合、週の開始日はデータ ソースに設定された開始日によって決まります。

例:

DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM

DAY(date)指定された日付の日の部分を整数として返します。

例:

DAY(#2004-04-12#) = 12

ISDATE(string)指定された文字列が有効な日付の場合、true を返します。

例:

ISDATE("2004-04-15") = True

MONTH(date)

指定された日付の月の部分を整数として返します。

例:

MONTH(#2004-04-12#) = 4

NOW()現在の日付と時刻を返します。

例:

NOW() = 2004-05-12 1:08:21 PM

TODAY()現在の日付を返します。

例:

TODAY() = 2004-05-12

YEAR(date)指定された日付の年の部分を整数として返します。

例:

YEAR(#2004-04-12#) = 2004

論理関数

構文説明
IFNULL(expr1, expr2)Null でない場合は <expr1> を返し、Null の場合は <expr2> を返します。

例:

IFNULL([Profit], 0)

IIF(test, then, else, [unknown])条件を満たしているかどうかを判定し、TRUE の場合は 1 つ目の値、FALSE の場合は 2 つ目の値、不明な場合はオプションで 3 つ目の値もしくは Null を返します。

例:

IIF([Profit] > 0, 'Profit', 'Loss')

ISDATE(string)指定された文字列が有効な日付の場合、true を返します。

例:

ISDATE("2004-04-15") = True

ISNULL(expression)式に有効なデータが含まれていない (Null) 場合、true を返します。

例:

ISNULL([Profit])

ZN(expression)

式が Null でない場合は式を返し、Null の場合は 0 を返します。Null でなくゼロを値に使用するには、この関数を使用してください。

例:

ZN([Profit]) = [Profit]

分析関数

構文説明
LAST_VALUE(expression, [return_last_non-null_value])パーティション内の最初の行から現在の行までから、指定された式の最後の値を返します。オプションで 2 つ目のブール値パラメーターを指定すると、Null でない最後の値を返します。

例:

{ ORDERBY [Row ID] ASC: LAST_VALUE([Category], true) } = returns the last non-null value of [Category]

LOOKUP(expression, [offset])

現在の行からの相対オフセットとして指定されたターゲット行にある、指定された式の値を返します。ターゲット行を特定できない場合は、Null を返します。

LOOKUP 関数の [offset] パラメーターには、1 などのリテラル整数のみを入力できます。

例:

{ORDERBY [DATE] ASC : LOOKUP([SALES], -1)}

前の行の SALES の値を返します。

NTILE(number)選択したパーティション内の行を、指定された数のグループまたはタイルに分配します。この関数を使用すると、3 つのタイルに分配された値のセット (6、9、9、14) は、昇順でタイル (1、2、2、3) に割り当てられます。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: NTILE(3) }}

RANK()パーティション内の現在の行に対して標準の競争ランクを返します。同一の値には同一のランクが割り当てられます。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK() }}

RANK_DENSE()パーティション内の現在の行に対して密度ランクを返します。同一の値には同一のランクが指定されますが、数列にギャップは挿入されません。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_DENSE() }}

RANK_MODIFIED()パーティション内の現在の行に対して変更された競争ランクを返します。同一の値には同一のランクが割り当てられます。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_MODIFIED() }}

RANK_PERCENTILE()パーティション内の現在の行に対して百分位値のランクを返します。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: RANK_PERCENTILE() }}

ROW_NUMBER()連続する一意の行 ID を各行に割り当てます。

例:

{PARTITION [Customer]: {ORDERBY [Sales] ASC: ROW_NUMBER() }}

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

例:

{ PARTITION [Category] : { ORDERBY [Row ID] ASC : RUNNING_AVG([Sales]) } } = running average of Sales, per Category.

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

例:

{ ORDERBY [Row ID] ASC : RUNNING_SUM([Sales]) } = running sum of all Sales

キーワード

関数説明
AND2 つの式の論理積を実行します

例:

IF (ATTR([Market]) = "New Business" AND SUM([Sales]) > [Emerging Threshold] )THEN "Well Performing"

ASCORDERBY 演算の昇順を定義します。

{ORDERBY [Sales] ASC:RANK()}

CASE<expr> と一致する最初の <value> を検索し、対応する <return> を返します。

例:

CASE [RomanNumeral] WHEN "|" THEN 1 WHEN "II" THEN 2 ELSE 3 END

DESCORDERBY 演算の降順を定義します。

例:

{ORDERBY [Sales] DESC:RANK()}

ELSE最初の true の <expr> に対して <then> 値を返す、一連の式をテストします。

例:

IF [Profit] > 0 THEN 'Profitable' ELSE 'Loss' END

ELSEIF最初の true の <expr> に対して <then> 値を返す、一連の式をテストします。ELSE 演算内に if ステートメントを置くのと同等です。

例:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

END対応する命令で導入された演算を終了します。

例:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

{ FIXED }FIXED 詳細レベルの式は、ビューの詳細レベルを参照することなく、指定されたディメンションを使用して値を計算します。

例:

{FIXED[Customer ID]:MIN([Order Date])}

IF条件ステートメント (IFステートメント) を作成し、条件が True の場合にのみ実行できるようにします。

例:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

NOT式に対して論理否定を実行します。

例:

IF NOT [Profit] > 0 THEN "Unprofitable" END

OR式に対して論理和を実行します。

例:

IF [Profit] < 0 OR [Profit] = 0 THEN "Needs Improvement" END

{ ORDERBY }分析関数を適用する順序を指定します。オプションの asc | desc 引数を使用して、各フィールドの昇順または降順を指定します。

例:

{ORDERBY [Customer Name] ASC, [Sales] DESC: RANK() }

{ PARTITION }分析関数に対するグループを定義します。ORDERBY はパーティション内になければなりません。

例:

{PARTITION [Customer]: {ORDERBY [Sales]: RANK()}}

THEN最初の true の <expr> に対して <then> 値を返す、一連の式をテストします。

例:

IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break even' ELSE 'unprofitable' END

WHENexpr> と一致する最初の <value> を検索し、対応する <return> を返します。

例:

CASE [RomanNumberal] WHEN 'I' THEN 1 WHEN 'II' THEN 2 ELSE 3 END

フィードバックをお送りいただき、ありがとうございます。フィードバックは正常に送信されました。ありがとうございます!