如何使用SharePoint列表作为数据源选择SSRS中的前10名

时间:2013-10-07 21:39:56

标签: sharepoint reporting-services ssrs-tablix ssrs-grouping

我正在尝试构建包含2个子报告的SSRS报告。 每个子报表使用一个数据集,其中包含SharePoint列表作为其数据源。

通常在尝试控制SP查询的长度时,我按表达式使用以下组;

=ceiling(Rownumber(nothing)/N)

这有助于设置分页符以适应Web部件。

但是当尝试堆叠两个子报告时,当第一个子报告有很多结果时,第二个子报仍然被推回多个页面。

我认为我应该限制报表中数据集查询的结果数量,类似于使用

进行SQL表数据源查询时的结果数量
select top 10

问题是我不熟悉SharePoint List是数据集时使用的查询语言。

您能否告知以下需要插入的内容以限制返回结果的数量。

<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListName>SPUD</ListName>
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="Description" />
<FieldRef Name="Quantity" />
<FieldRef Name="Condition" />
<FieldRef Name="_x004c_OC1" />
<FieldRef Name="PIM" />
</ViewFields>

此外,请告知如何将报告参数传递给上述查询。 (我目前使用过滤器功能,但如果在查询中限制返回的结果数量,则无效。)

最后,可以通过一些tablix参数设置我要求的内容吗?

感谢您的帮助,如果您需要任何其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:3)

你可以通过隐藏你不想要的额外行来捏造它。单击Detail行句柄以突出显示Tablix中的整个详细信息行。转到Visibility - Hidden属性,然后输入以下公式:

=RowNumber(Nothing) > 10

您可以将参数传递给报表以限制显示的行:

=RowNumber(Nothing) > Parameters!MaxRows.Value