2

我对 MDX 很陌生,但我坚持支持一个新工具,并且对我最近遇到的一个请求有疑问。我们有一个处方数据立方体,其中处方者被分配到不同的地区。我的客户想要一个函数来计算分配到一个地区的处方人数,所以我制作了这个:

COUNT(
     FILTER([M_Prescriber].[Prescriber].[Prescriber].Members*[Measures].[M-TRx],
     [M_Market_Product].[Product].[All]
     )                              
)

这给出了在该时间段内开过处方的处方者的数量。客户遇到的问题是,这个功能每个月都会产生不同的结果,因为有些开药者自然不会每个月都开处方。有没有办法在不考虑他们在特定月份是否有任何处方数据的情况下返回分配到某个地区的处方者人数。或者我可以在最近的时间段计算这个值并在每个时间段使用那个值吗?

让我知道我是否可以提供更多详细信息。

4

1 回答 1

1

好的,如果我理解正确,您想要计算每个区域中的 Prescriber 成员,并且您已经建立了一个层次结构,描述了哪些 Prescriber 在哪个区域中。

这是一个针对 Adventure Works 的示例,说明您如何做到这一点:

WITH MEMBER [Measures].[count] AS 
    Count([Customer].[Customer Geography].CurrentMember.Children)
SELECT
    [Measures].[count] ON COLUMNS,
    DrilldownLevel([Customer].[Customer Geography].[All Customers]) ON ROWS
FROM [Adventure Works];

结果:

                count
All Customers       6
Australia           5
Canada              6
France             17
Germany             6
United Kingdom      1
United States      36

这仅计算每个节点的直接子节点(层次结构中的省或州),因此所有客户的计数不是每个国家/地区计数的总和。

在您的情况下,您可以将 ROWS 选择更改为您的 Division -> District -> Territory 级别。

希望这至少可以帮助您走上正轨。

于 2013-03-07T18:17:14.173 回答