计数的MDX不同(从SQL查询转换)

问题描述:

SELECT COUNT (DISTINCT S.PK_Submission) 
FROM Fact_Submission FS, Submission S 
WHERE 
FS.FK_Submission = S.PK_Submission 
AND FS.FK_Submission_Date >= 20100101 
AND FS.FK_Submission_Date <= 201

我已经试过这样:计数的MDX不同(从SQL查询转换)

SELECT 
{[Measures].[Fact Submission Count]} ON AXIS(0), 
Distinct({[Submission].[PK Submission] }) ON AXIS(1) 
FROM [Submission] 
WHERE 
([Date].[Calendar Year].[2010]) 

,但结果是一样的

任何想法如何在MDX写的吗?我很新,所以还没有弄明白。

这是正确的答案:

WITH SET MySet AS 
{[Measures].[Fact Submission Count]} 
* 
DISTINCT({ EXCEPT([Submission].[PK Submission].Members, [Submission].[PK Submission].[All]) }) 
MEMBER MEASURES.DistinctSubmissionCount AS 
DISTINCTCOUNT(MySet) 
SELECT {MEASURES.DistinctSubmissionCount} ON 0 
FROM [Submission] 
WHERE 
([Date].[Calendar Year].[2010]) 

我已经排除“全部”行,因为它也被COUNT函数计算,所以我总是有+1。