是否可以从RSSharePointList数据集中获取SSRS中的Distinct Values?

时间:2014-08-22 14:47:57

标签: sharepoint reporting-services

让我从我的主要问题开始并研究问题,因为可能有更好的解决方案来处理我的主要问题。

我目前正在尝试创建一个' datadump' SSRS 2008中的报告,它从两个相关的SharePoint列表中获取所有记录,并将它们组合到Tablix中,将所有数据显示为Tablix中的连接记录。为此,我在子列表上创建了一个数据集,然后在转储中我想要的每个字段的另一个数据集(父列表)上使用Lookup表达式。很高兴能加入我的所有记录,但有一个问题。由于并非所有家长都有儿童记录,我都错过了一些家长记录。在SQL中,我只是刚刚从Parent开始并执行LEFT JOIN,但由于SharePoint列表不像SQL表那样工作,因此它们必须为每个列表都有一个数据集(至少来自所有I&#) 39;见过,可能有一个我不知道的解决方法)。

所以,我想创建第二个tablix,其中包含所有不显示的父记录。我的想法是简单地创建父记录的另一个数据集,其中父ID没有出现在子数据集中。虽然没有“没有”。过滤器可用,我确实找到了这个解决方案:http://blog.datainspirations.com/2011/01/20/working-with-reporting-services-filters-part-4-creating-a-not-in-filter/,我会使用表达式' = Iif(InStr(Join(Parameters!FilterList.Value,“,”)),  字段Category.Value)= 0,真,假)'!

所以我的问题是,有没有办法从childs列表中获取不同的值以用作我的过滤器列表?我知道它可能不是100%必要但我想尝试优化性能。

此外,如果有人有更好的解决方案从两个单独的SharePoint列表中获取数据,我全心全意:)

1 个答案:

答案 0 :(得分:1)

要解决原始问题,可以使用子报表。有一个适用于父SharePoint列表的主报表,该列表嵌入基于子SharePoint列表的子报表,将父键作为参数传递给子报表。现在,您将列出所有父母及其下的所有子女,如果是这样,则不会列出。

如果您确实更喜欢在子列表中缺少单独的父记录列表,那么您可以使用LOOKUP(或LOOKUPSET如果有多个子记录)来设置{{ 1}} - Visibility属性,以便只有缺失的属性可见。