如何使用MDX查询指定日期范围

时间:2017-11-23 10:20:18

标签: sql mdx powerbi cube sap-bw

我最近尝试在Power BI中使用MDX查询直接从SAP Business Warehouse多维数据集查询信息。我遇到了一条错误消息,我无法弄清楚如何解决。错误消息为:“SAP Business Warehouse:为变量日间隔指定值”

在报告中,选择日期范围是必需的。如果我单击使用Power BI到SAP BW连接器,其中一个步骤如下面的屏幕截图: enter image description here

这一天位于名为[0CALDAY]的多维数据集中,并使用[0CALDAY].[20101107]

指定

但是,如果我使用MDX使用下面的代码查询类似的数据

select {[Measures].[00O2THVIBBMJV8JIFLLW439K8]} on columns 
from [0PT_MP01/Y_PT_TM_Q001_BOBJ]
where {[0CALDAY].[20101101]: [0CALDAY].[20101110]}

然后单击OK,我将收到消息:“SAP Business Warehouse:为变量Day Interval指定一个值”。我对此的理解是我选择日间隔不被识别的方式?

我还尝试在&前面使用[20101101]做出类似这样的事情:[0CALDAY].&[20101101](根据在线的一些介绍),然后我收到语法错误消息

我可以用查询语言做些什么吗?我需要将号码转换为日期类型吗?我是MDX和Cube的新手,任何建议都会非常感激。

谢谢

2 个答案:

答案 0 :(得分:1)

要添加SAP变量所需的查询末尾 SAP VARIABLES [<technical name of variable>] INCLUDING <value for variable>而非WHERE 有用的链接: https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=356124639 https://blogs.sap.com/2005/06/08/quick-help-in-creating-mdx-statement/

答案 1 :(得分:0)

我将举一个示例来帮助说明强制性SAP变量的用法:

SELECT {[度量]。[measure1_name],[Measures]。[measure2_name]}在列上,非空{[dimension1_name]。[LEVEL01] .MEMBERS,[dimension2_name]。[LEVEL01] .MEMBERS}在行上从[BExQuery_name] SAP变量[!V000001]包括[dimension1_name]。[80000000103] [!V000004]包括[0CALDAY]。[20130101]:[0CALDAY]。[20130104]

!V000001和!V000004是BEx变量。

80000000103是“ dimension1_name”的样本值。 20130101和20130104是0CALDAY的示例范围。