Sql server 2012 在其他维度的上下文中维度不同计数SSA

Sql server 2012 在其他维度的上下文中维度不同计数SSA,sql-server-2012,ssas,mdx,olap,Sql Server 2012,Ssas,Mdx,Olap,我有这个MDX CREATE MEMBER CURRENTCUBE.[Measures].DistinctOrderCount<br/> AS DistinctCount([Order].[Order Id].[Order Id] - [Order].[Order Id].[1]),<br/> FORMAT_STRING = "#,##0;-#,##0", VISIBLE = 1, ASSOCIATED_MEASURE_GROUP = 'Fact Sales';

我有这个MDX

CREATE MEMBER CURRENTCUBE.[Measures].DistinctOrderCount<br/>
AS 
  DistinctCount([Order].[Order Id].[Order Id] - [Order].[Order Id].[1]),<br/>
FORMAT_STRING = "#,##0;-#,##0", 
VISIBLE = 1,  ASSOCIATED_MEASURE_GROUP = 'Fact Sales';
CREATE MEMBER CURRENTCUBE.[Measures].DistinctOrderCount
作为 DistinctCount([Order]。[Order Id]。[Order Id]-[Order]。[Order Id]。[1]),
格式化_字符串=“#,##0;-#,##0”, 可见=1,关联的_度量_组='事实销售';

我试图在事实表中其他维度的上下文中进行不同的顺序(顺序Id=1除外)。例如,dim客户、dim城市、dim州等的不同订单数量,但我无法实现这一点。当我在报告上查看我的度量值时,我得到订单维度的不同计数,在所有客户行上显示为21。

这是我解决此问题的最佳方法,我对结果感到满意。希望这能帮助别人。其思想是,创建一个聚合类型为Distinct Count的多维数据集度量值,并在需要Distinct Count的列上设置列绑定。然后使用下面的MDX从不同的计数中过滤出伪订单Id

create member currentcube.[Measures].OrderCount<br/>
as<br/>
distinctcount
(

    existing 
    CROSSJOIN
             (
              Except([Orders].[Order Id].[Order Id], [Orders].[Order Id].&[1]), 
              [Measures].[Order Count]
             )

),<br/>
FORMAT_STRING = "#,##0;-#,##0", 
VISIBLE = 1, ASSOCIATED_MEASURE_GROUP='Order Count';
create member currentcube.[Measures].OrderCount
作为
distinctcount ( 现有的 交叉连接 ( 除了([Orders].[Order Id].[Order Id],[Orders].[Order Id].&[1])之外, [措施][订单数量] ) ),
格式化_字符串=“#,##0;-#,##0”, VISIBLE=1,关联的_度量值_GROUP='Order Count';
@whytheq,您的输入非常有价值,正因为如此,我才能够连接这些点并起草解决方案。谢谢,很高兴和你一起工作。