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

How to use MDX query to specify date range

我最近尝试在 Power BI 中使用 MDX 查询直接从 SAP 业务仓库多维数据集查询信息。我遇到一条错误消息,我不知道如何解决。错误信息是:"SAP Business Warehouse: Specify a value for variable Day Interval"

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

日期在名为 [0CALDAY] 的多维数据集中,使用 [0CALDAY].[20101107]

指定

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

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

并单击“确定”,我将收到消息说:"SAP Business Warehouse: Specify a value for variable Day Interval"。我对此的理解是无法识别我选择日期间隔的方式?

我也试过在[20101101]前面使用&来做这样的东西:[0CALDAY].&[20101101](根据网上的一些介绍),然后我收到语法错误信息。

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

谢谢

您需要在查询末尾添加一个 SAP 变量。

为此,您可以通过以下方式添加 SAP 变量:

SAP VARIABLES [<technical name of variable>] INCLUDING <value for variable>

您的查询最终将如下所示:

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

请在此处查找更多信息: https://wiki.scn.sap.com/wiki/pages/viewpage.action?pageId=356124639 https://blogs.sap.com/2005/06/08/quick-help-in-creating-mdx-statement/

我举个例子来帮助解释强制性 SAP 变量的用法:

SELECT { [Measures].[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 的样本范围。