在 ssrs 2008 r2 中以段落格式显示报告字段
Displaying fields on report in a paragraph format in ssrs 2008 r2
我正在尝试显示 SSRS 2008 r2 数据集中的值列表。我创建了一个数据集,它从托运人编号参数中提取序列号列表。我可以让 S/Ns 显示在报告上,但它们采用分栏格式,需要多页。我试图将它们放在以逗号分隔的段落格式中。即 - s/n1、s/n2、s/n3、...我在该网站上找到了一篇使用 Join 的文章,但我无法调整它以使其适合我。
这是我用来提取数据的查询:
SELECT A.fserial
FROM smsm2mdata.dbo.serial AS A
JOIN shmast AS B ON B.fshipno = A.fshipno
WHERE B.fshipno = @fshipno
然后我将该字段放入报告中的列表 tablix
这是我发布报告前的最后一关...求助!
Join() 函数不起作用的原因可能是您将单个值而不是数组传递给它。如果您只是将函数添加到新创建的 tablix 中,就会发生这种情况,因为这些通常设置为逐行显示数据,而不是按组聚合。
您有几种不同的选择。一种是使用带有 join() 函数的查找函数。通常查找根据条件从数据集中检索值,但在这种情况下,您只需要所有内容。因此,您可以使条件始终为真,例如本例中前两个参数中的 1=1:
=Join(LookupSet(1, 1, fields!fserial.Value,"YourDataSetName"),",")
我相信如果您愿意,公式甚至可以只用在文本框中。您还可以更改 sql 查询以立即以段落形式生成结果,这样您就不必在 SSRS 中执行任何特殊操作。这使用了一个有点深奥的 sql 功能,但了解这个特定的应用程序很有用:
select 东西((select ','+ A.fserial
来自 smsm2mdata.dbo.serial 作为 A
JOIN shmast AS B ON B.fshipno = A.fshipno
WHERE B.fshipno = @fshipno for XML 路径('')
),1,1,'')
我认为如果您正确分组并从 tablix 中删除了详细信息部分,您甚至可以在不使用 LookupSet() 函数的情况下使用 Join() 函数。
我正在尝试显示 SSRS 2008 r2 数据集中的值列表。我创建了一个数据集,它从托运人编号参数中提取序列号列表。我可以让 S/Ns 显示在报告上,但它们采用分栏格式,需要多页。我试图将它们放在以逗号分隔的段落格式中。即 - s/n1、s/n2、s/n3、...我在该网站上找到了一篇使用 Join 的文章,但我无法调整它以使其适合我。
这是我用来提取数据的查询:
SELECT A.fserial
FROM smsm2mdata.dbo.serial AS A
JOIN shmast AS B ON B.fshipno = A.fshipno
WHERE B.fshipno = @fshipno
然后我将该字段放入报告中的列表 tablix
这是我发布报告前的最后一关...求助!
Join() 函数不起作用的原因可能是您将单个值而不是数组传递给它。如果您只是将函数添加到新创建的 tablix 中,就会发生这种情况,因为这些通常设置为逐行显示数据,而不是按组聚合。
您有几种不同的选择。一种是使用带有 join() 函数的查找函数。通常查找根据条件从数据集中检索值,但在这种情况下,您只需要所有内容。因此,您可以使条件始终为真,例如本例中前两个参数中的 1=1:
=Join(LookupSet(1, 1, fields!fserial.Value,"YourDataSetName"),",")
我相信如果您愿意,公式甚至可以只用在文本框中。您还可以更改 sql 查询以立即以段落形式生成结果,这样您就不必在 SSRS 中执行任何特殊操作。这使用了一个有点深奥的 sql 功能,但了解这个特定的应用程序很有用:
select 东西((select ','+ A.fserial 来自 smsm2mdata.dbo.serial 作为 A JOIN shmast AS B ON B.fshipno = A.fshipno WHERE B.fshipno = @fshipno for XML 路径('') ),1,1,'')
我认为如果您正确分组并从 tablix 中删除了详细信息部分,您甚至可以在不使用 LookupSet() 函数的情况下使用 Join() 函数。