聚總函數

聚總函數會對多個值執行運算以建立摘要結果。

下列逐一描述資料欄和計量資料欄的聚總規則。其中也包含建立分析之計算的項目時可使用的函數。

  • 預設 — 如同在語意模型中一樣套用預設的聚總規則,或依分析的原始作者套用預設的聚總規則。不適用於分析中之計算的項目。

  • 由伺服器決定 — 套用 Oracle Analytics 決定的聚總規則 (例如在語意模型中定義的規則)。簡單規則的聚總會在 Oracle Analytics 內執行,例如總和、最小值與最大值。不適用於「版面配置」窗格的計量資料欄或分析中的計算項目。

  • 總和 — 計算累加結果集中的所有值而獲得的總和。此選項適用於含有數值的項目。

  • 最小值 — 計算結果集中的資料列最小值 (最低數值)。此選項適用於含有數值的項目。

  • 最大值 — 計算結果集中的資料列最大值 (最高數值)。此選項適用於含有數值的項目。

  • 平均值 — 計算結果集中項目的平均值。此選項適用於含有數值的項目。表格與樞紐分析表中的平均值會四捨五入至最接近整數。

  • 第一個 — 在結果集中,選取計量第一個出現的項目。若為已計算的項目,依據「選取的清單」中的顯示選取第一個成員。不適用於編輯資料欄公式對話方塊。

  • 最後一個 — 在結果集中,選取最後一個出現的項目。若為已計算的項目,依據「選取的清單」中的顯示選取最後一個成員。不適用於編輯資料欄公式對話方塊。

  • 計數 — 計算結果集中項目為非空值的資料列數目。項目通常是資料欄名稱,在此狀況下,會傳回該資料欄中非空值的資料列數目。

  • 相異計數 — 新增差異處理至 Count 函數,這表示一個值只會計算一次。

  • — 不套用聚總。不適用於分析中之計算的項目。

  • 報表總計 (若適用) — 若未選取,表示 Oracle Analytics 應先依據整個結果集計算總計,再將任一篩選條件套用至計量。不適用於編輯資料欄公式對話方塊或分析中的計算項目。僅適用於屬性資料欄。

函數 範例 描述 語法

AGGREGATE AT

AGGREGATE(sales AT year)

根據您所指定資料模型階層的一或多個層級聚總資料欄。

  • measure 是計量資料欄的名稱。
  • level 是您想要進行聚總的層級。

您可以視需要指定多個層級。但您所指定的層級不能與用來作為第一個引數中所指定計量的計量層級來自相同維度。例如,如果 month (月份) 的時間維度與用來作為 yearly_sales (年度銷售額) 之計量層級的時間維度相同,您就不能將函數撰寫成 AGGREGATE(yearly_sales AT month)

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) 根據一或多個維度資料欄聚總計量。
  • measure 是要聚總的計量資料欄名稱。

  • column 是您想要進行聚總的維度資料欄。
您可以根據一或多個資料欄來聚總計量。
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

計算一組數值的平均值 (平均數)。

AVG(expr)

AVGDISTINCT

 

計算表示式所有相異值的平均值。

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

將指定的數值表示式分類成指定數目的相等寬度儲存桶。此函數可以傳回 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 表示儲格間隔的上限值。

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

由 1 到 n 排列表示式引數的 n 個最低值,1 對應最低數值。

expr 是任何評估為數值的表示式。integer 是任何正整數。代表在結果集中從下往上算起的個數,1 代表最低等級。

BottomN(expr, integer)

COUNT

COUNT(Products)

判斷含非空值的項目數量。

COUNT(expr)

COUNTDISTINCT

 

新增相異處理至 COUNT 函數。

expr 是任何表示式。

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

計算資料列數。

COUNT(*)

First

First(Sales)

選取表示式引數傳回的第一個非空值。First 函數會以您明確定義之維度中指定的最詳細層級進行運算。

First([NumericExpression)]

Last

Last(Sales)

選取表示式引數傳回的最後一個非空值。

Last([NumericExpression)]

MAVG

 

計算結果集中最後 n 列資料 (含目前資料列) 的移動平均值 (平均數)。

expr 是任何評估為數值的表示式。integer 是任何正整數。代表前 n 個資料列的資料平均值。

MAVG(expr, integer)

MAX

MAX(Revenue)

計算符合數值表示式引數之資料列的最大值 (最大數值)。

MAX(expr)

MEDIAN

MEDIAN(Sales)

計算符合數值表示式引數之資料列的中位數 (中間值)。當資料列數目為偶數時,中位數就是兩個中間資料列的平均值。這個函數一律會傳回雙精度數。

MEDIAN(expr)

MIN

MIN(Revenue)

計算符合數值表示式引數之資料列的最小值 (最小數值)。

MIN(expr)

NTILE

 

根據使用者指定的範圍決定值的排名。它會傳回多個整數以表示排列的範圍。NTILE 的 numTiles=100 時會傳回一般通稱的「百分比」(從 1 至 100 範圍的數字,100 代表排序的最大值)。

expr 是任何評估為數值的表示式。numTiles 是正的非空值整數,代表磚塊數目。

NTILE(expr, numTiles)

PERCENTILE

 

計算每個符合數值表示式引數值的百分等級。百分等級範圍是從 0 (第 0 個百分位數) 到 1 (第 100 個百分位數)。

expr 是任何評估為數值的表示式。

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

計算符合數值表示式引數之每個值的等級。最大的數字會被指定為 1,而後續的每個數字會被指定下一個連續整數 (2、3、4、...)。如果某些值相等,它們就會被指定為相同等級 (例如,1、1、1、4、5、5、7...)。

expr 是任何評估為數值的表示式。

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

傳回一組數值的標準差。傳回類型一律是雙精度數。

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

使用母體變異數和標準差的運算公式傳回一組數值的標準差。

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

累加所有符合數值表示式引數的值以計算總和。

SUM(expr)

SUMDISTINCT

 

累加所有符合數值表示式引數的相異值以計算總和。

expr 是任何評估為數值的表示式。

SUM(DISTINCT expr)

TOPN

 

由 1 到 n 排列表示式引數的 n 個最高值,1 對應最高數值。

expr 是任何評估為數值的表示式。integer 是任何正整數。代表在結果集中從上往下算起的個數,1 代表最高等級。

TOPN(expr, integer)

使用聚總函數的秘訣

以下是在工作簿中使用聚總函數時獲得最佳結果的一些秘訣。

秘訣

  • 避免對 100% 堆疊長條圖圖表類型使用第一個和最後一個聚總。若新增目前日期至 By,會新增單元塊至查詢,因而會擷取視覺化的所有資料列加上目前的日期。Last 函數接著會傳回該結果集中的最後一列,取決於從來源傳回資料的方式。