Only
Only() 會傳回一個值 (如果彙總資料有且僅有一個可能結果)。例如,搜尋唯一單位價格 =9 的產品時,如果多個產品單位價格為 9,則將傳回 NULL。
語法:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
傳回的資料類型: 雙值
引數:
- expr: 包含待測量資料的運算式或欄位。
- SetExpression: 依照預設,彙總函數將彙總選項所定義的一組可能記錄。集合分析運算式可定義一組替代的記錄。
- TOTAL: 如果 TOTAL 這個字出現在函數引數之前,會計算已指定目前選項的所有可能值,而不僅是與目前維度值相關的值,也就是說,會忽略圖表維度。 TOTAL 限定詞後面可以加上以角括弧 <fld> 括住的一或多個欄位名稱。這些欄位名稱應該是圖表維度變數的子集。
提示備註樣本資料中有多個可能值時若想得到 NULL 結果,請使用 Only()。
範例:
範例 | 結果 |
---|---|
Only({<UnitPrice={9}>} Product) |
BB,因為這是唯一 UnitPrice 為「9」的 Product。 |
Only({<Product={DD}>} Customer) |
Betacab,因為這是唯一銷售名為「DD」Product 的 Customer。 |
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 '|');
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 |