STATMINファンクションは、ディメンションまたはディメンション・サロゲートの現在のステータス・リストで最も早い値、あるいは値セットの最も早い値を返します。
戻り値
ディメンション値またはサロゲート値、あるいはディメンションまたはサロゲートのデフォルトのステータス・リストでの値の位置を示すINTEGER
。戻り値は、dimension引数および戻り値を受け取るオブジェクトによって変わります。「STATMINで返される値のデータ型の自動変換」を参照してください。
使用上の注意
STATMINで返される値のデータ型の自動変換
STATMINが返すディメンション値は、必要に応じて数値またはテキスト値に変換されます。たとえば、month
のステータスがJun95
からDec95
に制限されており、Jun95
がデフォルトのステータス・リストの6番目のmonth
値だとします。STATMIN(month)
の値は、テキスト変数、数値変数またはDATE変数に代入できます。
次の文
DEFINE textvar TEXT textvar = STATMIN(month) SHOW textvar
によって、次の出力が生成されます。
Jun95
これに対し、次の文
DEFINE intvar INTEGER intvar = STATMIN(month) SHOW intvar
によって、次の出力が生成されます。
6
例
例8-114 タイトルに使用するSTATMIN
次のプログラムの文は、STATMINを使用して売上総額の上位10か月の中で一番早い月を判別します。
LIMIT month TO TOP 10 BASEDON TOTAL(sales, month) SHOW JOINCHARS(STATMIN(month) ' is the earliest of the - ten months with the highest sales.') SHOW JOINCHARS( 'The months range from ' statmin(month) ' TO '- statmax(month) )
この文によって生成される売上レポートは、次のとおりです。
May95 is the earliest of the ten months with the highest sales. The months range from May95 to Sep96
例8-115 STATFIRSTとの比較
次の例では、STATMINと、現在のステータス・リストの最初の値を返すSTATFIRSTとの相違点がわかります。
次の文を発行するとします。
LIMIT month TO TOP 10 BASEDON TOTAL(sales, month) REPORT WIDTH 20 TOTAL(sales, month)
この文を実行すると、次のレポートが作成されます。
MONTH TOTAL(SALES, MONTH) -------------- -------------------- Jul96 3,647,085.39 Jun96 3,458,438.30 Jul95 3,414,210.05 Aug96 3,246,601.97 Jun95 3,228,824.80 Sep96 3,215,883.93 May96 3,112,854.59 Aug95 3,044,694.29 Sep95 3,006,242.58 May95 2,908,539.45
このレポートのmonth
の値は、年代順ではなく降順の売上に並べられており、これが現在のステータス・リストの順序になります。
STATMINは、次の文および出力で示すように、ステータスにある時間順で最初の値(位置では最後)を返します。
SHOW STATMIN(month) May95
STATFIRSTは、次の文と出力で示すように、ステータスでの位置で最初の値(時間順では8番目)を返します。
SHOW STATFIRST(month) Jul96