SSAS Data Pump Datasets
MDX Queries
The details of Dataset Definition is accurate for the use of DBI datasets with SQL statements. For SSAS Data Pump datasets using MDX requests over SOAP, there are some key differences.
The top level attributes are very similar.
Attribute | Notes |
---|---|
dbname |
Specify which database connection should be used for fetching and storing this dataset. By default, the database named default (of type sdp ) is used for executing the set.Note: The type of dataset ( dbi or sdp ) is not configurable on a per-dataset basis. It is determined by the <dataset_dir> element defining the directory containing the dataset. All datasets in the same directory must execute against databases of the same type. |
read |
Identical to DBI datasets. Access control identifiers are also identical. |
write |
Identical to DBI datasets. Access control identifiers are also identical. |
debug |
Identical to DBI datasets. |
dump |
Identical to DBI datasets. |
The elements within the <dataset>
definition for SSAS Data Pump datasets are as follows:
Element | Notes |
---|---|
transform |
Identical to DBI datasets. |
hook |
Identical to DBI datasets. |
mdx |
MDX to execute when dataset is invoked with the http GET request method. |
Here is an example SDP dataset which includes a parameter:
<dataset read="**" write="">
<mdx row_label="GL Code">
SELECT
[Dw Target Planning].[Category].Children ON ROWS,
[Time Target Planning].[Month].Members ON COLUMNS
FROM [Cube Name]
WHERE ([Time Target Planning].[Year].[Calendar {$year}])
</mdx>
</dataset>
Parameter Processing
Refer to Parameter Expansion for the sources that will be searched for expanding an MDX query parameter value. This includes:
- Client-Supplied Parameters.
- Server-Only Safe Parameters.
- Default Parameters.
However, since the SOAP mechanism does not support binding, the are some key differences in the parameter handling:
- All SDP parameter substitution is textual substitution. Always.
- The
{$parameter}
or[$parameter]
forms for MDX query parameters are identical. - The supported formatting flags are
!string
,!bracket
and!raw
.
Flag | Notes |
---|---|
!bracket |
The !bracket flag is intended for use when the MDX parameter is to be expanded within the context of MDX brackets. If the !bracket flag is specified, then the following rules apply:• Any client-supplied ] character is replaced with ]] . |
!string |
The !string flag is intended for use when the MDX parameter is to be expanded within the context of double quotes:• Any client-supplied \ character is replaced with \\ .• Any client-supplied double-quote is replaced with backslash double-quote. |
!raw |
The !raw flag is permitted only for safe variables, i.e. those whose names begin with underscore, underscore. Variables with these names can never be provided by the client. They are only permitted from Jarvis itself, including hooks and plugins. The !raw flag means that the variable is expanded verbatim with no quotes or modification. |
If no flag is specified, then the value is unquoted. However, all characters except the following are deleted: 0-9
, a-z
, A-Z
, space
, underscore
, hyphen
, comma
.