不同的计数mdx失败

时间:2014-09-26 20:05:24

标签: sql-server ssas mdx

我有一个关于在OLAP多维数据集中执行不同数量的客户端的问题。

我的clients-dimension表是从4个不同的数据库填充的,这意味着我可以找到具有不同Clients_ID(自然键)的相同客户端,因为每个客户端在每个数据库中都有不同的ID。

我想计算客户端电话号码的独特计数,因为它在所有数据库中都是相同的记录,我总是得到一个大数字,这不是正确的结果。我深入检查了这个问题,发现我设置的查询似乎没有对电话号码执行明确的计数。

我只使用过滤器进行的小测试(见下面的屏幕截图)让我相信我的查询是对每个客户ID而不是电话号码执行不同的计数。

对小测试的查询,我是用设计模式完成的:

SELECT NON EMPTY { [Measures].[QQT - Fact Ventes] } ON COLUMNS, 
NON EMPTY { ([DIM FA Clients].[FaCuNumberX].[FaCuNumberX].ALLMEMBERS ) } DIMENSION PROPERTIES
MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [Dim Date].[MonthOfYear].&[7] } ) ON COLUMNS
FROM ( SELECT ( { [DIM FA Clients].[FaCuNumberX].&[8817], [DIM FA Clients].[FaCuNumberX].&[39223] } ) ON COLUMNS 
FROM ( SELECT ( { [Dim Date].[Year].&[2014] } ) ON COLUMNS FROM [CubeAll]))) 
WHERE ( [Dim Date].[Year].&[2014], [Dim Date].[MonthOfYear].&[7] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

enter image description here

这是我用来执行不同计数的查询:

WITH 
  SET MySet AS
    Filter(
      {[Dim Date].[Year].&[2014]} 
      *
      {[DIM FA Clients].[FaCuNumberX].[FaCuNumberX]},
      [Measures].[QQT - Fact Ventes]>1 
      OR  
      [Measures].[QQT - Fact Ventes]=1
    )
  MEMBER MEASURES.SETDISTINCTCOUNT AS
    DISTINCTCOUNT(MySet)
SELECT 
  {MEASURES.SETDISTINCTCOUNT} ON 0
FROM [CubeAll]

My distinct count查询的输出:

enter image description here

我还测试了一个替代查询,但结果相同(见下面的截图):

enter image description here

我还会提供给出正确预期结果的SQL查询:

enter image description here

我不知道为什么这个mdx查询的过滤器不像SQL组那样正常工作。

0 个答案:

没有答案