为了更详细地描述,我有一个多维数据集,其中包含有关一个大型财团(多家公司)的工人薪水和其他费用的数据。因此,我创建了时间,费用类型和公司工作人员维度。
我还在CompanyWorkers维度中创建了一个CompanyHierarchy,显然是Company->Worker
。
现在,我需要获取每个公司的平均费用值。我想这意味着我必须在CompanyHierarchy中创建一个计算成员。
我知道如何为单个成员执行此操作:
创建会员 CURRENTCUBE。[CompanyWorkers]。[CompanyHierarchy]。[Company]。&1。[平均] AS ....
为我的多维数据集中的每个公司复制此行代码似乎不正确。我可以编写一个命令将“平均值”添加到“每个公司”吗?
UPD:我想要达到的结果是这样的: Sample
答案 0 :(得分:0)
您需要具有自己的平均逻辑的已计算度量。现在将此度量称为您的层次结构,它将为您提供每个公司的平均值。您不需要为每个成员添加它。要添加计算的度量,您需要转到多维数据集中的“计算”选项卡。
编辑:添加了示例查询
您可以看一下下面的示例,我更喜欢以这种方式计算平均值并将其排列在UI上,以使其看起来像您共享的屏幕截图
with member
[Measures].[Reseller Sales AmountAverage]
as
case when [Geography].[Geography].currentmember is [Geography].[Geography].defaultmember then null
else
([Geography].[Geography].currentmember.parent,[Measures].[Reseller Sales Amount])/([Geography].[Geography].currentmember.parent,[Measures].[Reseller Order Quantity])
end
select
{[Measures].[Reseller Sales Amount],[Measures].[Reseller Order Quantity],[Measures].[Reseller Sales AmountAverage]}
on columns,
[Geography].[Geography].members
on rows
from [Adventure Works]
现在,如果要使其完全与图片一样显示,则可以采用建议的在每个级别添加普通成员的方法。