2017-01-23 85 views
0

我正在使用SharePoint列表类型的嵌入式数据源。按月设置的过滤器数据

我会参数,用户可以修改,将按月过滤数据集。我已经看到了一些例子,但他们都使用SQL查询,或者只在确切日期而不是月份进行过滤。

我添加了一个参数ParamMonth,并给它数据类型的日期/时间。我可以看到这增加了一个下拉框给我的报告,这正是我想要的。理想情况下,我想添加所有12个月的名称或类似的名称,但我不知道数据如何超过一年后会如何运作。现在,我已经添加了我的报告参数,我需要将其添加到我的数据集进行过滤。这是我卡住的地方。

回答

0

一个简单的方法可能是创建一个参数类型Integer并设置Available Values选项卡中的所有月份如下(我只是设置五个月为例)。

enter image description here

然后去DataSet Properties/Filter选项卡,使用下面的设置。

enter image description here

为了表达应用:

=MONTH(Fields!Date.Value) 

哪里Date是,你将使用一个月来过滤领域。在Value你必须使用:

=Parameters!Month.Value 

UPDATE:提供一年的选择。

最好的方法是从DataSet中获取可用的值,在这种情况下是您的SP列表。

只需创建与现有年数据集的计算的字段(也可以是SP清单数据集的副本),称之为calculatedYear及用途:

=YEAR(Fields!Date.Value) 

现在创建Intenger数据类型的年份参数,并将此设置:

enter image description here

哪里DataSet15是与现有的饲料多年的参数数据集名称。

然后,只需添加其他过滤器在您的数据集:

enter image description here

注意,您将需要两个数据集一个获得可用年 其他需要过滤的数据集。

让我知道这是否有帮助。

+0

我有类似的东西,但我没有使用我的参数作为类型整数。我使用了文本并拼写每个月并使用以下表达式:= MonthName(Month(Fields!fieldname.Value))。我将遇到的问题是,我将如何处理2016年,2017年1月的所有数据......等等。我采取的下一个逻辑步骤是添加一年参数,并遵循相同的步骤,但这看起来很混乱。有没有一种方法可以使数据更具动态性?看起来我不能将表达式添加到可用字段中。 – HiTech

+0

@HiTech,我已经更新了我的答案,试试看。 –