当前位置: 首页 > 面试题库 >

SSRS分组后合并多行中列中的值

方飞翼
2023-03-14
问题内容

我觉得在SSRS报告中这样做应该相对容易。使用VS2010。我有一个来自基本sql查询的表。只需将列放到Visual
Studio中的表格中即可。我想首先按公司对表进行分组,这是通过行组属性完成的。我有一张看起来像这样的桌子。

 Company     Contact     ContactSub    SubCert    Year

  Bank3       Joey        Steven.B      A         2010
  Bank2       Dave        James         A         2010
  Bank2       Dave        Steve         B         2010
  Bank2       Dave        Mark          B         2010
  Bank2       Dave        James         A         2011
  Bank2       Dave        Steve         A         2011
  Bank2       Dave        Mark          B         2011
  Bank2       Dave        James         A         2012
  Bank2       Dave        Steve         A         2012
  Bank2       Dave        Mark          A         2012

现在,我想将Contact Subs及其子证书合并为一行。但仅使用最近的年份。因为某些ContactSub可能已将其SubCert从B升级到A。

 Company       Contact            ContactSub            SubCert     Year

  Bank3         Joey             Steven.B               A           2010
  Bank2         Dave             James,Steve,Mark       A,A,A       2012

我向该行添加了一个按属性分类的gorup,并将该公式用于表中的ContactSub和SubCert列:

=Join(LookupSet(Fields!Company.Value,Fields!Company.Value,Fields!SubCert.Value,"DataSet Name"),",")

但是,这使我回到了:

 Company     Contact     ContactSub                 SubCert     Year

  Bank3       Joey        Steven.B                   A          2010
  Bank2       Dave        James,Steve,Mark,James     A,B,B,A,   2012
                          Steve,Mark,James, Steve    A,B,A,A,
                          Mark                       A

我如何澄清我的公式以使其仅表示最新年份而不是使用所有年份的值?

希望这是有道理的。


问题答案:

我使用以下表达式

联络人

=Join(LookupSet(Fields!Company.Value & Max(Fields!Year.Value)
    , Fields!Company.Value & Fields!Year.Value
    , Fields!ContactSub.Value
    , "DataSet1"), ",")

子证书

=Join(LookupSet(Fields!Company.Value & Max(Fields!Year.Value)
    , Fields!Company.Value & Fields!Year.Value
    , Fields!SubCert.Value
    , "DataSet1"), ",")

您可以看到我正在使用Max(Fields!Year.Value)以及Fields!Company.Value仅匹配LookupSet表达式中最高的年份。



 类似资料:
  • 我有一个表格如下: 我想合并和居中的S/No1.0和2.0只,并显示到SSRS报告,其余的行保持不变,有没有办法做到这一点? 结果将像下面的第二个图像。

  • 问题内容: 我试图在多列中计数,然后按总和将相同数据显示在任何列中 我希望它显示如下内容: 问题答案: 您可以使用联合查询

  • 问题内容: 我有一个简单的查询: 结果如下: 我想在一行中返回结果,所以像这样: 当然,我可以编写一个PL / SQL函数来完成这项工作(我已经在Oracle10g中做到了),但是对于此任务是否有更好的,最好是非Oracle特定的解决方案(或者可能是内置函数) ? 我通常会用它来避免子查询中出现多行,因此,如果一个人有一个以上的公民身份,我不希望他/他在列表中重复。 更新 :我的函数看起来像这样:

  • 问题内容: 我们有些SQL杂语。说我有一个看起来像这样的结果… 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | A 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | B 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | C 61E77D90-D53D-4E2E-A09E-9D6F012EB59C | D 7ce9

  • 根据以下答案:https://stackoverflow.com/a/30202075/8760211 如何按stud\u id对每个组进行排序,然后返回一个包含所有学生的列表,作为按stud\u位置分组的结果,然后按stud\u id排序)? 将此作为现有Lambda表达式的扩展将非常好: 我需要根据原始列表中元素的顺序进行分组。 结果如下所示: 我尝试了以下方法: 但这行不通。

  • 本文向大家介绍Pandas中DataFrame的分组/分割/合并的实现,包括了Pandas中DataFrame的分组/分割/合并的实现的使用技巧和注意事项,需要的朋友参考一下 学习《Python3爬虫、数据清洗与可视化实战》时自己的一些实践。 DataFrame分组操作 注意分组后得到的就是Series对象了,而不再是DataFrame对象。 DataFrame数据分割和合并 这里其实可以操作得很