式で使用できる関数には様々なタイプがあります。
トピック:
分析関数では、予測、トレンド線やクラスタなどのモデルを使用してデータを調査できます。または、分析関数をワークブック・エディタにドラッグ・アンド・ドロップできます。
または、予測、トレンド線およびクラスタをワークブック・エディタのデータ・パネルの「分析」タブで選択して、ワークブックに追加できます。ビジュアライゼーションへの統計分析関数の追加を参照してください。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
CLUSTER |
|
K平均法または階層的クラスタリングを使用する1つ以上の入力式に基づいてレコード・セットをグループに集めます。 |
|
FORECAST |
日ごとの収益予測の例 この例では、日ごとの収益予測を選択しています。 FORECAST("A - Sample Sales"."Base Facts"."1- Revenue" Target, ("A - Sample Sales"."Time"."T00 Calendar Date"),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue 年および四半期ごとの収益予測の例 この例では、年および四半期ごとの収益予測を選択しています。 FORECAST("A - Sample Sales"."Base Facts"."1- Revenue", ("A - Sample Sales"."Time"."T01 Year" timeYear, "A - Sample Sales"."Time"."T02 Quarter" TimeQuarter),'forecast', 'numPeriods=30;predictionInterval=70;') ForecastedRevenue |
指数平滑法(ETS)または季節性ARMIAやARIMAを使用して、seriesに対して指定されたメジャーの時系列モデルを作成します。この関数は、numPeriods引数で指定された一連の期間の予測を出力します。 次の追加のFORECAST関数のオプションも参照してください。 |
FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])
ここで:
次の追加のFORECAST関数のオプションも参照してください。 |
OUTLIER |
|
K平均法、階層的クラスタリングまたは多変量外れ値検出アリゴリズムを使用する1つ以上の入力式に基づいて、レコードを外れ値として分類します。 |
|
REGR |
|
線形モデルに適合させて、適合した値またはモデルを返します。この関数は、2つのメジャーに線形曲線を適合するために使用できます。 |
|
TRENDLINE |
|
ビジュアライゼーションを表示する際に、「統計の追加」プロパティを使用してトレンド線を適用することをお薦めします。ビジュアライゼーション・プロパティの調整を参照してください。 線形、多項式または指数モデルに適合させて、適合した値またはモデルを返します。numeric_exprはトレンドのY値を表し、series (時間列)はX値を表します。 |
|
FORECAST関数のオプション 次の表は、FORECAST
関数とともに使用できるオプションを示しています。
オプション名 | 値 | 説明 |
---|---|---|
numPeriods | 整数 | 予測する期間の数 |
predictionInterval | 0から100。高い値で高い信頼度を指定します。 | 予測の信頼度レベル。 |
modelType |
ETS (指数平滑法) SeasonalArima ARIMA |
予測に使用するモデル。 |
useBoxCox |
TRUE FALSE |
TRUEの場合は、Box-Cox変換を使用します。 |
lambdaValue | 該当なし |
Box-Cox変換パラメータ。 NULLの場合または それ以外の場合は、モデルが評価される前にデータが変換されます。 |
trendDamp |
TRUE FALSE |
これは、指数平滑法モデルに固有です。 TRUEの場合は、減衰トレンドを使用します。FALSEまたはNULLの場合は、非減衰トレンドを使用します。 |
errorType |
該当なし |
これは、指数平滑法モデルに固有です。 |
trendType |
N (なし) A (加算) M (乗算) Z (自動選択) |
これは、指数平滑法モデルに固有です |
seasonType |
N (なし) A (加算) M (乗算) Z (自動選択) |
これは、指数平滑法モデルに固有です |
modelParamIC |
ic_auto ic_aicc ic_bic ic_auto (デフォルト) |
モデル選択で使用される情報基準(IC)。 |
変換関数は、ある形式から別の形式に値を変換します。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
CAST |
|
式またはnullリテラルのデータ型を別のデータ型に変更します。たとえば、customer_name ( Dateデータ型に変更する場合は、
|
|
IFNULL |
|
ある式がnull値と評価されるかどうかをテストし、評価された場合は、指定された値をその式に割り当てます。 |
|
INDEXCOL |
|
外部情報を使用して、サインイン・ユーザーが表示するのに適切な列を戻します。 |
|
NULLIF |
|
2つの式を比較します。それらが等しい場合、関数によりNULLが戻されます。それらが等しくない場合、関数により最初の式が戻されます。最初の式には、リテラルのNULLを指定できません。 |
|
To_DateTime |
|
DateTime書式の文字列リテラルをDateTimeデータ型に変換します。 |
|
VALUEOF |
|
フィルタでセマンティック・モデル変数の値を参照します。 expr変数を |
|
これらの関数は、タイムスタンプ値の計算または切捨てを行って、最も近い指定した期間(時間、日、週、月、四半期など)にします。
計算されたタイムスタンプを使用して、異なるグレインを使用してデータを集計できます。たとえば、EXTRACTDAY()
関数を受注日に適用して、注文が発生した日の午前0時のタイムスタンプを計算すると、データを日別に集計できます。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
日を抽出 |
EXTRACTDAY("Order Date")
|
入力値が発生した日の午前0時(午前12時)のタイムスタンプを返します。たとえば、入力タイムスタンプが2月22日午前3時02分01秒の場合、関数は2月22日午前12時00分00秒のタイムスタンプを返します。 |
|
時間を抽出 |
EXTRACTHOUR("Order Date")
|
入力値が発生した時刻の時間の開始のタイムスタンプを返します。たとえば、入力タイムスタンプが午後11時18分30秒の場合、関数は午後11時00分00秒のタイムスタンプを返します。 |
|
日の時間を抽出 |
EXTRACTHOUROFDAY("Order Date")
|
年、月、日、分および秒のデフォルト値を使用して、時間が入力値の時間と等しいタイムスタンプを返します。 |
|
ミリ秒を抽出 |
EXTRACTMILLISECOND("Order Date")
|
入力値のミリ秒を含むタイムスタンプを返します。たとえば、入力タイムスタンプが15時32分02.150秒の場合、関数は15時32分02.150秒のタイムスタンプを返します。 |
|
分を抽出 |
EXTRACTMINUTE("Order Date")
|
入力値が発生した時刻の分の開始のタイムスタンプを返します。たとえば、入力タイムスタンプが午前11時38分21秒の場合、関数は午前11時38分00秒のタイムスタンプを返します。 |
|
月を抽出 |
EXTRACTMONTH("Order Date")
|
入力値が発生した月の最初の日のタイムスタンプを返します。たとえば、入力タイムスタンプが2月22日の場合、関数は2月1日のタイムスタンプを返します。 |
|
四半期を抽出 |
EXTRACTQUARTER("Order Date")
|
入力値が発生した四半期の最初の日のタイムスタンプを返します。たとえば、入力タイムスタンプが第3会計四半期に発生した場合、関数は7月1日のタイムスタンプを返します。 |
|
秒を抽出 |
EXTRACTSECOND("Order Date")
|
入力値のタイムスタンプを返します。たとえば、入力タイムスタンプが15時32分02.150秒の場合、関数は15時32分02秒のタイムスタンプを返します。 |
|
週を抽出 |
EXTRACTWEEK("Order Date")
|
入力値が発生した週の最初の曜日(日曜日)の日付を返します。たとえば、入力タイムスタンプが9月24日水曜日の場合、関数は9月21日日曜日のタイムスタンプを返します。 ノート: 週の最初の日(つまり日曜日)が前年に該当し、集計に悪影響を及ぼす可能性がある場合、関数は前年の週の最初の日ではなく、当年の週の7日目(つまり土曜日)を返します。たとえば、1/1/24、1/2/24および1/3/24はすべてSunday 12/29/23ではなく、Saturday 1/6/24に集約されます。 |
|
年を抽出 |
EXTRACTYEAR("Order Date")
|
入力値が発生した年の1月1日のタイムスタンプを返します。たとえば、入力タイムスタンプが1967年に発生した場合、関数は1967年1月1日のタイムスタンプを返します。 |
|
ここでは、サブジェクト領域の日付を計算で使用する際に結果を最善のものにするためのヒントをいくつか示します。
計算へのサブジェクト領域の日付の追加
日付をサブジェクト領域から計算に直接ドラッグし、これを文字列または整数として処理した場合、エラーが発生します。これは、基礎となる日付値がタイムスタンプであるため発生します。
かわりに、日付抽出関数のいずれかを使用して、日付を解釈します。
たとえば、次のようなサブジェクト領域の日付があります。
.pngの説明
これらのサブジェクト領域の日付から月を抽出するには、ExtractMonthOfYear関数を使用します。
case when monthname(ExtractMonthOfYear("Date")) in ('Jan' ,'Feb', 'Mar') THEN 'Q1' ELSE 'Rest of the year' END
表示関数は、問合せの結果セットを操作します。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
BottomN |
|
式の下位n件の値を、最低から最高の順にランク付けして返します。 |
|
FILTER |
|
特定の事前集計済フィルタを使用して式を計算します。 |
|
MAVG |
|
現在の行を含めて、結果セットのデータの最後のn行の移動平均を計算します。 |
|
MSUM |
|
現在の行を含めて、データの最後のn行の移動合計を計算します。 最初の行の合計は、最初の行の数値式と同じです。2番目の行の合計は、最初の2つの行のデータ合計を取得することで計算され、同様に続いて実行されます。n 番目の行に到達すると、合計は最後のn行のデータに基づいて計算されます。 |
|
NTILE |
|
ユーザー指定範囲内での値のランクを判別します。範囲内のランクを示す整数が返されます。この例では、1から100までの範囲(最低がsale = 1で最高がsale = 100)を示しています。 |
|
PERCENTILE |
|
数値式引数に一致する各値のパーセント・ランクを計算します。パーセンタイル・ランクの範囲は、0(1番目のパーセンタイル)から1(100番目のパーセンタイル)です。 |
|
RANK |
|
数値式引数に一致する各値のランクを計算します。最も高い数にはランク1が割り当てられ、次に続くランクには2、3、4などの連続した整数が割り当てられます。ある値が等しい場合、同じランクが割り当てられます(例: 1、1、1、4、5、5、7...)。 |
|
RCOUNT |
|
入力として一連のレコードを取得して、見つかったレコード数をカウントします。 |
|
RMAX |
|
入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最大値を表示します。指定するデータ型はソートできるデータ型である必要があります。 |
|
RMIN |
|
入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最小値を表示します。指定するデータ型はソートできるデータ型である必要があります。 |
|
RSUM |
|
そこまでに処理されたレコードに基づいて累計を計算します。 最初の行の合計は、最初の行の数値式と同じです。2番目の行の合計は、最初の2つの行のデータ合計を取得することで計算され、同様に続いて実行されます。 |
|
TOPN |
|
式の上位n件の値を、最高から最低の順にランク付けして返します。 |
|
表示関数の使用に関するヒント
filter (<measure> using fiscal_quarter = 'Q4')
filter (<measure> using fiscal_quarter = 'Q3')
filter (<measure> using fiscal_year = 'FY24')
評価関数は、式を渡して高度な計算を取得するために使用できるデータベース関数です。
埋込みデータベース関数には、1つ以上の列が必要になる場合があります。これらの列は、関数内で%1 ... %Nによって参照されます。実際の列は、関数の後にリストする必要があります。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
EVALUATE |
|
パラメータとして(オプションで)参照列を使用する、指定されたデータベース関数をデータベースに渡して評価します。 |
|
EVALUATE_AGGR |
|
パラメータとして(オプションで)参照列を使用する、指定されたデータベース関数をデータベースに渡して評価します。この関数は、 |
|
ここで説明する算術関数では、数学的な操作を実行します。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
ABS |
|
数値式の絶対値を計算します。 exprは、数値に評価される任意の式です。 |
|
ACOS |
|
数値式のアークコサインを計算します。 exprは、数値に評価される任意の式です。 |
|
ASIN |
|
数値式のアークサインを計算します。 exprは、数値に評価される任意の式です。 |
|
ATAN |
|
数値式のアークタンジェントを計算します。 exprは、数値に評価される任意の式です。 |
|
ATAN2 |
|
y/xのアークタンジェントを計算します。ここでyは最初の数値式、xは2番目の数値式です。 |
|
CEILING |
|
整数以外の数値式を最も近い整数に切り上げます。数式が整数に評価される場合、 |
|
COS |
|
数値式のコサインを計算します。 exprは、数値に評価される任意の式です。 |
|
COT |
|
数値式のコタンジェントを計算します。 exprは、数値に評価される任意の式です。 |
|
DEGREES |
|
式をラジアンから次数に変換します。 exprは、数値に評価される任意の式です。 |
|
EXP |
|
値を指定された値でべき乗します。eのn乗を計算します。ここでeは自然対数の底です。 |
|
ExtractBit |
|
整数内の特定の位置にあるビットを取得します。そのビットに対応する0か1の整数が返されます。 |
|
FLOOR |
|
整数以外の数値式を最も近い整数に切り下げます。数式が整数に評価される場合、 |
FLOOR(expr) |
LOG |
|
式の自然対数を計算します。 exprは、数値に評価される任意の式です。 |
|
LOG10 |
|
式の十進法の対数を計算します。 exprは、数値に評価される任意の式です。 |
|
MOD |
|
最初の数値式を2番目の数値式で除算し、商の剰余を返します。 |
|
PI |
|
PIの定数値を戻します。 |
|
POWER |
|
最初の数値式を使用して、これを2番目の数値式で指定された累乗にします。 |
|
RADIANS |
|
式を次数からラジアンに変換します。 exprは、数値に評価される任意の式です。 |
|
RAND |
|
0から1の擬似乱数を返します。 |
|
RANDFromSeed |
|
シード値に基づいた擬似乱数を返します。特定のシード値に対して、乱数の同一のセットが生成されます。 |
|
ROUND |
|
数値式をn桁の精度で丸めます。 exprは、数値に評価される任意の式です。 integerは、丸める精度の桁数を表す任意の正の整数です。 |
|
SIGN |
|
次が返されます。
|
|
SIN |
|
数値式のサインを計算します。 |
|
SQRT |
|
数値式引数の平方根を計算します。数式は、負数でない数値に評価される必要があります。 |
|
TAN |
|
数値式のタンジェントを計算します。 exprは、数値に評価される任意の式です。 |
|
TRUNCATE |
|
小数部分を切り捨て、小数点から指定した数の桁数を返します。 exprは、数値に評価される任意の式です。 integerは、小数位の右側から返す文字数を表す任意の正の整数です。 |
|
集計実行関数は、複数の値に対して操作を実行しサマリー結果を作成します。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
MAVG |
現在の行を含めて、結果セットのデータの最後のn行の移動平均を計算します。 exprは、数値に評価される任意の式です。integerは、任意の正の整数です。最後のn行のデータ平均を表します。 |
|
|
MSUM |
|
現在の行を含めて、データの最後のn行の移動合計を計算します。 exprは、数値に評価される任意の式です。integerは、任意の正の整数です。データの最後のn行の合計を表します。 |
|
RSUM |
|
そこまでに処理されたレコードに基づいて累計を計算します。 exprは、数値に評価される任意の式です。 |
|
RCOUNT |
|
入力として一連のレコードを取得して、見つかったレコード数をカウントします。 exprは、任意のデータ型の式です。 |
|
RMAX |
|
入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最大値を表示します。 exprは、任意のデータ型の式です。 |
|
RMIN |
|
入力として一連のレコードを取得して、そこまでに処理されたレコードに基づいて最小値を表示します。 exprは、任意のデータ型の式です。 |
|
空間関数により、データをモデル化するときに地理的分析を実行できます。たとえば、2つの地理的なエリア(形状または多角形と呼ばれる)間の距離を計算できます。
注:
これらの空間関数は、ビジュアライゼーション・ワークブックのカスタム計算では使用できません。関数 | 例 | 説明 | 構文 |
---|---|---|---|
GeometryArea |
|
形状が占有するエリアを計算します。 |
|
GeometryDistance |
|
2つの形状間の距離を計算します。 |
|
GeometryLength |
|
形状の外周を計算します。 |
|
GeometryRelate |
|
1つの形状が他の形状の内側にあるかどうかを特定します。TRUEまたはFALSEを文字列(varchar)として返します。 |
|
GeometryWithinDistance |
|
2つの形状が、指定された互いの距離以内に存在しているかどうかを特定します。TRUEまたはFALSEを文字列(varchar)として返します。 |
|
文字列関数は様々な文字操作を実行します。これらは文字列に対して動作します。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
ASCII |
|
シングル・キャラクタ文字列を、0から255までの対応するASCIIコードに変換します。文字式が複数の文字に評価される場合は、式の最初の文字に対応するASCIIコードが返されます。 exprは、文字列に評価される任意の式です。 |
|
BIT_LENGTH |
|
指定した文字列の長さをビット単位で返します。各Unicode文字の長さは2バイトです(16ビットに相当)。 exprは、文字列に評価される任意の式です。 |
|
CHAR |
|
0から255の間の数値を対応するASCIIコードの文字値に変換します。 exprは、0から255までの数値に評価される任意の式です。 |
|
CHAR_LENGTH |
|
指定した文字列の長さを文字数で返します。先頭と末尾の空白は、文字列の長さとして計算されません。 exprは、文字列に評価される任意の式です。 |
|
CONCAT |
|
2つの文字列を連結します。 exprsは、カンマで区切られた文字列に評価される式です。
|
|
INSERT |
|
指定した文字列を別の文字列の指定した場所に挿入します。 expr1は、文字列に評価される任意の式です。ターゲットの文字列を示します。 integer1は、2番目の文字列が挿入される、ターゲットの文字列の先頭からの文字数を表す任意の正の整数です。 integer2は、2番目の文字列によって置換される、ターゲットの文字数を表す任意の正の整数です。 expr2は、文字列に評価される任意の式です。ターゲットの文字列に挿入される文字列を示します。 |
|
LEFT |
|
文字列の左側から、指定された文字数を返します。 exprは、文字列に評価される任意の式です integerは、文字列の左側から返す文字数を表す任意の正の整数です。 |
|
LENGTH |
|
指定した文字列の長さを文字数で返します。末尾の空白文字を除いた長さが返されます。 exprは、文字列に評価される任意の式です。 |
|
LOCATE |
|
別の文字列での文字列の数値位置を返します。文字列が検索される文字列で見つからない場合、関数は値0を返します。 expr1は、文字列に評価される任意の式です。検索する文字列を示します。 expr2は、文字列に評価される任意の式です。 検索される文字列を示します。 |
|
LOCATEN |
|
LOCATEと同様に、別の文字列での文字列の数値位置を返します。LOCATENには、検索の開始位置を指定できる整数の引数が含まれます。 expr1は、文字列に評価される任意の式です。検索する文字列を示します。 expr2は、文字列に評価される任意の式です。検索される文字列を示します。 integerは、文字列の検索を開始する位置を表す任意の正(ゼロ以外)の整数です。 |
|
LOWER |
|
文字列を小文字に変換します。 exprは、文字列に評価される任意の式です。 |
|
OCTET_LENGTH |
|
指定した文字列のバイト数を返します。 exprは、文字列に評価される任意の式です。 |
|
POSITION |
|
文字式でのstrExpr1の数値位置を返します。strExpr1が見つからない場合、関数は0を返します。 expr1は、文字列に評価される任意の式です。ターゲット文字列で検索する文字列を示します。たとえば、"d"などです。 expr2は、文字列に評価される任意の式です。検索されるターゲット文字列を示します。たとえば、"abcdef"などです。 |
|
REPEAT |
|
指定した式をn回繰り返します。 exprは、文字列に評価される任意の式です integerは、文字列を繰り返す回数を表す任意の正の整数です。 |
|
REPLACE |
|
指定した文字式の1つ以上の文字を、別の1つ以上の文字で置換します。 expr1は、文字列に評価される任意の式です。これは、文字が置換される文字列です。 expr2は、文字列に評価される任意の式です。この2番目の文字列は、1番目の文字列で置換される文字を示します。 expr3は、文字列に評価される任意の式です。この3番目の文字列は、1番目の文字列内に代入する文字を指定します。 |
|
RIGHT |
|
文字列の右側から、指定した数の文字を返します。 exprは、文字列に評価される任意の式です。 integerは、文字列の右側から返す文字数を表す任意の正の整数です。 |
|
SPACE |
|
空白を挿入します。 integerは、挿入するスペースの数を示す任意の正の整数です。 |
|
SUBSTRING |
|
固定文字数から元の文字列の新しい文字列を作成します。 exprは、文字列に評価される任意の式です。 startPosは、文字列の左の先頭(結果の先頭)からの文字数を表す任意の正の整数です。 |
|
SUBSTRINGN |
|
SUBSTRINGと同様に、固定文字数から元の文字列の新しい文字列を作成します。 SUBSTRINGNには、新しい文字列の長さを文字数で指定できる整数の引数が含まれます。 exprは、文字列に評価される任意の式です。 startPosは、文字列の左の先頭(結果の先頭)からの文字数を表す任意の正の整数です。 |
|
TrimBoth |
|
文字列から指定した先頭および末尾の文字列を削除します。 charは、任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。 exprは、文字列に評価される任意の式です。 |
|
TRIMLEADING |
|
文字列から指定した先頭の文字列を削除します。 charは、任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。 exprは、文字列に評価される任意の式です。 |
|
TRIMTRAILING |
|
文字列から指定した末尾の文字列を削除します。 charは、任意の単一文字です。文字の指定(および必須の一重引用符)を省略すると、空白文字がデフォルトで使用されます。 exprは、文字列に評価される任意の式です。 |
|
UPPER |
|
文字列を大文字に変換します。 exprは、文字列に評価される任意の式です。 |
|
USER
システム関数は、セッションに関連する値を返します。たとえば、サインインしたユーザーのユーザー名です。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
DATABASE |
ログオンしているサブジェクト領域の名前を返します。 |
|
|
USER |
ログオンしているセマンティック・モデルのユーザー名を返します。 |
|
時系列関数では、時間ディメンションに基づいてデータを集計および予測できます。たとえば、AGO関数を使用して、1年前からの収益を計算できます。
時間ディメンションのメンバーは、関数のレベル以下である必要があります。そのため、指定されたレベル以下のメンバーを一意に識別する1つ以上の列が、問合せに計画されている必要があります。
関数 | 例 | 説明 | 構文 |
---|---|---|---|
AGO |
|
過去の指定された期間のメジャーの集計値を計算します。たとえば、1年前の月次収益を計算するには、 |
ここで:
|
PERIODROLLING |
|
x単位の時間から始まり、現在の時刻からy単位の時間で終わる期間のメジャーの合計を計算します。たとえば、 |
ここで:
|
TODATE |
|
期間の開始から最新の期間までのメジャーの集計値を計算します。たとえば、年度開始から現在の計算。 たとえば、過去1年間の売上を計算するには、 |
ここで:
|