关于SSAS MDX 计算成员使用的问题,新手求教,谢谢先!

freewing 2016-05-18 12:58:39
为了尽量描述清楚,用EXCEL编了以下数据集(实际中较为复杂)

写查询:

WITH
MEMBER [班级].[班级].[1-2班] AS sum({[班级].[班级].&[1],[班级].[班级].&[2]},[Measures].CurrentMember)
MEMBER [班级].[班级].[2-3班] AS sum({[班级].[班级].&[2],[班级].[班级].&[3]},[Measures].CurrentMember)
SET [两组班级] as {[班级].[班级].[1-2班],[班级].[班级].[2-3班]}
SELECT
[Measures].[成绩] ON 0,
[两组班级] ON 1
FROM [班级CUBE]

得到结果类似:

想进一步得到以下效果:


但写查询:

WITH
MEMBER [班级].[班级].[1-2班] AS sum({[班级].[班级].&[1],[班级].[班级].&[2]},[Measures].CurrentMember)
MEMBER [班级].[班级].[2-3班] AS sum({[班级].[班级].&[2],[班级].[班级].&[3]},[Measures].CurrentMember)
SET [两组班级] as {[班级].[班级].[1-2班],[班级].[班级].[2-3班]}
SELECT
[Measures].[成绩] ON 0,
[两组班级] * [学生].[学生].members ON 1
FROM [班级CUBE]


却得到结果:

请高人赐教,谢谢!
...全文
1144 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
freewing 2016-05-18
  • 打赏
  • 举报
回复
引用 1 楼 qq_18219519 的回复:
with [班级CUBE](班级,学生,成绩) as ( --源数据
select 1,'1A',1 union all
select 1,'1B',1 union all
select 1,'1C',1 union all
select 2,'2A',1 union all
select 2,'2B',1 union all
select 2,'2C',1 union all
select 3,'3A',1 union all
select 3,'3B',1 
), bj(班级,学生,成绩) as(
select '1-2班',学生,成绩 from [班级CUBE] where 班级 in (1,2) union all
select '2-3班',学生,成绩 from [班级CUBE] where 班级 in (2,3) )--处理
select 班级,学生,成绩 from bj  union select 班级,'All',sum(成绩) from bj group by 班级
order by 班级,学生
谢@qq_18219519,但 这貌似是个SQL命令,我需要MDX查询,
  • 打赏
  • 举报
回复
with [班级CUBE](班级,学生,成绩) as ( --源数据
select 1,'1A',1 union all
select 1,'1B',1 union all
select 1,'1C',1 union all
select 2,'2A',1 union all
select 2,'2B',1 union all
select 2,'2C',1 union all
select 3,'3A',1 union all
select 3,'3B',1 
), bj(班级,学生,成绩) as(
select '1-2班',学生,成绩 from [班级CUBE] where 班级 in (1,2) union all
select '2-3班',学生,成绩 from [班级CUBE] where 班级 in (2,3) )--处理
select 班级,学生,成绩 from bj  union select 班级,'All',sum(成绩) from bj group by 班级
order by 班级,学生

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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