MDX 表达式 小于当前日期才显示订货量
0
cube 已做好,但在展现报表时存在大于当前日期的订单,部分报表不想显示当前日期之后的订单数据,需要使用mdx语句做限制,一般条件 :iif([店仓维度.经营渠道] IS [自营],[Measures].[销售量],0) 类似这种的是可以生效,但换成日期层级就不生效了。
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-01-12 回答
赞同来自: 梁勇
大部分的东西都不用改,写MDX语句的话 你可以在你的MDX语句最后加一行比如:
WHERE
(
NULL : STRTOMEMBER("[Date].[Date].&[" + FORMAT(NOW(), "yyyyMMdd") + "]")
)
这个 STRTOMEMBER的意思是 拼了一个当前日期的维度出来,然后将它转成了你的真是维度
那么NULL: STRTOMEMBER()的意思 就是 从 你的基本数据比如 你表里是2000年开始计算销售量。
那么从 2000年--现在2015年1月X日,所有数据.
具体的语句类似如下:
SELECT
{
[Measures].[Internet Sales Amount]
} ON 0,
NON EMPTY
{
([Date].[Calendar].[Date].Members, [Product].[Category].[Category].Members)
*
([Product].[Product].[Product].Members)
} ON 1
FROM [Adventure Works]
WHERE
(
NULL : STRTOMEMBER("[Date].[Date].&[" + FORMAT(NOW(), "yyyyMMdd") + "]")
)
结果图:
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-01-12 回答
赞同来自:
那么我这里显示出来的数据 最大的就是 2007年1月12号,不会出现 1月13号的