【问题标题】:how can I create a new Dimension in SSAS using MDX without processing Cube?如何在不处理多维数据集的情况下使用 MDX 在 SSAS 中创建新维度?
【发布时间】:2023-03-13 15:25:01
【问题描述】:

我需要使用另一个维度创建一个维度,以便在 SSAS 中创建一些计算属性以在 excel 切片器中显示。但我不想处理多维数据集。仅使用 MDX 代码使用另一个维度并创建新维度以在切片器中使用。

例如,我们有一个名为 DimAgeGroup 的维度。它有7组。

0-10 , 10-20 , ... , 60-70

然后我需要使用 mdx 创建一个维度,以便在 30 之前和 30 之后显示,以便在没有任何立方体处理的情况下在 excel 切片器中显示。 有什么想法吗?

【问题讨论】:

    标签: excel ssas mdx cube slicers


    【解决方案1】:

    我认为你想要的只是 2 个新的计算成员。你可以部署计算成员,而不会使多维数据集未处理。

    CREATE MEMBER [DimAgeGroup].[AgeGroup].[All].[Before 30]
    AS
    ([DimAgeGroup].[AgeGroup].[0-10],[Measures].CURRENTMEMBER]) +
    ([DimAgeGroup].[AgeGroup].[0-20],[Measures].CURRENTMEMBER])
    ,VISIBLE =1;
    
    CREATE MEMBER [DimAgeGroup].[AgeGroup].[All].[After 30]
    AS
    ([DimAgeGroup].[AgeGroup].[30-40],[Measures].CURRENTMEMBER])+
    ([DimAgeGroup].[AgeGroup].[40-50],[Measures].CURRENTMEMBER])+
    ([DimAgeGroup].[AgeGroup].[50-60],[Measures].CURRENTMEMBER])+
    ([DimAgeGroup].[AgeGroup].[60-70],[Measures].CURRENTMEMBER])
    ,VISIBLE =1;
    

    您可以使用 XMLA 进行部署,也可以使用 BIDS Helper 在 Visual Studio 中进行部署(部署 MDX 脚本功能)。

    不太确定 MDX.. 现在无法测试。

    【讨论】:

    • 是的,我以前这样做过。但它有一个问题。在 Excel 中连接到我的多维数据集后,切片器需要一个 Dimension 来显示它的属性,在我选择 DimAgeGroup 后,我可以看到 0-10 ,...,50-60 , before30 , after30 但我只想看到 before30,after30 , 因此我需要一个新的维度。
    • 关于您的解决方案,我们可以使用 Aggregate([DimAgeGroup].[AgeGroup].&[1] : [DimAgeGroup].[AgeGroup].&[5] )
    • 您可以尝试将这些计算成员添加到另一个属性层次结构,并使 AgeGroup 属性不可见。
    • 但我应该在 ssas 中执行此操作,并且我需要其他年龄段的人在其他切片器中使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多