如何在SSRS 2010中合并2个数据集和2个不同的数据源

时间:2014-03-24 20:12:15

标签: sql reporting-services

我基本上尝试在SSRS 2010中重新创建一个访问数据库。我有两个不同的数据集,它们来自2个不同的服务器(或数据源)。我已经连接了几个字段,在我的SQL中在这两个字段之间创建一个关键字:

to_char(Trim(CONCAT(FLT, CONCAT(ORG, CONCAT(DST, CONCAT(TIL,FLT)))))) AS KeywordField

我已经尝试了查找功能并且我可以获取数据,但似乎它并没有向我显示两个表中匹配的数据,但如果没有匹配则它会将空行放入主数据集中的字段。

我基本上需要他们相互匹配以获得正确的行。访问中的两个表都是大约7300个记录(一个比另一个小一点),并且在将它们合并在一起之后,我有大约7153个匹配。当我使用查找执行此操作时,我总是从主数据集中获取全部金额。例如:如果我的主数据集是Plan,另一个是VRR。我将使用:

=lookup(Fields!KEYWORDFIELD.Value, Fields!KEYWORDFIELDVRR.Value, Fields!MVMNR.Value,"VRR")

我会收回所有匹配的数据,或者没有匹配的空白行,但它会让我获得主数据集中的项目总数。我知道这是因为我可以在查找字段旁边放置一个常规字段,它将是主数据集中的数据,它们在查找VRR数据集时不匹配。

所以我的问题是如何才能让它发挥作用?我应该继续尝试查找还是查找集?或者我应该尝试子报告?我也没有经验,也找不到一个好的教程,告诉我如何将它们实际链接在一起,以便从与主数据集匹配的子报告中获得正确的结果。感谢您的帮助,我很感激。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您不希望显示查找没有返回值的行。在这种情况下,只需更改行可见性​​,以便在查找返回" Nothing"时隐藏它。

看起来您的查找功能正常工作,因此无需更改任何内容。

只有在期望查找表为主表中的每一行返回多行时才需要Lookupset,并且子报表完全是错误的方向。

编辑以下评论:

确保设置行可见性(请参见图像),而不是表格可见性。您在注释中的可见性表达看起来应该有效,但您不需要IIF,因为IsNothing已经返回一个布尔值。

Image showing to where Row Visibility is in GUI