2017-04-19 139 views
2

我创建了一个针对演示Sales多维数据集的报表。 它包含一个日期选择器,其范围(从&到),其中“选择”事件被命名为日期窗口。
&透视表类似于这样的MDX查询:使用日期选择器范围作为MDX查询中的过滤器

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

我想通过在日期选择器的距离,并以取代在查询中固定日期。怎么做?

回答

1

如上所述,IcCube日期选取器小部件会返回范围的有效MDX值。这里是demo report与描述的配置。

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

+0

,因此我需要该演示的登录信息! – whytheq

+0

@whytheq我固定的联系 –

+0

如果我更改了日期选取器没有任何反应的MDX – whytheq

2

mdx很多方言,如果你有一个参数叫做@aDate,让我们假设它的当前值7 Jan 2005,那么你可以通过strToMember功能像这样添加到mdx

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

还是strToSet之类的函数这样的:

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

在icCube我宁愿使用MDX功能LookupByKey而不是strToMember。除了更好的输入外,编译器还可以轻松地猜测出在几种情况下方便使用的层次结构。恕我直言,请尽量不要使用StrToMember。喜欢的东西:

[Calendar].[Day].lookupByKey(StringToDate(@date,"d/M/yyyy")) 

为了解析字符串到约会,你已经可以(herehere)的一些功能。

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

+0

(提高)我嫉妒你提供的所有功能!希望MS能够提供和执行mdx – whytheq