Ssas 如何将计算成员添加到级别的所有成员?

Ssas 如何将计算成员添加到级别的所有成员?,ssas,mdx,olap,Ssas,Mdx,Olap,为了更详细地描述,我有一个立方体,里面有一个大财团(几家公司)工人工资和其他费用的数据。因此,我创建了时间维度、情感维度和公司员工维度 我还在CompanyWorkers维度中创建了一个CompanyHierarchy,它显然是Company->Worker 现在我需要得到每家公司的平均费用值。我想这意味着我必须在公司层级中创建一个计算成员 我知道如何为单个成员做到这一点: 创建成员 CURRENTCUBE.[CompanyWorkers].[CompanyHierarchy].[Company

为了更详细地描述,我有一个立方体,里面有一个大财团(几家公司)工人工资和其他费用的数据。因此,我创建了时间维度、情感维度和公司员工维度

我还在CompanyWorkers维度中创建了一个CompanyHierarchy,它显然是
Company->Worker

现在我需要得到每家公司的平均费用值。我想这意味着我必须在公司层级中创建一个计算成员

我知道如何为单个成员做到这一点:

创建成员 CURRENTCUBE.[CompanyWorkers].[CompanyHierarchy].[Company].&.[Average] 作为

为我的多维数据集中的每个公司复制这行代码似乎是不正确的。我是否可以编写一个命令将平均值添加到每个公司

UPD:我想要达到的结果是这样的:

您需要一个具有平均逻辑的计算度量。现在为您的层级调用此度量,它将为您提供每个公司的平均值。您不需要为每个成员添加它。要添加计算的度量值,需要转到多维数据集中的“计算”选项卡

编辑:添加了一个示例查询

您可以看看下面的示例,我更喜欢用这种方式计算平均值,并将它们排列在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]


现在,如果您想让它完全像您的图片一样显示,那么您可以采用您建议的方法,在每个级别添加平均成员。

您对我的层次结构调用此度量是什么意思?如果我添加这样的计算度量值(为了简单起见,我省略了平均值逻辑):创建成员CURRENTCUBE。[Measures].[average]为1000,VISIBLE=1;下一步我该怎么办?@Yuriy我建议,与其在你的网站中添加一个成员,不如将其作为衡量标准添加。这一措施背后的逻辑是工资总额除以不同员工的数量。现在,您还可以在使用公司维度时恢复此度量以仅返回结果。这可以通过检查currentmember的默认值来实现。我希望我能解释清楚。如果你仍然面临一个问题,分享一个屏幕截图,显示结果应该是什么样子,我将提供一个示例查询并向你提供解释。也许我可以用你们提供的方法来计算平均值,但是用一种不同的方法。我用截图更新了这个问题。我真的很想买些样品query@Yuriy不客气。当然,我给你提供了一个样品。我现在有点忙,但一有时间我就会尝试去做。@Yuriy上面的查询有帮助吗?