MDX 查询过滤器
MDX Query Filter
我有一种情况需要根据列 (DatetimeA) 进行过滤。 DatetimeA 中的值的格式为 19990101(yyyyMMdd)。我需要过滤我的数据以仅显示最近 60 天。
Mdx 查询:
SELECT NON EMPTY {Measures].[DateA] } ON COLUMNS
,NON EMPTY { [Date].[DatetimeA].[DatetimeA].ALLMEMBERS )
}DIMENSION PROPERTIES MEMBER_CAPTION
,MEMBER_UNIQUE_NAME ON ROWS
FROM (
SELECT ([Date].[DatetimeA].& [20170118] : [Date].[DatetimeA].[20170318])
ON COLUMNS
FROM [TABMODEL]
) CELL PROPERTIES VALUE
,BACK COLOR
,FORE COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS
我们如何过滤 DatetimeA 列以仅显示最近 60 天?我不需要对值进行硬编码,而是需要根据日期进行更改的内容。在 ssrs 中,这类似于 DatetimeA 在 (format(dateadd("d",-60,today()),"yyyyMMdd") 和 (format(dateadd("d",0,today( )),"yyyyMMdd").
请在上面的查询中包含更改。谢谢!
下面的代码必须在 SSAS 端生成一个动态集:
{
StrToMember('[Date].[DatetimeA].[DatetimeA].&[' + Format(Now(),'yyyyMMdd') + ']')
:
StrToMember('[Date].[DatetimeA].[DatetimeA].&[' + Format(Now(),'yyyyMMdd') + ']').Lag(59)
}
此外,您还可以添加一个 SSRS 参数来获取当前日期,并将其添加到 MDX 代码中。
我有一种情况需要根据列 (DatetimeA) 进行过滤。 DatetimeA 中的值的格式为 19990101(yyyyMMdd)。我需要过滤我的数据以仅显示最近 60 天。
Mdx 查询:
SELECT NON EMPTY {Measures].[DateA] } ON COLUMNS
,NON EMPTY { [Date].[DatetimeA].[DatetimeA].ALLMEMBERS )
}DIMENSION PROPERTIES MEMBER_CAPTION
,MEMBER_UNIQUE_NAME ON ROWS
FROM (
SELECT ([Date].[DatetimeA].& [20170118] : [Date].[DatetimeA].[20170318])
ON COLUMNS
FROM [TABMODEL]
) CELL PROPERTIES VALUE
,BACK COLOR
,FORE COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS
我们如何过滤 DatetimeA 列以仅显示最近 60 天?我不需要对值进行硬编码,而是需要根据日期进行更改的内容。在 ssrs 中,这类似于 DatetimeA 在 (format(dateadd("d",-60,today()),"yyyyMMdd") 和 (format(dateadd("d",0,today( )),"yyyyMMdd"). 请在上面的查询中包含更改。谢谢!
下面的代码必须在 SSAS 端生成一个动态集:
{
StrToMember('[Date].[DatetimeA].[DatetimeA].&[' + Format(Now(),'yyyyMMdd') + ']')
:
StrToMember('[Date].[DatetimeA].[DatetimeA].&[' + Format(Now(),'yyyyMMdd') + ']').Lag(59)
}
此外,您还可以添加一个 SSRS 参数来获取当前日期,并将其添加到 MDX 代码中。