再请教个简单MDX,谢谢1

bzlj 2010-08-26 03:50:52
维度:
组织机构(是个父子维度,大概是 [公司] - [部门] - [班组] 这么样一个层次,某些部门下面没班组)
项目
时间
度量: 完成产值 (事实表: 时间 , 部门或班组 , 项目 , 产值 )

我的目的是按组织机构统计某月参与的项目数量。

结果是:

1月 2月
部门1 20 25
班组1 10 5
班组2 10 10
部门2 30 30
班组1 20 10
班组2 10 20
...全文
128 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
fpzgm 2010-09-19
  • 打赏
  • 举报
回复
建议直接用ssas里面界面操作,不用写代码,度量值里面可以设置为distinctcount,方便,还可以避免负责代码的调试
Edward_Johns 2010-09-18
  • 打赏
  • 举报
回复
With set [组织机构_SET] as 'Union(Filter([组织机构].[部门].members, count(Descendants([组织机构].currentMember, 1)=0)), [组织机构].[班组].members)' Select crossjoin([日期维度].[月].members, [组织机构_SET]) on COLUMNS, [Measures].[完成产值] on ROWS FROM [CUBE]
=================================================
[组织机构_SET]包括没有班组的部门和所有班组。
sdwbcvbrtcwwww 2010-08-31
  • 打赏
  • 举报
回复
3#说得对~~除了distinctcount~~还有很多种,建议详细看一下帮助文档,能省很多时间~~
ps:话说数据量不大的话还是用关系数据库就行~~如果你一个表有4亿行数据,光count(1)就4、5分钟的话就该考虑多维数据集了
kinsa 2010-08-27
  • 打赏
  • 举报
回复
一样的啊。。。你新建一个measure,聚合方程使用distinctcount
bzlj 2010-08-26
  • 打赏
  • 举报
回复
不行吧,如果只是一个月,这样可以,如果几个月的,只能distinctcount,但不会写
kinsa 2010-08-26
  • 打赏
  • 举报
回复
你的事实表里的项目有重复值吗?如果没有的话直接取count就行了
如果你的cube是用向导建的话,会有个count的measure,直接用就可以了
SELECT [日期维度].[月].ALLMEMBERS ON COLUMNS,
([组织机构].[部门].CHILDREN, [组织机构].[班组].CHILDREN) ON ROWS
FROM CUBE_NAME
WHERE [Measures].[factCnt]

662

社区成员

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

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