STATRANKファンクションは、ディメンション値またはディメンション・サロゲート値の現行のステータス・リストでの位置、あるいは値セットでの位置を返します。
パラメータ
値がディメンション、ディメンション・サロゲートまたは値セットの名前であるテキスト式。
dimensionに適切なデータ型を持つ、チェックする値。valueには、たとえば、IDまたはTEXTディメンションの場合はテキスト式、INTEGERディメンションの場合はINTEGER、時間ディメンションの場合は日付、結合または連結ディメンションの場合は山カッコで囲んだ値の組合せを指定できます。テキスト式の値は、実際のディメンション値と大文字と小文字が完全に同じである必要があります。テキスト式を使用する場合は、単一行の値である必要があります。
結合ディメンションの値を指定する場合は、必ず山カッコで値を囲み、ベース・ディメンション値はカンマとスペースで区切ります。連結ディメンションの値を指定する場合は、必ず山カッコで値を囲み、ベース・ディメンション名と値はコロンとスペースで区切ります。
valueを指定しない場合、STATRANKは現行の値の位置を返します。現行のステータス・リストまたは値セットにはない有効なディメンション値の名前を指定すると、STATRANKはNAを返します。
例
例8-116 STATRANKによる位置番号の特定
売上総額の上位5か月を番号付きリストとして表示するレポートを作成するとします。STATRANKを使用して、各月に番号を付けることができます。次の定義および内容のレポート・プログラムを記述します。
DEFINE sales.rpt PROGRAM
PROGRAM
LIMIT month TO TOP 5 BASEDON TOTAL(sales, month)
SHOW 'Top five months by total sales:'
for month
ROW WIDTH 4 JOINCHARS(STATRANK(month) '.') WIDTH 5 month
END
このレポート・プログラムによって次のレポートが生成されます。
Top five months by total sales: 1. Jul96 2. Jun96 3. Jul95 4. Aug96 5. Jun95
sales.rptプログラムの実行後、SHOW文およびSTATRANKファンクションを使用して、売上総額の上位5か月に含まれる特定の月の位置を取得します。
次の文
SHOW STATRANK(month Jun96)
によって、次の出力が生成されます。
2
例8-117 結合ディメンションでのSTATRANKの使用
指定するdimensionが結合ディメンションの場合、value全体を一重引用符で囲む必要があります。
たとえば、アナリティック・ワークスペースにregionディメンションおよびproductディメンションがあるとします。regionディメンション値には、East、CentralおよびWestがあります。productディメンション値には、Tents、CanoesおよびRacquetsがあります。
次の文は、結合ディメンションを定義してそれに値を追加します。
DEFINE reg.prod DIMENSION <region product> MAINTAIN reg.prod ADD <'East', 'Tents'> <'West', 'Canoes'>
ベース位置を指定するには、次のような文を使用します。regionディメンションのEastの位置は1、productディメンションのTentsの位置は1であるため、次の文は対応するreg.prod値の位置を返します。
SHOW STATRANK(reg.prod '<1, 1>') 1
ベース・テキスト値を指定するには、次のような文を使用します。
SHOW STATRANK(reg.prod '<\'East\', \'Tents\'>') 1
例8-118 連結ディメンションでのSTATRANKの使用
指定するdimensionが連結ディメンションの場合、value全体を一重引用符で囲む必要があります。次の文は、ベース・ディメンションregionおよびproductを持つreg.prod.ccdimという名前の連結ディメンションを定義します。
DEFINE reg.prod.ccdim DIMENSION CONCAT(region product)
reg.prod.ccdimのレポートで返される結果は、次のとおりです。
REG.PROD.CCDIM ---------------------- <Region: East> <Region: Central> <Region: West> <Product: Tents> <Product: Canoes> <Product: Racquets>
ベース・ディメンション位置を指定するには、次のような文を使用します。productディメンションのracquetsの位置が3であるため、次の文は<product: Racquets>値のreg.prod.ccdimでの位置を返します。
SHOW STATRANK(reg.prod.ccdim '<product: 3>') 6
ベース・ディメンション・テキスト値を指定するには、次のような文を使用します。
SHOW STATRANK(reg.prod.ccdim '<product: Tents>') 4