【问题标题】:How to make a calculated member in MDX for SSAS?如何在 MDX 中为 SSAS 创建计算成员?
【发布时间】:2015-01-29 10:42:05
【问题描述】:

我的计算有问题,无法解决。

示例:

我们公司销售大约 100 种产品,分为类别和产品 ID。产品 ID 是最小粒度。 我需要展示我们在每个城市的销售情况。

看图:

总的来说,在不显示类别的情况下效果很好,但是,当我显示产品类别时,它并没有显示该类别中售出的产品数量,只是重复了全部数量。而当我查看产品ID时,它会返回正确的金额,相当于1,遵循示例图片。

我使用了下面的代码,为了更好的理解,我会用通用的方式。

COUNT(NONEMPTY([ProductDimension].[Category].[Product ID].Members,
               [Measures].[Valor Total]))

更新 1

我做了一些更改,它正在工作,但是当我输入 excel 并使用子类别切片器或过滤器时,我只选择了一个子类别,它会显示所选子类别的正确计数,但是如果我选择 2或更多,它显示所有类别的总数,而不仅仅是选择的两个或更多。

我正在使用此代码 MDX:

COUNT((NONEMPTY([ItensRadiografia].[Referência].[Referência],[Measures].[Valor Total]),
                [ItensRadiografia].[Família].CURRENTMEMBER))

我的知识很少,但我正在学习一本名为“MDX Step by Step”的书,但是我需要比阅读这本书更快的响应。


更新 2

跟随图片:

产品维度实际上是通过ItemSK连接的,即产品代码,最小粒度。

在维度中,Familia 是一个类别,Referencia 是一个 ProductKey。其他的则是写作方式的变体。

所有层次结构都由类别和产品组成,除了最后一个是测试。

【问题讨论】:

    标签: ssas mdx business-intelligence olap olap-cube


    【解决方案1】:

    (由于需求讨论阶段,所有以前的答案更新都已删除)

    ItemSK字段上添加Distinct Count度量,即可解决问题。

    【讨论】:

    • 为忘记翻译道歉,仅此而已。我试过这样做,但它显示了所有城市的工厂产品总量,无论销售与否。
    • 我已经更新了一个答案,卢卡斯。如果不是你想要的,请写在这里。
    • 很遗憾,在此解决方案中不能使用多个成员,因为 CurrentMember 只能与单个成员一起使用。我认为,最好使用另一种方法。 “参考”是最低粒度级别吗?它是如何映射的?
    • 好,那么下一个问题:'Referencia' 是如何映射的?它是一个具有键Referencia_ID(或类似的东西)的维度,它连接到具有字段Referencia_ID 的多维数据集吗?您能否在此处附上多维数据集中此维度的维度使用选项卡?
    • 明白。您是否尝试在 ItemSK 上添加 Distinct Count 度量?你说“我试过这样做,但它显示了所有城市的工厂产品总量,无论销售与否。”。它是销售事实表吗?还是那里有其他物品?
    猜你喜欢
    • 2019-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多