biee 横表转竖表

malong_01223 2011-02-24 02:24:12
有维度:代理人 有指标:收入 收入同比 收入环比
一般用biee做的报表:

收入 同比 环比
代理人1 100 200 300
代理人2 110 220 330

能不能做成下面这样呢

收入
代理人1 当期数据 100
同比数据 200
环比数据 300
代理人2 当期数据 110
同比数据 220
环比数据 330


环境biee11g + essbase
...全文
296 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongqq 2011-02-28
  • 打赏
  • 举报
回复
微软 unpivot 到是有这个功能,不过是t-sql语法。 不知道mdx语法怎么实现呢?
zhongqq 2011-02-28
  • 打赏
  • 举报
回复
我也正想了解biee是否可以实现? 我在用微软的工具做,挺难实现的。
malong_01223 2011-02-24
  • 打赏
  • 举报
回复
不要意思,可能没说清楚,是biee + essbase 环境?
解决办法要在biee 前台展现 或 admintool建模那里
gw6328 2011-02-24
  • 打赏
  • 举报
回复

declare @t table([代理] varchar(10),[收入] int,[同比] int,[环比] int);
insert into @t select '代理人1',100,200,300 union all
select '代理人2',110,220,330;
--select * from @t;

select CASE 名称 WHEN '收入'THEN [代理]+' 当期数据' ELSE 名称 END AS 名称,收入x AS 收入 from
(select [代理],[收入],[同比] ,[环比] from @t) pvt
unpivot (收入x FOR 名称 in ([收入],[同比],[环比])) unpvt

/*
名称 收入
--------------------- -----------
代理人1 当期数据 100
同比 200
环比 300
代理人2 当期数据 110
同比 220
环比 330
*/
- -!总算有了一盘unpivot了

gw6328 2011-02-24
  • 打赏
  • 举报
回复

declare @t table([代理] varchar(10),[收入] int,[同比] int,[环比] int);
insert into @t select '代理人1',100,200,300 union all
select '代理人2',110,220,330;
--select * from @t;

select CASE 名称 WHEN '收入'THEN [代理]+' 当期数据' ELSE 名称 END AS 名称,收入x AS 收入 from
(select [代理],[收入],[同比] ,[环比] from @t) pvt
unpivot (收入x FOR 名称 in ([收入],[同比],[环比])) unpvt

/*
名称 收入
--------------------- -----------
代理人1 当期数据 100
同比 200
环比 300
代理人2 当期数据 110
同比 220
环比 330
*/
- -!总算有了一盘unpivot了
AcHerat 2011-02-24
  • 打赏
  • 举报
回复

select 代理人,'当期数据' as 类型,(select 收入 from tb where 代理人 = a.代理人) as 金额
from tb a

union all
select 代理人,'同比',(select 同比 from tb where 代理人 = a.代理人)
from tb a

union all
select 代理人,'环比',(select 环比 from tb where 代理人 = a.代理人)
from tb a

order by 代理人
gw6328 2011-02-24
  • 打赏
  • 举报
回复
- -! unpivot还没有学到家!
快溜 2011-02-24
  • 打赏
  • 举报
回复
如果只有同比,环比两列,就用union吧。

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧