サンプル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