Only - 圖表函數

Only() 會傳回一個值 (如果彙總資料有且僅有一個可能結果)。例如,搜尋唯一單位價格 =9 的產品時,如果多個產品單位價格為 9,則將傳回 NULL

語法:  

Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)

傳回資料類型: 雙值

引數:  

引數 描述
expr 包含待測量資料的運算式或欄位。
SetExpression 依照預設,彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。
TOTAL

如果 TOTAL這個字出現在函數引數之前,會計算已指定目前選項的所有可能值,而不僅是與目前維度值相關的值,也就是說,會忽略圖表維度。

TOTAL限定詞後面可以加上以角括弧<fld> 括住的一或多個欄位名稱。這些欄位名稱應該是圖表維度變數的子集。

請參閱: 定義彙總範圍

提示: 樣本資料中有多個可能值時若想得到 NULL結果,請使用 Only()

範例與結果:  

Customer Product UnitSales UnitPrice
Astrida AA 4 16
Astrida AA 10 15
Astrida BB 9 9
Betacab BB 5 10
Betacab CC 2 20
Betacab DD - 25
Canutility AA 8 15
Canutility CC - 19
範例 結果

Only({<UnitPrice={9}>} Product)

BB,因為這是唯一 UnitPrice 為「9」的 Product

Only({<Product={DD}>} Customer)

Betacab,因為這是唯一銷售名為「DDProductCustomer

Only({<UnitPrice={20}>} UnitSales)

UnitSales的數目,其中 UnitPrice 為 20,因為只有一個 UnitSales 值,其中 UnitPrice =20。

Only({<UnitPrice={15}>} UnitSales)

NULL,因為有兩個 UnitSales 值,其中 UnitPrice =15。

範例中使用的資料:

ProductData:

LOAD * inline [

Customer|Product|UnitSales|UnitPrice

Astrida|AA|4|16

Astrida|AA|10|15

Astrida|BB|9|9

Betacab|BB|5|10

Betacab|CC|2|20

Betacab|DD||25

Canutility|AA|8|15

Canutility|CC||19

] (delimiter is '|');