Only - チャート関数
Only() は、集計データに絞込結果が 1 つしか存在しない場合に値を返します。たとえば、単価 = 9 の製品を検索した場合、単価が 9 の製品が複数あると、NULL が返されます。
構文:
Only([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
戻り値データ型: dual
引数:
引数 | 説明 |
---|---|
expr | メジャーの対象となるデータが含まれている数式または項目。 |
SetExpression | デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。 |
TOTAL |
関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。 TOTAL [<fld {.fld}>] (ここで、TOTAL 修飾子の後には、1 つまたは複数の項目名のリストがチャート軸変数のサブセットとして続く) を使用して、合計絞込値のサブセットを作成できます。 |
例と結果:
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 (Product の中で「9」という UnitPrice がある唯一の項目) |
Only({<Product={DD}>} Customer) |
Betacab、それは「DD」と呼ばれる Product を販売している唯一の Customer だからです。 |
Only({<UnitPrice={20}>} UnitSales) |
UnitSales の数。UnitSales の値は 1 つしかないため、UnitPrice が 20 の場合は 2 になる ((UnitPrice) =20) |
Only({<UnitPrice={15}>} UnitSales) |
NULL (UnitPrice = 15 の UnitSales 値が 2 つあるため) |
例で使用されているデータ:
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 '|');