gpt4 book ai didi

sql - SSRS在分组时组合来自多行的列内的值

转载 作者:行者123 更新时间:2023-12-01 09:26:42 28 4
gpt4 key购买 nike

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

 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 和他们的 subcert 合并成一行。但只使用最近的一年。因为某些 ContactSub 可能已将其 SubCert 从 B 升级到 A。
 Company       Contact            ContactSub            SubCert     Year

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

我按属性添加了一个附加组,即行的“Year”列,并将此公式用于表中的 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

我怎么能澄清我的公式,让它只说最新的一年,而不是使用所有年份的值?

希望这是有道理的。

最佳答案

使用您的数据:

enter image description here

还有一个分组在 Company 上的表:

enter image description here

我使用以下表达式:

联系我

=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 中最高的年份表达。

这给出了所需的结果:

enter image description here

关于sql - SSRS在分组时组合来自多行的列内的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153473/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com