我是MDX的新手,但是我不得不支持一个新的工具,并且对我最近收到的一个请求有一个问题。我们有一个处方数据立方体,其中处方医生被分配到不同的地区。我的客户想要一个函数来计算分配给某个地区的处方医生的数量,所以我生成了以下代码:
COUNT(
FILTER([M_Prescriber].[Prescriber].[Prescriber].Members*[Measures].[M-TRx],
[M_Market_Product].[Product].[All]
)
)它给出了在该时间段内开了处方的处方医生的计数。客户的问题是,这个函数在每个月都会产生不同的结果,因为自然地,一些处方者并不是每个月都开处方。有没有办法返回分配给某个地区的处方医生的数量,而不考虑他们在特定月份是否有任何处方数据。或者,我是否可以在最近的时间段中计算此值,并在每个时间段中使用此值?
如果我能提供更多细节,请让我知道。
发布于 2013-03-08 02:17:14
好的,如果我理解正确的话,您想要计算每个地区的Prescriber成员,并且您已经建立了一个描述哪些处方者在哪个地区的层次结构。
这里有一个反对冒险作品的例子,告诉你如何做到这一点:
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这只计算每个节点的直接子节点(层次结构中的省或州),因此所有客户的计数不是每个国家/地区计数的总和。
在您的示例中,您可以将行选择更改为您的分区->区->地区级别。
希望这至少能帮助你走上正确的道路。
https://stackoverflow.com/questions/15258629
复制相似问题