Report Builder 2.0中,我试图创建一个表像下面的数据:报表生成器2.0或Oracle串聚集
Person | StrID's
-------------------
Jim | a, b, c, d
Mary | h, k
Sue | l, m, p, z
的问题是,在下面的格式我的Oracle SQL查询返回的数据:
Person | StrID
--------------
Jim | a
Jim | b
Jim | c
Jim | d
Mary | h
依此类推。我无法在Oracle中使用LISTAGG
(如this tutorial中所述),也不能使用EXPLAIN PLAN
或告诉您使用的是哪个版本的Oracle,因为我必须通过非常有限的接口访问数据库。我查看了Report Builder的功能,如Aggregate
,但无法找到将多个字符串值与聚合函数连接在一起的方法。如果我通过Person创建表组,我会为每个StrID获取单独的行。使用Join(Fields!StrID.Value, ", ")
会导致表格单元格中出现“#Error”,我假设因为Fields!StrID.Value
实际上并不是多值字段,所以它是每个人的单个值。
任何人都可以告诉我一种方法,通过SQL或报表生成器2.0/Visual Basic显示一行中关联的StrID的列表?
编辑:我可以使用LAG function,如果任何人都可以使用它的想法创造性的解决方案。原来我也可以使用PARTITION BY
和LAG
函数。
第一个例子不会为我工作,因为它在一组静态字段上转动,而我的每个StrID都需要有字段,这不是静态的。 – 2010-03-01 20:06:05