请耐心等待我,因为我是SSAS / MDX的新手。我想在我的事实表的ID列上测量DISTINCTCOUNT,但在过滤-1即未知ID之后。我也喜欢切片/骰子。 这是我的表格
DimStudent
----------------------------
ID Name
-1 Unknown
1 Joe
2 Tim
3 Paul
4 Zina
DimCourse
----------------------------
ID Name
-1 Not Registered
11 Maths
22 Science
33 Arts
FactStudent
---------------
DimStudentID DimCourseID YearID Marks
-----------------------------------------------------------------
1 11 2009 89
1 33 2009 10
1 33 2010 90
1 -1 2009 0
2 -1 2009 0
3 22 2009 90
4 -1 2009 0
在上面的示例中,StudentID 1有一个具有-1 ID的课程,并且他重复了一个课程。如果我为每个学生做一个不同的课程计数,它将给我3个学生1和学生2和4它将给我1。 我的预期结果(不考虑年份)是:
Joe 2(而不是3) 添0(而不是1) 保罗1 Zina 0(而不是1)
如果只做不同的计数,它应该给我3而不是4。
再次感谢您的帮助,我们非常感谢。
此致
答案 0 :(得分:0)
为了从FactStudent获得DimCourseID的不同计数,排除DimCourseID值为-1,运行从FactStudent中选择DimCourseID的不同计数的查询,其中DimCourseID<> -1 - 像这样:
select count(distinct DimCourseID)
from FactStudent
where DimCourseID <> -1