サンプル18: データ値の順序付け

次のEssbaseレポート・スクリプトのサンプルは、レポート・スクリプトでORDERBY条件付き取得コマンドを使用する方法を示しています。

                                           Sales Scenario
                                     Jan      Feb      Mar      Apr 
                                ======== ======== ======== ======== 

New York        100-20          #Missing #Missing #Missing #Missing 
                100-30          #Missing #Missing #Missing #Missing 
                200-20          #Missing #Missing #Missing #Missing 
                200-30          #Missing #Missing #Missing #Missing 
                300-30          #Missing #Missing #Missing #Missing 
                  Diet          #Missing #Missing #Missing #Missing 
                200-10                61       61       63       66 
                400-30               134      189      198      198 
                300-20               180      180      182      189 
                400-20               219      243      213      223 
                400-10               234      232      234      245 
                300-10               483      495      513      638 
                200-40               490      580      523      564 
                  200                551      641      586      630 
                  400                587      664      645      666 
                  300                663      675      695      827 
                100-10               678      645      675      712 
                  100                678      645      675      712 
                    Product        2,479    2,625    2,601    2,835 

次のスクリプトを使用してサンプル18を作成します。

<Page ("Measures")
<Column ("Scenario", "Year")
<Row ("Market", "Product")
"Sales"
"Scenario"
"Jan" "Feb" "Mar" "Apr"
"New York" 
"Product" "100" "100-10" "100-20" "100-30" "200" "200-10"
"200-20" "200-30" "200-40" "300" "300-10" "300-20" "300-30" "400"
"400-10" "400-20" "400-30" "Diet" "100-20" "200-20" "300-30"

<ORDERBY ("Product", @DATACOLUMN(1) ASC, @DATACOLUMN(2) DESC, @DATACOLUMN(3) ASC @DATACOLUMN (4) DESC)
     ! 

ORDERBYコマンドは、データ列のデータのみに基づきます。SUPPRESSMISSINGコマンドがレポートで使用されていない場合は、#MISSINGが最も小さいデータ値として考慮されます。ORDERBYでは、データ値が次の順序で比較されます。

  • 同じ列の2つの値(たとえば、次の例では、COL1では、200-10に関連付けられた値が400-30のデータ値と比較されます)。

  • 2つのデータ列間のデータ値(たとえば、次の例では、COL1のデータ値がCOL2のデータ値と比較されます)。

2つのデータ値が同じ場合、順序を決定するためにソートは次の列に進みます。

サンプル18の次のサブセットでは、Product 200-10についてCOL1とCOL2のデータ値は両方61で、COL1のデータは昇順で、COL2のデータは降順になります。2つの値が比較され、両方同じであるため、COL2とCOL3が比較されます。そのため、COL2は降順であると想定されますが、行400-30の比較は、昇順のCOL3の値によって決定されました。

                         COL 1    COL 2     COL 3    COL 4
                         =====    =====

         200-10             61       61        63       66
         400-30            134      189       198      198
         300-20            180      180       182      189