问个mdx如何获取key的问题

lighting_pig 2015-04-03 09:42:20
上网一查都说是用类似
[往来单位].[DWBH].currentmember.Properties("key")
的写法来获取,
可是如果有单位和科目2个层级交叉,我这么写,会导致查出多的数据,比如我科目加了过滤条件,不查key只有200行,加入查key以后就会变2000多行,结果会把过滤的科目以及这些科目的上级全部也查出来,导致数据变多,
层级交叉的情况下如何查询某个数的key呢?

with member [mm] as
[往来单位].[DWBH].currentmember.Properties("key")
SELECT
NON EMPTY { [Measures].[科目同比增长率], [Measures].[科目同比发生额],mm} ON COLUMNS,
NON EMPTY { ([报表名称].[Report Name].[Report Name].ALLMEMBERS
* DESCENDANTS([往来单位].[FJDWBH].[单位层级1].ALLMEMBERS)
* DESCENDANTS([报表科目].[FJID].[科目层级1].ALLMEMBERS)
* [报表科目].[KMBH].[KMBH].ALLMEMBERS
) }
ON ROWS
FROM ( SELECT ( { [报表科目].[KMBH].&[0], [报表科目].[KMBH].&[10353] } ) ON COLUMNS
FROM ( SELECT ( { [报表名称].[Report Name].&[资产负债表], [报表名称].[Report Name].&[主要生产和经营指标完成情况表] } ) ON COLUMNS FROM ( SELECT ( { [会计日期].[年].&[2014] } ) ON COLUMNS
FROM [Finance Center])))
WHERE ( [会计日期].[年].&[2014] )

----------------
上面是mdx, 单位和科目是2个树,不查mm就只有200多行,科目的过滤条件正常
加上mm查key就会变2000多行,科目的过滤条件就不正常,过滤科目的父级也会出现,

不明白为什么我查询单位的key会导致科目层级的过滤异常

...全文
38 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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