ssas - 如何将计算成员添加到级别的所有成员?
问题描述
为了更详细地描述,我有一个立方体,其中包含有关大型财团(几家公司)中工人工资和其他费用的数据。因此,我创建了维度 Time、FeeType 和 CompanyWorkers。
我还在 CompanyWorkers 维度中创建了一个 CompanyHierarchy,显然是Company->Worker
.
现在我需要获得每家公司的费用平均值。我想这意味着我必须在 CompanyHierarchy 中创建一个计算成员。
我知道如何为单个成员执行此操作:
CREATE MEMBER CURRENTCUBE.[CompanyWorkers].[CompanyHierarchy].[Company].& 1 .[Average] AS ....
为我的多维数据集中的每个公司复制这行代码似乎不正确。我可以编写一个命令将平均值添加到每个公司吗?
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]
现在,如果您想让它完全像您的图片一样显示,那么您可以采用您建议的方法,在每个级别添加平均成员。
推荐阅读
- wordpress - NGINX + 乘客 w/ Rails + WordPress 永久链接
- c++ - 输入 trait 以接收 T::value_type 如果存在,否则为 T
- web-services - 有人可以帮我从日本网络服务中解码这个网络服务响应吗?
- python - 从 c++ 到 python 的二进制阅读器
- laravel - 如何设置 Deployer 以仅将指定文件夹从 localhost 同步到生产环境?
- c - 比较数组,为什么我的 != if 语句正在运行?
- r - 用 R 中的一个唯一单词替换单词列表
- python - 找不到 numpy
- python - 创建与大型数据集折叠的数据透视表的策略
- c - 使用函数传递 char[] 的双链表问题