メイン コンテンツをスキップする 補完的コンテンツへスキップ

FirstSortedValue - チャート関数

FirstSortedValue() は、value で指定した数式から値を返します。これは、単価が最も低い製品の名前など、sort_weight 引数のソート結果に対応します。rank では、ソート順の n 番目の値を指定できます。指定された sort_weight で複数の値が同じ rank を共有している場合、この関数は NULL を返します。

構文:  

FirstSortedValue([{SetExpression}] [DISTINCT] [TOTAL [<fld {,fld}>]] value, sort_weight [,rank])

戻り値データ型: デュアル

引数:  

引数
引数 説明
value アウトプット フィールド。 この関数は数式 value の値を特定します。これは sort_weight のソート結果に対応します。
sort_weight

入力フィールド。 ソート対象となるデータが含まれている数式です。sort_weight の最初の値 (最小値) が返され、そこから value 数式の対応する値が特定されます。sort_weight の前にマイナス記号を付けると、最後にソートされた値 (最大値) が返されます。

rank

rank "n" に 1 よりも大きな値を入力するとで、n 番目のソート値を取得できます。

SetExpression デフォルトでは、集計関数は選択されたレコード セットに対して集計を行います。Set 分析数式でレコード セットを定義することも可能です。
DISTINCT 関数の引数の前に DISTINCT という用語が付いている場合、関数の引数の評価から生じる重複は無視されます。
TOTAL

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

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

集計範囲の定義

例と結果:  

データ
CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
例と結果
結果
firstsortedvalue (Product, UnitPrice)

BB (UnitPrice(9) が最も低い Product)。

firstsortedvalue (Product, UnitPrice, 2)

BB (UnitPrice(10) が 2 番目に低い Product)。

firstsortedvalue (Customer, -UnitPrice, 2)

Betacab (UnitPrice(20) が 2 番目に高い Product を持つ Customer)。

firstsortedvalue (Customer, UnitPrice, 3)

NULL (同じ rank (3 番目に低い) UnitPrice(15) の Customer の値が 2 つ(AstridaCanutility) であるため)。

予期しない NULL が返ってこないよう、distinct 修飾子を使用します。

firstsortedvalue (Customer, -UnitPrice*UnitSales, 2)

Canutility (UnitPriceUnitSales (120) を掛けた販売注文値が 2 番目に高い Customer)。

例で使用されているデータ:

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 '|');

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。