[英]SSAS Calculated dimension member
我尝试将计算成员添加到多维数据集,
目前在我的报告中,我有这样的事情
dimension value
a 5
b 10
我尝试添加一个计算成员 x (= a/b)
dimension value
a 5
b 10
x 0.5
这适用于管理工作室:
with member [dimension].[hierarchy].[x] as
( [Measures].[Value], [dimension].[hierarchy].[a])/
([Measures].[Value], [dimension].[hierarchy].[b])
select [Measures].[Value]
on 0
,
{
(
[dimension].[hierarchy].[a]
,[dimension].[hierarchy].[b]
,[dimension].[hierarchy].[x])
} on 1
from [cube]
where { [Date].[Date].&[20140821]}
但是在多维数据集 - 计算成员中,我尝试将计算成员分配给 [dimension].[hierarchy],在浏览器中,我可以看到 [dimension].[hierarchy] 下的 x 和 'All' 成员。 但是当我右键单击它时,只有将其添加到子立方体的选项,但我希望将其添加到行区域。
我知道我可以创建计算度量而不是计算维度,所以它会是这样的:
dimension value x
a 5 0.5
b 10 0.5
但这对用户来说很困惑。
我是新手,所以这是可行的(计算维度成员)吗? 如何?
来这里参加聚会晚了几年!
然而,这是处理财务数据时的常见要求。 通常,对于损益报告,需要将一组指标添加到同一个维度表中,以便行以正确的顺序出现,尤其是在使用 SSRS 时。 指标通常是比率,例如平均每周费用。
您想要计算一个比率。 执行此操作的一种非常强大的方法是在 SASS 多维数据集计算中使用 SCOPE 语句。 Scope 语句可以有效地针对维度值注入计算值,该维度值将根据您随后编写的任何 MDX 查询中的时间维度自动重新计算。
例如,给定月份的 a/b 值将不同于给定季度的值。 X当然需要存在于维度中,即使它最初没有价值。 我们的范围声明看起来像这样:
SCOPE ([Measures].[Value], {[dimension].[hierarchy].[x]});
This = IIF([dimension].[hierarchy].[b] = 0, null,
[dimension].[hierarchy].[a]/[dimension].[hierarchy].[b];
END SCOPE;
虽然 [Measure].[Value] 是基于底层相关事实表为整个维度定义的,但我们只是改变了与 x 关联的度量值,同时也满足了 b 可能为零的可能性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.