首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mdx查询中query =‘query 5’>使用query=‘query 6’>0语法不起作用

在mdx查询中query =‘query 5’>使用query=‘query 6’>0语法不起作用
EN

Database Administration用户
提问于 2019-04-08 10:26:58
回答 1查看 1.8K关注 0票数 1

希望您做得很好,我编写了一个MDX查询,如下所示:

代码语言:javascript
复制
with member [Measures].[TOTAL] AS
SUM(Periodstodate([DimTime].[Year].[(All)] ,[DimTime].[Year].currentmember)
,[Measures].[IndentCount])

Select {[Measures].[IndentCount],[Measures].[TOTAL]}  
   having [Measures].[IndentCount] > 0 on 0 , 
   non empty [DimTime].[Year].[Year] on 1
from [Procurement]

问题是,尽管使用了having [Measures].[IndentCount] > 0,但我仍然看到度量的null值,如下所示:

。我想知道问题是什么?即使我使用Filter函数,我也有这个问题。

提前感谢

EN

回答 1

Database Administration用户

回答已采纳

发布于 2019-04-15 01:22:03

您将HAVING子句放在ON COLUMNS轴(或ON 0)中,该轴试图筛选出任何具有空或零IndentCount的列。相反,您需要将其移动到ON ROWS轴(或ON 1),如果您希望它消除某些行的话。

我还建议您可以使用NonEmpty函数而不是HAVING来优化性能。由于您不能有一个零或负IndentCount,下面的操作将执行您想要的,并将更好地执行,因为它将只计算您最终将保持的行的总度量。

代码语言:javascript
复制
with member [Measures].[TOTAL] AS
SUM(Periodstodate([DimTime].[Year].[(All)] ,[DimTime].[Year].currentmember)
,[Measures].[IndentCount])

Select {[Measures].[IndentCount],[Measures].[TOTAL]}  
   on 0 , 
   NonEmpty([DimTime].[Year].[Year], [Measures].[IndentCount]) on 1
from [Procurement]
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/234170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档