Only - チャート関数

Only() は、集計データに絞込結果が 1 つしか存在しない場合に値を返します。たとえば、単価 = 9 の製品を検索した場合、単価が 9 の製品が複数あると、NULL が返されます。

Syntax:  

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

Return data type: dual

Arguments:  

引数 説明
expr メジャーの対象となるデータが含まれている数式または項目。
SetExpression デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。
TOTAL

関数の引数の前に TOTAL の文字が配置されている場合、現在の軸の値に関連しているものだけでなく、現在の選択範囲内にあるすべての可能な値に対して計算が実行されます。つまりチャート軸は無視されます。

TOTAL [<fld {.fld}>] (ここで、TOTAL 修飾子の後には、1 つまたは複数の項目名のリストがチャート軸変数のサブセットとして続く) を使用して、合計絞込値のサブセットを作成できます。

集計範囲の定義

ヒント: Only() は、サンプル データに可能な値が複数存在する場合に NULL を返すよう設定するために使用します。

Examples and results:  

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)

B (ProductDD」を販売している唯一の 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 '|');