Mdx 如何确定尺寸是否相关?

Mdx 如何确定尺寸是否相关?,mdx,ssas,ssas-2008,Mdx,Ssas,Ssas 2008,我正在开发一个查询生成器应用程序,该应用程序生成MDX,并尝试使用以下方法从多维数据集中获取客户计数,效果很好: WITH MEMBER MEASURES.X AS ( { [Customer].[Gender].[Female]}, [Customer].[Customer].Children ).Count SELECT Measures.X ON 0 FROM [Adventure Works] 但是,如果用户拖入与客户无关的维度,如: WITH MEMBER MEAS

我正在开发一个查询生成器应用程序,该应用程序生成MDX,并尝试使用以下方法从多维数据集中获取客户计数,效果很好:

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]
但是,如果用户拖入与客户无关的维度,如:

WITH MEMBER MEASURES.X AS (
    { [Customer].[Gender].[Female]}, 
    { [Employee].[Status].[Active], [Employee].[Status].[Inactive]},  
    [Customer].[Customer].Children
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]
计数结果显然不正确


是否有方法确定维度是否与客户相关,以便我可以将其从生成的MDX查询中排除?

可以通过从多维数据集中检索此信息。该类包含您需要的所有多维数据集元数据。

使用该函数解决了此问题。无需手动确定哪些尺寸相关。该函数过滤掉不相关的元组,只留下
{[Customer].[Customer].[Customer].[Gender].[Gender].[Female]}
设置为重新计数

以下是MDX:

WITH MEMBER MEASURES.X AS Exists(
    [Customer].[Customer].Children,
    {[Customer].[Gender].[Female]}
    *
    {[Employee].[Status].[Active], [Employee].[Status].[Inactive]}
).Count
SELECT Measures.X ON 0 FROM [Adventure Works]