OLAPDataArea
Use
OLAPDataArea
objects to define a data
area in an OLAP cube. To create a variable of the type
OLAPDataArea
, use functions such as
OLAPCreateDataArea()
. To process the
elements in a data area, use the
foreach
statement.
OLAPConnection con = OLAPCreateConnection(
"server",
"user",
"password"
);
OLAPDataArea targetarea = OLAPCreateDataArea(
con,
"TFINANC",
OlapDataAreaIncludeB,
OlapDataAreaOperatorNone,
0.0,
OlapDataAreaOperatorNone,
0.0
);
When you define data areas, it is key to select the correct cells. You must select at least all the cells that are required. To achieve this, you must specify the elements to process in the first place. In many cases this is sufficient, but sometime you must use more fine-grained mechanisms to restrict your data area. Therefore, you can specify filters and operators.
Use data area filters that depend on the cells' types to restrict the
data area. For example, set the filter to OlapDataAreaIncludeB
to select only base cells. Set the filter to
OlapDataAreaIncludeCIf
to select calculated
cells. In case you require both types of cells, use the |
operator that is shown in this example to combine the filters:
OlapDataAreaIncludeB | OlapDataAreaIncludeC
OLAPDataAreaIncludeC
filter.
Otherwise, these cells do not become part of the selected data area.Another important filter is
OlapDataAreaSuppressNull
, because it removes empty
cells from a data area.
In addition, you can use data area operators to restrict cells depending on their values. For example, you can select all cells that meet this condition:
1,000 < x < 10,000
To apply this condition to a data area definition, identify the first
value, the first operator, the second value, and the second operator. In this
example, the first value is 1,000
and the first
operator is <
(OlapDataAreaOperatorLessThan
). The second value is 10,000
and the second operator also is <
(OlapDataAreaOperatorLessThan
). Here is an example how it looks like in
BI# code:
OLAPConnection con = OLAPCreateConnection(
"server",
"user",
"password"
);
OLAPDataArea targetarea = OLAPCreateDataArea(
con,
"TFINANC",
OlapDataAreaIncludeB,
OlapDataAreaOperatorLessThan,
1000.0,
OlapDataAreaOperatorLessThan,
10000.0
);
We recommend that you always specify your conditions in this form:
[first value] [first operator] x [second operator] [second
value]
Then, to translate the condition into arguments for OLAPCreateDataArea
, read them from left side to the
right side.