Sample 19: Narrowing Member Selection Criteria
The following Essbase report script sample demonstrates how to use the LINK command to narrow the members returned in a selection in a report script.
Market Measures Scenario
Qtr1 Qtr2
======== ========
100-10 5,096 5,892
100-20 1,359 1,534
100-30 593 446
200-10 1,697 1,734
200-20 2,963 3,079
200-30 1,153 1,231
200-40 908 986
300-10 2,544 3,231
300-20 690 815
300-30 2,695 2,723
400-10 2,838 2,998
400-20 2,283 2,522
400-30 (116) (84)
100-20 1,359 1,534
200-20 2,963 3,079
300-30 2,695 2,723
Product 24,703 27,107
Use the following script to create Sample 19:
<Page (Market)
<Column (Year)
Qtr1 Qtr2
<Row (Product)
<Link (<UDA (product, naturally-flavored) OR <LEV (product, 0))
!
The LINK command uses the AND, OR, and NOT Boolean operators to refine the search. In the preceding example, the product with the "naturally-flavored" user-defined attribute (UDA), as well as all Level 0 products, are returned in the search.
Be careful how you group operators in the LINK expression. Essbase evaluates operators from left to right. Use parentheses to group the expressions. For example, A OR B AND C is the same as ((A OR B) AND C). In the first expression, Essbase evaluates the expression from left to right, evaluating A OR B before evaluating AND C. In the second expression, Essbase evaluates the subexpression in parentheses (A OR B) before the whole expression, producing the same result. However, if you use (A OR (B AND C)), Essbase evaluates the subexpression in parentheses (B AND C) before the whole expression, producing a different result.