如何在 MDX 中为 SSAS 创建计算成员?

How to make a calculated member in MDX for SSAS?

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

示例:

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

见图:

总的来说,不显示类别效果很好,但是,当我显示产品类别时,它不显示该类别中销售的产品数量,只是重复全部数量。当我查看产品 ID 时,它 returns 正确的数量,相当于 1,遵循示例图片。

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

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

更新 1

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

我正在使用此代码 MDX:

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

我知之甚少,但我正在研究一本名为 "MDX Step by Step" 的书,但是我需要比阅读这本书更快的回复。


更新 2

关注图片:

产品维度通过ItemSK连接到事实中,也就是产品代码,粒度最小。

在维度中,Familia 是一个类别,Referencia 是一个 ProductKey。其他都是写法的变体。

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

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

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