【问题标题】:How to make LookupSet display results in many rows如何让 LookupSet 多行显示结果
【发布时间】:2017-01-26 15:19:04
【问题描述】:

我有 2 个数据集

第一个查找contactID、ContactMethod和Name(dataset1)

         ContactId | ContactMethod | Name
           1048    |  email@email.ca |   John Doe

第二次查找contactID、deliveries和deliveryStatus

          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@email.ca|
                John Doe | 
                         FailedAttempt | Undeliverable
                         FailedAttempt | Undeliverable
                         FailedAttempt | Undeliverable

还有 6 次...

【问题讨论】:

    标签: reporting-services reportbuilder3.0


    【解决方案1】:

    可以在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 表达式生成行。

    如果这有帮助,请告诉我。

    【讨论】:

    • 抱歉,如果不清楚,我确实需要在我的 tablix 中添加一个新行。我把它作为一个阶梯式的报告。我可能会“逃脱”做一个新行,但我想尝试添加一个新行。当我在 SSMS 中提取“EX_JobDeliveries”时,查询返回 9 个值,所以我希望做一个简单的 Lookup(Expression) 会像正则表达式一样返回 9 个值,但我似乎缺少某个地方。
    • 哦,对于两个数据库查询:很高兴知道。但是,这不会在我必须选择数据源的情况下对 SSRS 造成问题。即查询server1和server2,然后选择server1的数据源
    • @Pepe。您可以将服务器 A 链接到服务器 B,-检查this - 然后只需将数据源添加到服务器 B,您就可以访问服务器 A。首先在 SSMS 中尝试,然后当您的查询正常工作时,只需在报表生成器中创建数据源和数据集.
    • 谢谢 :) 此时我将创建一个新查询,让它看起来像我想要的那样。非常感谢:)
    猜你喜欢
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    相关资源
    最近更新 更多