您可以使用 SQL 運算子指定表示式之間的比較方式和算術運算。
您可以使用多種類型的 SQL 運算子。
運算子 | 範例 | 描述 | 語法 |
---|---|---|---|
BETWEEN |
|
判斷某個值是否介於兩個範圍之間 (未包含範圍值本身)。
|
|
IN |
|
判斷某個值是否在一組值中。 |
|
IS NULL |
|
判斷某個值是否為空值。 |
|
LIKE |
|
判斷某個值是否符合整個字串或部分字串。通常與萬用字元搭配使用,指示是否有任何字元字串符合零、有多個字元相符 (%) 或有任何單一字元相符 (_)。 |
|
+ |
|
加號代表加法。 |
|
- |
|
減號代表減法。 |
|
* 或 X |
|
乘號代表乘法。 |
|
/ |
|
除號代表除法。 |
|
% |
百分比 |
|
|
|| |
|
字元字串串接。 |
|
( |
|
左括號。 |
|
) |
|
右括號。 |
|
> |
|
大於符號,代表大於比較的值。 |
|
< |
|
小於符號,代表小於比較的值。 |
|
= |
等號,代表相同的值。 |
|
|
>= |
大於或等於符號,代表值與比較相同或大於比較。 |
|
|
<= |
小於或等於符號,代表值與比較相同或小於比較。 |
|
|
<> |
|
不等於,代表值大於或小於,但絕對不同。 |
|
, |
|
逗號,用於分隔清單中的元素。 |
|
聚總函數會對多個值執行運算以建立摘要結果。
下列逐一描述資料欄和計量資料欄的聚總規則。其中也包含建立分析之計算的項目時可使用的函數。
預設 — 如同在語意模型中一樣套用預設的聚總規則,或依分析的原始作者套用預設的聚總規則。不適用於分析中之計算的項目。
由伺服器決定 — 套用 Oracle Analytics 決定的聚總規則 (例如在語意模型中定義的規則)。簡單規則的聚總會在 Oracle Analytics 內執行,例如總和、最小值與最大值。不適用於「版面配置」窗格的計量資料欄或分析中的計算項目。
總和 — 計算累加結果集中的所有值而獲得的總和。此選項適用於含有數值的項目。
最小值 — 計算結果集中的資料列最小值 (最低數值)。此選項適用於含有數值的項目。
最大值 — 計算結果集中的資料列最大值 (最高數值)。此選項適用於含有數值的項目。
平均值 — 計算結果集中項目的平均值。此選項適用於含有數值的項目。表格與樞紐分析表中的平均值會四捨五入至最接近整數。
第一個 — 在結果集中,選取計量第一個出現的項目。若為已計算的項目,依據「選取的清單」中的顯示選取第一個成員。不適用於編輯資料欄公式對話方塊。
最後一個 — 在結果集中,選取最後一個出現的項目。若為已計算的項目,依據「選取的清單」中的顯示選取最後一個成員。不適用於編輯資料欄公式對話方塊。
計數 — 計算結果集中項目為非空值的資料列數目。項目通常是資料欄名稱,在此狀況下,會傳回該資料欄中非空值的資料列數目。
相異計數 — 新增差異處理至 Count 函數,這表示一個值只會計算一次。
無 — 不套用聚總。不適用於分析中之計算的項目。
報表總計 (若適用) — 若未選取,表示 Oracle Analytics 應先依據整個結果集計算總計,再將任一篩選條件套用至計量。不適用於編輯資料欄公式對話方塊或分析中的計算項目。僅適用於屬性資料欄。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
AGGREGATE AT |
|
根據您所指定資料模型階層的一或多個層級聚總資料欄。
您可以視需要指定多個層級。但您所指定的層級不能與用來作為第一個引數中所指定計量的計量層級來自相同維度。例如,如果 month (月份) 的時間維度與用來作為 yearly_sales (年度銷售額) 之計量層級的時間維度相同,您就不能將函數撰寫成 |
|
AGGREGATE BY | AGGREGATE(sales BY month, region) |
根據一或多個維度資料欄聚總計量。
|
AGGREGATE(measure BY column [, column1, columnN]) |
AVG |
|
計算一組數值的平均值 (平均數)。 |
|
AVGDISTINCT |
計算表示式所有相異值的平均值。 |
|
|
BIN |
|
將指定的數值表示式分類成指定數目的相等寬度儲存桶。此函數可以傳回 bin 號碼或 bin 間隔的兩個端點其中之一。numeric_expr 是 bin 的計量或數值屬性。BY grain_expr1,…, grain_exprN 是表示式清單,定義要計算 numeric_expr 的單元塊。BY 對計量表示式而言為必要項目,對屬性表示式而言則為選擇性項目。WHERE 是在將數值指定給儲格之前要套用至 numeric_expr 的篩選條件。INTO number_of_bins BINS 是要傳回的儲格數目。BETWEEN min_value AND max_value 是用於最外面儲格端點的最小值與最大值。RETURNING NUMBER 表示傳回值應該是儲格編號 (1、2、3、4 等)。這是預設值。RETURNING RANGE_LOW 表示儲格間隔的下限值。RETURNING RANGE_HIGH 表示儲格間隔的上限值。 |
|
BottomN |
由 1 到 n 排列表示式引數的 n 個最低值,1 對應最低數值。 expr 是任何評估為數值的表示式。integer 是任何正整數。代表在結果集中從下往上算起的個數,1 代表最低等級。 |
|
|
COUNT |
|
判斷含非空值的項目數量。 |
|
COUNTDISTINCT |
新增相異處理至 COUNT 函數。 expr 是任何表示式。 |
|
|
COUNT* |
|
計算資料列數。 |
|
First |
|
選取表示式引數傳回的第一個非空值。 |
|
Last |
|
選取表示式引數傳回的最後一個非空值。 |
|
MAVG |
計算結果集中最後 n 列資料 (含目前資料列) 的移動平均值 (平均數)。 expr 是任何評估為數值的表示式。integer 是任何正整數。代表前 n 個資料列的資料平均值。 |
|
|
MAX |
|
計算符合數值表示式引數之資料列的最大值 (最大數值)。 |
|
MEDIAN |
|
計算符合數值表示式引數之資料列的中位數 (中間值)。當資料列數目為偶數時,中位數就是兩個中間資料列的平均值。這個函數一律會傳回雙精度數。 |
|
MIN |
|
計算符合數值表示式引數之資料列的最小值 (最小數值)。 |
|
NTILE |
根據使用者指定的範圍決定值的排名。它會傳回多個整數以表示排列的範圍。NTILE 的 numTiles=100 時會傳回一般通稱的「百分比」(從 1 至 100 範圍的數字,100 代表排序的最大值)。 expr 是任何評估為數值的表示式。numTiles 是正的非空值整數,代表磚塊數目。 |
|
|
PERCENTILE |
計算每個符合數值表示式引數值的百分等級。百分等級範圍是從 0 (第 0 個百分位數) 到 1 (第 100 個百分位數)。 expr 是任何評估為數值的表示式。 |
|
|
RANK |
|
計算符合數值表示式引數之每個值的等級。最大的數字會被指定為 1,而後續的每個數字會被指定下一個連續整數 (2、3、4、...)。如果某些值相等,它們就會被指定為相同等級 (例如,1、1、1、4、5、5、7...)。 expr 是任何評估為數值的表示式。 |
|
STDDEV |
|
傳回一組數值的標準差。傳回類型一律是雙精度數。 |
|
STDDEV_POP |
|
使用母體變異數和標準差的運算公式傳回一組數值的標準差。 |
|
SUM |
|
累加所有符合數值表示式引數的值以計算總和。 |
|
SUMDISTINCT |
累加所有符合數值表示式引數的相異值以計算總和。 expr 是任何評估為數值的表示式。 |
|
|
TOPN |
由 1 到 n 排列表示式引數的 n 個最高值,1 對應最高數值。 expr 是任何評估為數值的表示式。integer 是任何正整數。代表在結果集中從上往下算起的個數,1 代表最高等級。 |
|
分析函數可讓您使用模型 (例如 trendline 和 cluster) 來瀏覽資料。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
TRENDLINE |
|
Oracle 建議您在檢視視覺化時使用新增統計資料特性來套用趨勢線。請參閱調整視覺化特性。 適用於線性、多項式或指數模型,會傳回適合的值或模型。numeric_expr 代表趨勢的 Y 值,而 series (時間資料欄) 代表 X 值。 |
|
CLUSTER |
|
使用 K-Means 或階層式分群法根據一或多個輸入表示式,將收集的記錄組分成多組。 |
|
OUTLIER |
|
使用 K-Means、「階層式分群法」或「多變量極端值」偵測演算法,依據一或多個輸入表示式將記錄歸類為極端值。 |
|
REGR |
|
適用於線性模型,會傳回適合的值或模型。此函數可用來適配兩個計量上的線性曲線。 |
|
EVALUATE_SCRIPT |
|
執行 script_file_path 中指定的 Python 命令檔,並傳入一或多個資料欄或常值表示式作為輸入。函數的輸出則由 output_column_name 決定。 |
|
轉換函數可以將某個值轉換為另一個值。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
CAST |
|
將表示式或空常值的資料類型變更為另一種資料類型。例如,您可以將 customer_name ( |
|
IFNULL |
|
測試表示式是否評估為空值,如果是,則將指定值指定給表示式。 |
|
INDEXCOL |
|
使用外部資訊可傳回適當的資料欄供已登入的使用者查看。 |
|
NULLIF |
|
比較兩個表示式。若二者相等,此函數會傳回 NULL。若二者不相等,此函數會傳回第一個表示式。您不能為第一個表示式指定文字 NULL。 |
|
To_DateTime |
|
將 DateTime 格式的字串文字轉換為 DateTime 資料類型。 |
|
VALUEOF |
|
在篩選中參照某個語意模型變數值。 使用 expr 變數作為 |
|
日期和時間函數根據 DATE
和 DATETIME
操控資料。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
CURRENT_Date |
|
傳回目前的日期。 日期由執行 Oracle BI 的系統決定。 |
|
CURRENT_TIME |
|
以指定的數字位數傳回目前的時間,例如 HH:MM:SS.SSS。 若未指定引數,此函數會傳回預設的數字位數。 |
|
CURRENT_TIMESTAMP |
|
以指定的數字位數傳回目前的日期/時戳。 |
|
DAYNAME |
|
傳回指定日期表示式的星期幾名稱。 |
|
DAYOFMONTH |
|
傳回指定日期表示式之當月天次的數字。 |
|
DAYOFWEEK |
|
傳回 1 到 7 之間的數字,相對應於指定日期表示式的一週天次。例如,1 一律對應星期日、2 對應星期一,依此類推至星期六 (傳回 7)。 |
|
DAYOFYEAR |
|
傳回 1 到 366 之間的數字,相對應於指定日期表示式的當年天次。 |
|
DAY_OF_QUARTER |
|
傳回 1 到 92 之間的數字,相對應於指定日期表示式的當季的天次。 |
|
HOUR |
|
傳回 0 到 23 之間的數字,相對應於指定時間表示式的小時。例如,0 對應早上 12 點,23 對應晚上 11 點。 |
|
MINUTE |
|
傳回 0 到 59 之間的數字,相對應於指定時間表示式的分鐘。 |
|
MONTH |
|
傳回 1 到 12 之間的數字,相對應於指定日期表示式的月份。 |
|
MONTHNAME |
|
傳回指定日期表示式之月份的名稱。 |
|
MONTH_OF_QUARTER |
|
傳回 1 到 3 之間的數字,相對應於指定日期表示式的當季月份。 |
|
NOW |
|
傳回目前的時戳。 |
|
QUARTER_OF_YEAR |
|
傳回 1 到 4 之間的數字,相對應於指定日期表示式的當年季別。 |
|
SECOND |
|
傳回 0 到 59 之間的數字,相對應於指定時間表示式的秒鐘。 |
|
TIMESTAMPADD |
|
在時戳加上指定的間隔次數,並傳回單一時戳。 間隔選項包括:SQL_TSI_SECOND、SQL_TSI_MINUTE、SQL_TSI_HOUR、SQL_TSI_DAY、SQL_TSI_WEEK、SQL_TSI_MONTH、SQL_TSI_QUARTER、SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
傳回兩個時戳之間的指定間隔總數。 使用與 TIMESTAMPADD 相同的間隔。 |
|
WEEK_OF_QUARTER |
|
傳回 1 到 13 之間的數字,相對應於指定日期表示式的當季週別。 |
|
WEEK_OF_YEAR |
|
傳回 1 到 53 之間的數字,相對應於指定日期表示式的當年週別。 |
|
YEAR |
|
傳回指定日期表示式的年度。 |
|
這些函數可計算時間戳記值,或將其無條件捨去至最接近的指定期間,例如小時、日、週、月和季。
您可以使用計算的時間戳記聚總使用不同精細度的資料。例如,您可以將 EXTRACTDAY()
函數套用至銷售訂單日期,以計算訂單發生當日午夜的時間戳記,以便依日聚總資料。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
擷取日 |
EXTRACTDAY("Order Date")
|
傳回發生輸入值當日午夜 (12 AM) 的時間戳記。例如,如果輸入時間戳記為 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")
|
傳回發生輸入值的當季第一天的時間戳記。例如,如果輸入時間戳記發生在第三個會計季度,則此函數會傳回 7 月 1 日的時間戳記。 |
|
擷取秒 |
EXTRACTSECOND("Order Date")
|
傳回輸入值的時間戳記。例如,如果輸入時間戳記為 15:32:02.150,則此函數會傳回 15:32:02 的時間戳記。 |
|
擷取週 |
EXTRACTWEEK("Order Date")
|
傳回發生輸入值的當週第一天 (星期日) 的日期。例如,如果輸入時間戳記為 9 月 24 日星期三,則此函數會傳回 9 月 21 日星期日的時間戳記。 |
|
擷取年 |
EXTRACTYEAR("Order Date")
|
傳回發生輸入值的當年 1 月 1 日的時間戳記。例如,如果輸入時間戳記發生在 1967 年,則此函數會傳回 1967 年 1 月 1 日的時間戳記。 |
|
顯示函數作用於查詢的結果集。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
BottomN |
|
傳回表示式之 n 個最低的值 (從最低到最高)。 |
|
FILTER |
|
使用指定的預先聚總篩選運算表示式。 |
|
MAVG |
|
計算結果集中最後 n 列資料 (含目前資料列) 的移動平均值 (平均數)。 |
|
MSUM |
|
計算最後 n 列資料 (含目前資料列) 的移動總和。 第一個資料列的總和等於第一個資料列的數值表示式。第二個資料列的總和為前兩列資料的總和,依此類推。當計算到第 n 個資料列時,即為根據前 n 個資料列的資料來計算總和。 |
|
NTILE |
|
根據使用者指定的範圍決定值的排名。它會傳回多個整數以表示排列的範圍。此範例顯示的範圍為 1 到 100,最低的銷售 = 1,最高的銷售 = 100。 |
|
PERCENTILE |
|
計算符合數值表示式引數之每個值的百分比等級。百分等級範圍是從 0 (第 1 個百分位數) 到 1 (第 100 個百分位數),並包含這兩者。 |
|
RANK |
|
計算符合數值表示式引數之每個值的等級。最大的數字會被指定為 1,而後續的每個數字會被指定下一個連續整數 (2、3、4、...)。如果某些值相等,它們就會被指定為相同等級 (例如,1、1、1、4、5、5、7...)。 |
|
RCOUNT |
|
接受一組記錄作為輸入,然後計算截至目前所產生的記錄筆數。 |
|
RMAX |
|
接受一組記錄作為輸入,然後根據截至目前所產生的記錄顯示最大值。指定的資料類型必須是可以排列的類型。 |
|
RMIN |
|
接受一組記錄作為輸入,然後根據截至目前所產生的記錄顯示最小值。指定的資料類型必須是可以排列的類型。 |
|
RSUM |
|
根據截至目前為止所產生的記錄計算累積總和。 第一個資料列的總和等於第一個資料列的數值表示式。第二個資料列的總和為前兩列資料的總和,依此類推。 |
|
TOPN |
|
傳回表示式之 n 個最高的值 (從最高到最低)。 |
|
評估函數為資料庫函數,可用來傳送表示式以取得進階運算。
內嵌的資料庫函數可能需要一或多個資料欄。函數中的 %1 ... %N 會參照這些資料欄。實際的資料欄必須列於函數之後。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
EVALUATE |
|
以選擇性參照資料欄為參數,將指定的資料庫函數傳送至資料庫以進行評估。 |
|
EVALUATE_AGGR |
|
以選擇性參照資料欄為參數,將指定的資料庫函數傳送至資料庫以進行評估。此函數是用於含 |
|
本小節中描述的算術函數可執行算術運算。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
ABS |
|
可計算數值表示式的絕對值。 expr 是任何評估為數值的表示式。 |
|
ACOS |
|
可計算數值表示式的反餘弦。 expr 是任何評估為數值的表示式。 |
|
ASIN |
|
可計算數值表示式的反正弦。 expr 是任何評估為數值的表示式。 |
|
ATAN |
|
可計算數值表示式的反正切。 expr 是任何評估為數值的表示式。 |
|
ATAN2 |
|
可計算 y /x 的反正切,其中 y 是第一個數值表示式,而 x 是第二個數值表示式。 |
|
CEILING |
|
可將非整數數值表示式進位至次高整數。如果數值表示式評估為一個整數, |
|
COS |
|
可計算數值表示式的餘弦。 expr 是任何評估為數值的表示式。 |
|
COT |
|
可計算數值表示式的餘切。 expr 是任何評估為數值的表示式。 |
|
DEGREES |
|
可將表示式從弧度 (radian) 轉換為度 (degree)。 expr 是任何評估為數值的表示式。 |
|
EXP |
|
可將值傳送至指定的次方。可計算 e 的 n 次方,其中 e 是自然對數的底數。 |
|
ExtractBit |
|
可擷取整數中特定位置的一個位元。它會傳回對應該位元位置的整數 0 或 1。 |
|
FLOOR |
|
可將非整數數值表示式捨去至次低整數。如果數值表示式評估為一個整數, |
FLOOR(expr) |
LOG |
|
可計算表示式的自然對數 (Natural Logarithm)。 expr 是任何評估為數值的表示式。 |
|
LOG10 |
|
可計算表示式以 10 為基底的對數。 expr 是任何評估為數值的表示式。 |
|
MOD |
|
可將第一個數值表示式除以第二個數值表示式,並傳回商數 (quotient) 的餘數部分。 |
|
PI |
|
可傳回 pi 的常數值。 |
|
POWER |
|
接受第一個數值表示式,並提升至第二個數值表示式中所指定的次方。 |
|
RADIANS |
|
可將表示式從度 (degree) 轉換為弧度 (radian)。 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 是任何資料類型的表示式。 |
|
字串函數可執行各種不同的字元操控。它們對字元字串有作用。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
ASCII |
|
可將單一字元字串轉換為相對應的 ASCII 碼 (0 到 255)。如果字元表示式評估為多個字元,將會傳回對應表示式中第一個字元的 ASCII 碼。 expr 是任何評估為字元字串的表示式。 |
|
BIT_LENGTH |
|
可傳回指定字串的長度 (位元)。每個 Unicode 字元的長度均為 2 個位元組 (等於 16 個位元)。 expr 是任何評估為字元字串的表示式。 |
|
CHAR |
|
可將 0 到 255 之間的數值轉換為相對應於 ASCII 碼的字元值。 expr 是任何評估為 0 到 255 間之數值的表示式。 |
|
CHAR_LENGTH |
|
可傳回指定字串的長度 (字元數)。字串的長度不包括前置空格和尾端空格。 expr 是任何評估為字元字串的表示式。 |
|
CONCAT |
|
可串連兩個字元字串。 exprs 是評估為字元字串 (使用逗號區隔) 的表示式。 您必須將原始資料 (未格式化的資料) 與 |
|
INSERT |
|
將指定的字元字串插入另一個字元字串中的指定位置。 expr1 是任何評估為字元字串的表示式。主要識別目標字元字串。 integer1 是代表從目標字串開頭算起之字元數的任何正整數,系統將在此字元數後插入第二個字串。 integer2 是代表目標字串中將取代為第二個字串之字元數的任何正整數。 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 |
|
可將指定字元表示式中的一或多個字元取代為一或多個其他字元。 expr1 是任何評估為字元字串的表示式。這是其中字元將被取代的字串。 expr2 是任何評估為字元字串的表示式。此第二個字串識別第一個字串中將被取代的字元。 expr3 是任何評估為字元字串的表示式。此第三個字串指定要替代第一個字串的字元。 |
|
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 函數來計算一年前至今的收益。
時間維度成員所在的層級必須與函數的層級相同或更低。因此,在查詢中必須有一或多個資料欄能夠唯一識別位於或低於指定層級的成員。
您也可以使用主題區域中定義的時間層級階層,對主題區域資料套用這些函數。請參閱在工作簿中建立計算的資料元素。
函數 | 範例 | 描述 | 語法 |
---|---|---|---|
AGO |
|
計算過去一段指定期間內某個計量的聚總值。例如,若要計算一年前的每月收益,請使用 |
其中:
|
PERIODROLLING |
|
可計算從 x 個時間單位開始,到 y 個時間結束,這一段期間的計量聚總。例如, |
其中:
|
TODATE |
|
計算某個計量從期間開始到最新期間的聚總值,例如年累計至今計算式。 例如,若要計算年累計至今銷售額,請使用 |
其中:
|
FORECAST 函數
使用指數平滑法 (ETS) 或季節性 ARIMA 或 ARIMA,針對指定的序列計量建立時間序列模型。此函數會輸出 numPeriods 引數所指定一組期間的預測。
語法 FORECAST(measure, ([series]), output_column_name, options,[runtime_binded_options])])
其中:
measure 代表要預測的計量,例如收益資料。
series 代表用於建立預測模型的時間單元塊。序列是含有一或多個時間維度資料欄的清單。如果您忽略了 series,系統會根據查詢決定時間點。
output_column_name 代表 forecast、low、high 以及 predictionInterval 的有效資料欄名稱。
options 代表以分號 (;) 區隔的名稱/值組字串清單。值可以包括 runtime_binded_options
中指定的 %1 ... %N。
runtime_binded_options 代表以逗號區隔的資料欄與選項清單。這些資料欄和選項的值會在個別查詢執行期間進行評估和解析。
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)。 |
每日收益預測範例
此範例會選取每日的收益預測。
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
您可以使用常數在工作簿與報表中包含特定的固定日期和時間。
常數 | 範例 | 描述 | 語法 |
---|---|---|---|
DATE |
|
在計算式或表示式中建立特定日期。 |
|
TIME |
|
在計算式或表示式中建立特定時間。 |
|
TIMESTAMP |
|
在計算式或表示式中建立特定時間戳記。 |
|