如何让LookupSet以多行显示结果
How to make LookupSet display results in many rows
我有 2 个数据集
第一个查找 contactID、ContactMethod 和名称(数据集 1)
ContactId | ContactMethod | Name
1048 | email@email.ca | 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"),
",")
这将 return 我,在一个单元格中:(如果你在 link 中看到图片,无法投递在一个单元格中出现 9 次)
除非有其他方法,否则我将如何在不同的单元格中显示所有这些结果。仅使用 Lookup returns 行,我希望它会自动填充自己,但它不会。
所以结果看起来像这样(所以是阶梯式报告)
ContactMethod | Name | deliveries | deliveryStatus
email@email.ca|
John Doe |
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
还有 6 次...
你可以在join函数中使用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
取自HERE
尽管您可能会遇到两台服务器之间的排序规则问题,但这是获得预期结果的唯一方法。无法从 SSRS 表达式生成行。
如果有帮助请告诉我。
我有 2 个数据集
第一个查找 contactID、ContactMethod 和名称(数据集 1)
ContactId | ContactMethod | Name
1048 | email@email.ca | 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"),
",")
这将 return 我,在一个单元格中:(如果你在 link 中看到图片,无法投递在一个单元格中出现 9 次)
除非有其他方法,否则我将如何在不同的单元格中显示所有这些结果。仅使用 Lookup returns 行,我希望它会自动填充自己,但它不会。
所以结果看起来像这样(所以是阶梯式报告)
ContactMethod | Name | deliveries | deliveryStatus
email@email.ca|
John Doe |
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
FailedAttempt | Undeliverable
还有 6 次...
你可以在join函数中使用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
取自HERE
尽管您可能会遇到两台服务器之间的排序规则问题,但这是获得预期结果的唯一方法。无法从 SSRS 表达式生成行。
如果有帮助请告诉我。