Filter 在MDX查询中将日期选择器范围用作筛选器

Filter 在MDX查询中将日期选择器范围用作筛选器,filter,datepicker,mdx,iccube-reporting,Filter,Datepicker,Mdx,Iccube Reporting,我针对演示销售多维数据集创建了一个报告。 它包括一个日期选择器,其范围为“选择时”事件命名为“日期窗口”。 &具有类似以下内容的MDX查询的透视表: SELECT [Time].[Calendar].[Day].[7 Jan 2005] : [Time].[Calendar].[Day].[10 Jan 2005] ON 0 FROM [Sales]; 我想用日期选择器中的from和to替换查询中的固定日期。如何做到这一点?在许多方言的mdx

我针对演示销售多维数据集创建了一个报告。 它包括一个日期选择器,其范围为“选择时”事件命名为“日期窗口”。
&具有类似以下内容的
MDX
查询的透视表:

SELECT 
        [Time].[Calendar].[Day].[7 Jan 2005]
      : 
        [Time].[Calendar].[Day].[10 Jan 2005] ON 0
FROM [Sales];  

我想用日期选择器中的from和to替换查询中的固定日期。如何做到这一点?

在许多方言的
mdx
中,如果您有一个名为
@aDate
的参数,让我们假设其当前值为
2005年1月7日
,那么您可以通过
strotmember
函数添加到
mdx
,如下所示:

strToMember('[Time].[Calendar].[Day].[' + @aDate + ']')
strToSet('[Time].[Calendar].[Day].[' + @aDate + ']:[Time].[Calendar].[Day].[' + @aSECONDDate + ']')
或者像这样的
stroset
功能:

strToMember('[Time].[Calendar].[Day].[' + @aDate + ']')
strToSet('[Time].[Calendar].[Day].[' + @aDate + ']:[Time].[Calendar].[Day].[' + @aSECONDDate + ']')

在icCube中,我宁愿使用MDX函数,而不是。除了更好的类型之外,编译器还可以很容易地猜测在一些场景中很方便的层次结构。嗯,试着永远不要使用strotmember。比如:

 [Calendar].[Day].lookupByKey( StringToDate(@date,"d/M/yyyy") )
要将字符串解析为日期,有几个函数可用(和)


我认为范围过滤器直接返回事件中的MDX范围表达式(如果不是这样,请直接与我们联系)

如上所述,IcCube日期选择器小部件返回有效的MDX值。下面是所描述的配置


有关更多详细信息,请检查日期选择器的设置和透视表的mdx设置

(升级)我嫉妒你提供的所有功能!!希望MS在提供和实现mdxi时也能如此活跃(或者只是有点活跃!)需要登录该演示@为什么我修复了链接如果我更改了日期选择器mdx@whytheq(1)更改底部输入(2)表的内容更改(3)表示表(4)的实时MDX值,只是应在表的配置中使用的静态值