Ssas 从一维表到单个事实表的多个联接

Ssas 从一维表到单个事实表的多个联接,ssas,olap,olap-cube,Ssas,Olap,Olap Cube,我有一个事实表,它有4个日期列CreatedDate、LoginDate、ActiveDate和EngageDate。我有一个名为DimDate的维度表,它的主键可以用作事实表中所有4个日期列的外键。所以模型是这样的。 但问题是,当我想基于日期列对度量值进行子筛选时。例如:统计上个月创建并在本月参与的所有用户。这种设计不可能做到这一点,因为当我用create date过滤度量值时,我无法进一步过滤其他时间窗口中的约定日期。由于所有这些组件都连接到同一维度,因此它们不能独立工作 但是,如果我为每

我有一个事实表,它有4个日期列CreatedDate、LoginDate、ActiveDate和EngageDate。我有一个名为DimDate的维度表,它的主键可以用作事实表中所有4个日期列的外键。所以模型是这样的。

但问题是,当我想基于日期列对度量值进行子筛选时。例如:统计上个月创建并在本月参与的所有用户。这种设计不可能做到这一点,因为当我用create date过滤度量值时,我无法进一步过滤其他时间窗口中的约定日期。由于所有这些组件都连接到同一维度,因此它们不能独立工作

但是,如果我为每一列创建一个单独的日期维度表,并像这样连接它们,那么它就可以工作了。
但在现实场景中,当我在事实表中有20个不同的日期列时,这看起来非常麻烦,我必须创建20个不同的维度并将它们逐个连接起来。在不创建多个重复的日期维度的情况下,是否还有其他方法可以实现我的场景?

此概念称为角色扮演维度。您不必为每个日期一次性将表添加到DSV或实际维度。而是只添加一次日期,然后转到“维度使用情况”选项卡。单击“添加多维数据集维度”,然后选择日期标注。右键单击并重命名它。然后更新关系以使用正确的字段


这里有一个关于这个话题的例子

看起来这就是我想要的。我不知道这个功能是开箱即用的,即当您从事实表中有多个连接到同一维度时,多维数据集维度向导会在“使用”选项卡中自动创建多个角色扮演维度。非常酷!我使用角色扮演维度功能得到了这个结果…但我有一个新问题…我看到SSAS为多维数据集中的每个日期创建单独的维度。。。我希望将所有这些维度分组到单个维度或维度文件夹下。。可能吗?