按月设置过滤数据

时间:2017-01-23 18:56:14

标签: reporting-services reportbuilder3.0

我正在使用SharePoint List类型的嵌入式数据源。

我使用用户可以修改的参数来过滤月份数据集。我已经看过几个例子,但它们都使用SQL查询或仅在确切的一天而不是月份过滤。

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

1 个答案:

答案 0 :(得分:1)

一种简单的方法是创建参数类型Integer并在Available Values标签中设置所有月份,如下所示(例如,我只设置了五个月)。

enter image description here

然后转到DataSet Properties / Filter标签并使用以下设置。

enter image description here

表达用法:

=MONTH(Fields!Date.Value)

其中Date是您将用于按月过滤的字段。在Value中你必须使用:

=Parameters!Month.Value

更新:提供年份选择。

最好的方法是从DataSet中获取可用值,在本例中为SP列表。

只需在数据集中创建一个包含可用年份的计算字段(可以是SP列表数据集的副本),将其命名为calculatedYear并使用:

=YEAR(Fields!Date.Value)

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

enter image description here

DataSet15是使用可用年份为您的参数提供参数的DataSet名称。

然后在数据集中添加另一个过滤器:

enter image description here

  

请注意,您需要两个数据集才能获得可用的年份   您需要过滤的其他数据集。

如果有帮助,请告诉我。