如何让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 表达式生成行。

如果有帮助请告诉我。