1

我对 MDX 很陌生,但我知道我想要完成什么,但事实证明这非常困难。基本上,我有一个数据集,其中每一行都是客户的销售。我还有每个病房的邮政编码数据和英国人口。

然后将每个病房的总人口除以数据集中的病房代码计数 - 例如,病房 A 的人口为 1,000。我有十个客户住在病房 A,因此人口价值是 1,000/10。

因此,只要没有选择其他维度,只有区域层次结构,我就可以向上和向下钻取,并且作为客户数/计算的人口值的人口渗透率是正确的。但是,一旦我引入更多维度,总人口将不会达到其真实值。

因此,我需要在多维数据集中进行上述计算,并且我正在尝试找到 MDX 函数来执行此操作。

基本上像 -

步骤 1) 将病房代码的数量(地理层次结构的最低级别)相加,并将其按不同的病房代码分组,例如 wardcodeA = 5、wardcodeB=10 等。

步骤2)然后取每个病房的人口(可以存储为病房级别的总数并取平均值),然后将其除以上一步的结果

步骤 3) 在当前选择的地理级别对每个病房的结果求和

4

1 回答 1

0

其他维度正在改变客户/人口的价值这一事实意味着您的建模中的某些内容是错误的。

您应该有一个像这样的事实表(可以是视图/概念):

REGION_ID、CUSTOMER_COUNT、POPULATION_COUNT

一旦你得到这个,创建一个事实表和一个特定的度量来计算客户和人口,并链接一个维度。这是重点,不要将您的度量与不需要的维度联系起来。

于 2011-06-06T07:12:46.113 回答