我有2个数据集
第一个查找 contactID、ContactMethod 和 Name(数据集 1)
ContactId | ContactMethod | Name
1048 | [email protected] | John Doe
第二次查找 contactID、送货情况和送货状态
ContactID | deliveries | deliveryStatus
1048 | FailedAttempt | Undeliverable
1048 | FailedAttempt | Undeliverable
1048 | FailedAttempt | Undeliverable
然后再重复6次...
我知道我可以执行一个查询,但这两个数据集驻留在两个不同的数据库中,因此我无法使用 2 个数据源进行一个查询(据我所知。我可能完全错了)
这就是我的功能
=Join(LookUpSet(Fields!ContactMethod.Value,
Fields!ContactMethod.Value,
Fields!CoarseReportingBucketName.Value,
"EX_JobDeliveries"),
",")
这将返回我,在一个单元格中:(如果您看到链接中的图片,则无法送达在一个单元格中出现 9 次)
除非有其他方法,否则我将如何在不同的单元格中显示所有这些结果。使用 Lookup 仅返回行,我希望它会自动填充自身,但事实并非如此。
所以结果看起来像这样(所以是阶梯报告)
ContactMethod | Name | deliveries | deliveryStatus
[email protected]|
John Doe |
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
还有 6 次......
您可以在连接功能中使用
Environment.NewLine
:
=Join(LookUpSet(Fields!ContactMethod.Value,
Fields!ContactMethod.Value,
Fields!CoarseReportingBucketName.Value,
"EX_JobDeliveries"),
Environment.NewLine)
如果您需要显示 tablix/matrix 行中的每个值,您将必须修改数据集查询。
另请注意,您可以跨不同数据库(甚至在不同服务器中)执行查询。
SELECT firstdb.*, seconddb.*
FROM Server1.Database1.dbo.myTable AS firstdb
INNER JOIN Server2.Database2.dbo.myTable AS seconddb
ON firstdb.id = seconddb.id
取自这里。
尽管您可能会遇到两台服务器之间的排序规则问题,但这是获得预期结果的唯一方法。无法从 SSRS 表达式生成行。