mdx高手看过来,up有分

mihi1978 2003-08-24 10:29:16
我正在analysis server做一个化工厂的物耗能耗分析。
我原来的想法想用olap的强大的查询功能,现在觉得很不方便,不过没有办法,骑虎难下,只能坚持下来。看看我下面的mdx语句
select {[Measures].[苯乙烯流出],[Measures].[单位能耗],[measures].[水比]} on AXIS(0),{[时间].[日].members} on axis(1) from [水比] where [反应器二温度二].[576]

我的原意是找出苯乙烯流量,单位能耗,水比。对应日期。然后找出温度为576的纪录。但是返回给我的是所有的纪录的包含所有时间。只是温度不为576的,不显示数值,为null。我是想让他变得紧凑一点,如果不是576度,就不需要显示了。可以办得到吗?
另外一个问题,我的所有维度熟知都是数字型,但在analysis server里边却不能计算?好不方便啊?
真心希望有高手帮我提炼提炼。
...全文
28 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bokesoft 2003-08-26
  • 打赏
  • 举报
回复
select {[Measures].[苯乙烯流出],[Measures].[单位能耗],[measures].[水比]} on columns,
{[时间].[日].Members} on rows
from [水比]
where [反应器二温度二].[576]

顺便借宝地一用:
我在这儿发的帖子怎么都看不到了啊,昨天今天连续发了三个,都找不到了,怎么回事情啊?
其它发帖子的目的也很简单:向木人兄求一本professional。。。。的关于mdx用法的书,可不可以mail一本给我啊,谢谢,偶的联系方法:cayman@hb56.com,msn:cayman_2000@hotmail.com
chump 2003-08-26
  • 打赏
  • 举报
回复
是的!如果要得到所有天的记录,用你的查询办法就可以。
你用[反应器二温度二].[576]切片,怎么可能查出温度不为576的数据呢??
我想是不是你建了[时间].[日]是包含所有日期时间的,而有些日期时间并不进行生产(如节假日等),所以才会产生null记录??
如果是这样,用Filter函数把空值去掉。

mihi1978 2003-08-26
  • 打赏
  • 举报
回复
木人兄,你这样只能查处一天的记录吧?我想得到所有天的[576]下的纪录。
实际上我的情况是这样的,我的立方体来自一个化工厂的生产纪录,每两个小时一条记录,记录里边包括但是设备的温度,压力,以及原料和水蒸气的流量当然还有产品产出的流量。水比和单位能耗是两个计算成员。我主要是想分析,其他参数和产品产出(也就是我上面那个苯乙烯流出)的关系。有什么好的意见吗?谢谢
lzj34 2003-08-26
  • 打赏
  • 举报
回复
大家都努力吧,把这一版做强做大吧!
木人的方法应该说还可以
cywarson 2003-08-26
  • 打赏
  • 举报
回复
学的人还不是很多嘛...
呵.
chump 2003-08-26
  • 打赏
  • 举报
回复
这一版的人气这么差?大家来参与啊!!
mihi1978 2003-08-26
  • 打赏
  • 举报
回复
谢谢木人,我搞定了
在{[时间].[日].Members} 前面加一个NON Empty。
十分感谢。我也斗胆向木人兄求那本书,通过msn传给我?mihi1978@hotmail.com
chump 2003-08-26
  • 打赏
  • 举报
回复
select {[Measures].[苯乙烯流出],[Measures].[单位能耗],[measures].[水比]} on columns,
Filter({[时间].[日].Members},[Measures].[苯乙烯流出]>0) on rows
from [水比]
where [反应器二温度二].[576]
mihi1978 2003-08-26
  • 打赏
  • 举报
回复
怎么用filter?是放在where语句里边吗?
mihi1978 2003-08-26
  • 打赏
  • 举报
回复
木人,我也觉得很奇怪
我用[反应器二温度二].[576]切片,却给我找出来,所有天的纪录(的确是所有天)。而明明有些天那个反应器二温度二,并没有等于576。真是奇怪。
chump 2003-08-25
  • 打赏
  • 举报
回复
1:MDX查询的语法和SQL类似,但有很大的不同,尤其要深刻理解切片问题。。。
你的查询可这样:
select {[Measures].[苯乙烯流出],[Measures].[单位能耗],[measures].[水比]} on columns,
{[时间].[日].[20030825]} on rows
from [水比]
where [反应器二温度二].[576]
维度具体格式根据你自己的维度格式。
2。维度的相加,实际是切片相加,比如:20030824日和20030825相加,即对应量的相加。
可使用 WITH 创建计算成员

7,388

社区成员

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

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