MDX StrToMember 日期范围问题

Posted

技术标签:

【中文标题】MDX StrToMember 日期范围问题【英文标题】:MDX StrToMember date range issues 【发布时间】:2021-10-01 14:26:22 【问题描述】:

查询似乎无法使日期范围起作用。我将两个日期作为参数传递,基于此,我希望根据日期范围(@FromJoinDateDate:@ToJoinDateDate)和@ADMTRANSINSpecialty@ADMTRANSINSite 检索[Sector Name] 下拉值,最后两个似乎正在工作正确。

参数示例: @FromJoinDateDate:[Sector_Join_Date].[Date].&[2020-07-29T00:00:00] @ToJoinDateDate:[Sector_Join_Date].[Date].&[2021-07-29T00:00:00]

WITH 
MEMBER [Measures].[ParameterCaption] AS [ADM_TRANS_IN].[Sector Name].CURRENTMEMBER.MEMBER_CAPTION 
MEMBER [Measures].[ParameterValue] AS [ADM_TRANS_IN].[Sector Name].CURRENTMEMBER.UNIQUENAME 
MEMBER [Measures].[ParameterLevel] AS [ADM_TRANS_IN].[Sector Name].CURRENTMEMBER.LEVEL.ORDINAL 

SELECT 
[Measures].[ParameterCaption], 
[Measures].[ParameterValue],
[Measures].[ParameterLevel]

 ON COLUMNS , 
[ADM_TRANS_IN].[Sector Name].ALLMEMBERS ON ROWS 
FROM ( SELECT ( STRTOSET(@ADMTRANSINSpecialty, CONSTRAINED) ) ON COLUMNS 
FROM ( SELECT ( STRTOSET(@ADMTRANSINSite, CONSTRAINED) ) ON COLUMNS 
FROM ( SELECT  STRTOMEMBER(@FromJoinDateDate, CONSTRAINED) : 
                  STRTOMEMBER(@ToJoinDateDate, CONSTRAINED)  ON COLUMNS 
FROM [Model])))

我感觉 StrToMember 函数在这两种情况下都可能返回 null,这就是结果与查询不匹配的原因,但是我需要使用它才能使用 range 函数。会不会也是日期格式与多维数据集中的内容不匹配?

【问题讨论】:

【参考方案1】:

检查日期维度中实际日期格式值的一种方法如下:

创建新查询 导航到您的日期维度,展开成员,选择一个日期并拖放到您的查询窗口。

这将显示您数据的确切日期格式。 下面给出了使用 AdventureWorks 示例的示例屏幕截图:

可以看出,尽管在树中显示为“2005 年 1 月 1 日”,但实际数据的格式为:20050101。

一旦您能够在数据中找到实际的日期格式,您就可以相应地构造字符串表示。

【讨论】:

以上是关于MDX StrToMember 日期范围问题的主要内容,如果未能解决你的问题,请参考以下文章