The BASEVAL function loops over a concat dimension and returns the values of the base dimensions of a concat dimension. When a base dimension is a concat dimension, then the values of its base dimensions are returned, also.
The following are the rules that determine the data types of the values returned by BASEVAL:
The data type of the return value is NTEXT when any of the component dimensions of concatdim is of type NTEXT, or when any component dimension is a conjoint that uses a simple dimension of type NTEXT.
The data type of the return value is the data type of the component dimensions when all of the component dimensions have the same data type and when none of the component dimensions is a conjoint.
The data type of the return value is TEXT in all other cases.
Specifies the concat dimension for which you want the base values. The data types of the values returned depend on the data types of the base dimensions of the concat dimension.
Example 7-30 Returning NTEXT Values
The following example creates two simple dimensions and a nonunique concat dimension, then gets the values of the concat dimension.
DEFINE textdim DIMENSION TEXT DEFINE ntextdim DIMENSION NTEXT MAINTAIN textdim ADD 'v1' 'v2' MAINTAIN ntextdim ADD 'n1' 'n2' DEFINE concatdim DIMENSION CONCAT(textdim ntextdim) REPORT w 18 BASEVAL(concatdim)
The preceding statement returns the following.
CONCATDIM BASEVAL(CONCATDIM) -------------------- ------------------ <textdim: v1> v1 <textdim: v2> v2 <ntextdim: n1> n1 <ntextdim: n2> n2
The data type of the returned values is NTEXT. The BASEVAL function converted the v1
and v2
TEXT values into NTEXT values before returning them.
Example 7-31 Returning the Base Values of a Base Concat Dimension
This example defines the simple dimensions state
and city
and adds values to them. It defines a nonunique concat dimension, statecity
, with state
and city
as the bases and then defines another nonunique concat dimension, geog
, with region
, district
, and statecity
as its bases. Finally, the REPORT statement returns the values returned by the BASEVAL function.
DEFINE city DIMENSION TEXT DEFINE state DIMENSION TEXT MAINTAIN city ADD 'Boston' 'Worcester' 'Portsmouth' 'Portland' - 'Burlington' 'Hartford' 'New York' 'Albany' MAINTAIN state ADD 'MA' 'NH' 'ME' 'VT' 'CT' 'NY' DEFINE statecity DIMENSION CONCAT(state city) DEFINE geog DIMENSION CONCAT(region district statecity) LCOLWIDTH = 20 REPORT W 16 BASEVAL(geog)
The preceding statement returns the following.
GEOG BASEVAL(GEOG) -------------------- ---------------- <region: East> East <region: Central> Central <region: West> West <district: Boston> Boston <district: Atlanta> Atlanta <district: Chicago> Chicago <district: Dallas> Dallas <district: Denver> Denver <district: Seattle> Seattle <state: MA> MA <state: NH> NH <state: ME> ME <state: VT> VT <state: CT> CT <state: NY> NY <city: Boston> Boston <city: Worcester> Worcester <city: Portsmouth> Portsmouth <city: Portland> Portland <city: Burlington> Burlington <city: Hartford> Hartford <city: New York> New York <city: Albany> Albany