繁体   English   中英

SSAS 计算维度成员

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM