Join &引用;加入;olap多维数据集中的事实和维度

Join &引用;加入;olap多维数据集中的事实和维度,join,mdx,olap,dimension,Join,Mdx,Olap,Dimension,我必须计算/显示olap多维数据集中的团队低谷年数 我的团队事实的结构如下: TeamId DateFrom DateTo (FactTeams) 1 2012 2015 2 2012 2015 3 2012 2015 4 2015 2018 1 2018 2019 Cube必须能够回答,例如,2012年有多少个团队处于活动状态(3个团队) 我准备了另一个helper事实表,其中包含团队id及其

我必须计算/显示olap多维数据集中的团队低谷年数

我的团队事实的结构如下:

TeamId DateFrom DateTo (FactTeams)
1       2012     2015
2       2012     2015
3       2012     2015
4       2015     2018
1       2018     2019
Cube必须能够回答,例如,2012年有多少个团队处于活动状态(3个团队)

我准备了另一个helper事实表,其中包含团队id及其日期的所有组合

TeamId  DateRange (FactTeamDates)

1       2012
1       2013
1       2014
1       2015
1       2018
1       2019
2       2012
2       2013
2       2014
2       2015
...and so on ...
我创建了两个事实,一个是FactTeam,另一个是FactTeamDates。我也有标准的日期维度。以下是我的数据源视图:

FactTeams.TeamId链接到FactTeamDates.TeamId,FactTeamDates.DateRange链接到DimDates.DateKey

我有一个度量“团队编号”,它是TeamId列上FactTeam的不同计数。 我希望列上的度量团队编号和行上的年份的MDX查询输出为:

           Team Number  
Year 2012  3
Year 2013  3
Year 2014  3
Year 2015  4
我的问题:如何组织我的事实并在多维数据集中设置维度使用以获得所需的输出

生成所需输出的SQL查询:

   SELECT 
       d.CalendarYear
      ,COUNT(DISTINCT TeamId) 
  FROM  FactTeams zt 
  INNER JOIN FactTeamsDates td ON zt.TeamId = td.TeamId
  INNER JOIN DimDates d ON d.DateKey = td.DateRange
  GROUP BY d.CalendarYear ORDER BY 1  
请注意,我知道我可以基于上述sql查询(使用联接)创建数据视图,然后创建一个联接的事实表,但我希望在多维数据集维度和事实之间有某种联接——仅在多维数据集(olap)级别有联接,而不在sql(数据库或多维数据集数据视图)中有联接


提前感谢

您可以创建一个独特的计数度量,这将解决您的问题