对 SSRS 报告中的参数应用过滤器
Apply filter on parameter in SSRS report
我正在使用 BIDS 中的 SharePoint 列表创建 SSRS 报告。
我有两个领域即。 Name、Time&Date,都是字符串参数。
我能够获得 SSRS 报告,但是我想让用户使用时间和日期参数上的过滤器来获取报告。用户应该能够 select 开始和结束日期来获得结果。
我需要为此编辑 Caml 查询还是可以使用 UI 来实现?
请提出建议。
已更新--------------------
我用过下面的Caml Query
<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListName>Test_FAMM</ListName>
<ViewFields>
<FieldRef Name="Document_x0020_Name" />
<FieldRef Name="Time_x0020_of_x0020_Upload_x005c" />
</ViewFields>
<Query><Where><And><Gt><FieldRef Name="Time_x0020_of_x0020_Upload_x005c"/><Value Type="Text" IncludeTimeValue="FALSE">
'+'@StartDate'+'</Value></Gt><Lt><FieldRef Name="Time_x0020_of_x0020_Upload_x005c"/><Value Type="Text" IncludeTimeValue="FALSE">'+'@EndDate'+'</Value></Lt></And></Where></Query>
</RSSharePointList>
但是,查询没有为我获取任何数据。
还,
Time_x0020_of_x0020_Upload_x005c 是文本类型....
您可以像 Samuel 提到的那样在查询中使用参数,也可以将其添加到数据集的过滤器部分或 table。
最好尽可能在查询中使用它,因为它减少了必须从数据所在的服务器传输到报表服务器的信息量,并减少了呈现报表所需的时间,因为报表服务器不必花时间进行过滤。将参数添加到查询中,然后在数据集的“过滤器”选项卡中添加您的参数,并使用下拉菜单在查询中添加 select 匹配参数。
您可以只在数据集的 Filter 选项卡中使用您的参数。打开您的数据集并单击过滤器选项卡。如果您的字段是日期字段,select 您在 Expression 中的日期字段,请将 Type 从 Text 更改为 到 Date/Time 和 Operator 到 Between。对于第一个 Value,选择您在报告 Parameters 中创建的 Start Date Parameter 和 结束日期作为第二个值。
我正在使用 BIDS 中的 SharePoint 列表创建 SSRS 报告。 我有两个领域即。 Name、Time&Date,都是字符串参数。 我能够获得 SSRS 报告,但是我想让用户使用时间和日期参数上的过滤器来获取报告。用户应该能够 select 开始和结束日期来获得结果。 我需要为此编辑 Caml 查询还是可以使用 UI 来实现? 请提出建议。
已更新--------------------
我用过下面的Caml Query
<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListName>Test_FAMM</ListName>
<ViewFields>
<FieldRef Name="Document_x0020_Name" />
<FieldRef Name="Time_x0020_of_x0020_Upload_x005c" />
</ViewFields>
<Query><Where><And><Gt><FieldRef Name="Time_x0020_of_x0020_Upload_x005c"/><Value Type="Text" IncludeTimeValue="FALSE">
'+'@StartDate'+'</Value></Gt><Lt><FieldRef Name="Time_x0020_of_x0020_Upload_x005c"/><Value Type="Text" IncludeTimeValue="FALSE">'+'@EndDate'+'</Value></Lt></And></Where></Query>
</RSSharePointList>
但是,查询没有为我获取任何数据。 还, Time_x0020_of_x0020_Upload_x005c 是文本类型....
您可以像 Samuel 提到的那样在查询中使用参数,也可以将其添加到数据集的过滤器部分或 table。
最好尽可能在查询中使用它,因为它减少了必须从数据所在的服务器传输到报表服务器的信息量,并减少了呈现报表所需的时间,因为报表服务器不必花时间进行过滤。将参数添加到查询中,然后在数据集的“过滤器”选项卡中添加您的参数,并使用下拉菜单在查询中添加 select 匹配参数。
您可以只在数据集的 Filter 选项卡中使用您的参数。打开您的数据集并单击过滤器选项卡。如果您的字段是日期字段,select 您在 Expression 中的日期字段,请将 Type 从 Text 更改为 到 Date/Time 和 Operator 到 Between。对于第一个 Value,选择您在报告 Parameters 中创建的 Start Date Parameter 和 结束日期作为第二个值。