CUBE设计计算列的一个问题。。。求大大们给点方案

0
比如:
维度1 维度2 维度3 度量值(value)
a aa aaa 1
c cc ccc 2
d dd ddd 5
。。。
m mm mmm 12
这里有N行数字 我吧他们做成了CUBE 3个维度,一个度量值, 我现在需要一个指标 这个指标的公式
:度量值-AVG(度量值)
这个指标如果直接在页面上用MDX取貌似不会太麻烦。但是我希望能做成一个计算列,让我在如图界面拖拽出维度时自动生成出这个指标的值。。这个就不知道怎么弄了。。求各位大大给点建议
a.jpg
已邀请:
1

刘兴建 - MSBI 工程师-天善学员 2013-12-27 回答

这样不知道能否满足你的需求,如果列上有多个维度,需要取对应维度的值,修改对应的Item应该就能行了。
with member .
as iif(
(.,
Axis(1).item(0).item(0).dimension.currentmember)=0,
null,
(.,
Axis(1).item(0).item(0).dimension.currentmember)-avg(Axis(1).item(0).item(0).dimension.members,.)
),format_string='0.00'
select {.,
.
} on 0
,non empty{
..members
} on 1
from
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2013-12-27 回答

MDX我用的不多,不过之前看了一些文章。
其实很简单你这个。

直接在 SSAS里新建计算成员, 然后将 左侧的 度量值 拖进设计文本框里。
按照你这里的要求,拖2次。然后 加上AVG函数,就可以了。

然后刷新度量值组,里面就会有你新建的这个 计算成员。 可以拖它了。

不知道说的对不对,不足之处也请高手指正。
0

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2013-12-27 回答

给你贴点例子,我从一个哥们的blog里tiang来的。






0

hnrenyp - 知识没见长,赘肉飙涨 2013-12-27 回答

灰常感谢各位,如果直接把这个数据做成CUBE 然后用MDX在用的时候取的话 就如上面的哥们儿那么写,因为需求是设计成计算列,然后在CUBE 浏览界面 关联维度拖拽出结果。。
这个MDX 就比较麻烦了。。。因为有多个维度,在计算列中如何关联维度,但是因为拖拽出维度并不是固定。。这个是我没法实现的。。。

要回复问题请先登录注册