I'm working on an application to display sales data using sql server
2000 reporting services.
The data is in an MS Analysis Services cube, so I'm using MDX queries
in the data set.

The queries all have a similar format of the form:


SELECT
{[Measures].Members} ON COLUMNS,
{ MyDimension.members} ON ROWS
FROM MyCube



where the items in the COLUMNS clause are allways the same and
MyDimension might be SalesBranch, ProductCategory, etc.


When Reporting services works out the fields for the returned data set
it appears to be flattening out the MyDimension structure and using the


dimension level names for field names.
eg

<Fields>
<Field Name="Manufacturer">


<DataField>[Manufacturer_Model].[Manu].[MEMBER_CAPTION]</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Measures_Oe_Id">
<DataField>[Measures].[Oe Id]</DataField>
<rd:TypeName>System.Object</rd:TypeName>
</Field>
<Field Name="Measures_Oe_Realval_A">
<DataField>[Measures].[Oe Realval A]</DataField>
<rd:TypeName>System.Object</rd:TypeName>
</Field>
</Fields>

In the report layout I can select these fields and display them as
expected.
However the drawback is that since dimension level names are encoded
into report field names I have to have a separate report for each
dimension I want to put on the ROWS. ie one .RDL file for SalesBranch,
one for ProductCategory etc.


If this was SQL it would not be a problem because in the SQL SELECT
statement the column names could be fixed using "SELECT colname AS
othercolname
", but, being new to MDX, I can't find how to do this.


Does anyone know how to achieve this in MDX / ADO MD ? ie how to give
an MDX column an alias


Thanks
Steve