Home interview questions Microsoft BI interview questions MDX SCOPE statement Interview questions & Answers

MDX SCOPE statement Interview questions & Answers

Q: Can you use the Filter function in a SCOPE statement?

A: Yes you can. Filter function is allowed inside SCOPE function. Example of how you can use FILTER function inside SCOPE function provided below:

SCOPE ( Filter([Date].[Calendar].[Month].MEMBERS, [Date].[Calendar].Properties("Month of Year") = "January") );
Measures.[Amount] = 10;
END SCOPE;


Q: How do you specify SCOPE for a Dimension to include all members before a certain member

A: Use NULL:<ToDimMember>. Example:

SCOPE(NULL:[Date].[Calendar].[Calendar Quarter].&[2003]&[3]);
This = 100;
END SCOPE;


Q: How Can I define SCOPE in MDX for all measures in one measure group?

A: You can use function MeasureGroupMeasures()

Example:

SCOPE(MeasureGroupMeasures("Sales Orders"));
This = ...;
END SCOPE;



Q: How Can I define SCOPE in MDX for all measures in multiple measuregroups?

A: You can use multiple functions MeasureGroupMeasures() that are separated by commas. You have to enclose this into curly brackets:

Example:

SCOPE({MeasureGroupMeasures("Internet Sales"), MeasureGroupMeasures("Internet Orders"), MeasureGroupMeasures("Internet Customers") });
This = ...;
END SCOPE;



Q: Can you create a SCOPE based on the Member property?

A: Yes you can, example below.

SCOPE ( Filter([Date].[Calendar].[Month].MEMBERS
, [Date].[Calendar].Properties("Month of Year") = "January") );
Measures.[Amount] = 10;
END SCOPE;



Q: How do you specify SCOPE for a Dimension to include all members after a certain member

A: Use <FromDimMember>:NULL. Example:

SCOPE([Date].[Calendar].[Calendar Quarter].&[2003]&[3]: NULL);
This = 100;
END SCOPE;



Q: How Can I define SCOPE in MDX for all but one measures in one measure group?

A: You can use function MeasureGroupMeasures() and subtract set of measures that should be excluded.

Example:

SCOPE(MeasureGroupMeasures("Internet Sales") - {[Measures].[Internet Tax Amount]});
This = ...;
END SCOPE;