如何根据 SQL Server Report Builder 中的数据库值将多个图像添加到 table 单元格

How to add multiple images to table cell based on db values in SQL Server Report Builder

我们正在使用 MS Sql Server Reporting Services 创建报告。在 table 单元格中,我试图显示图标而不是值。

此图显示了 "SDG(s) Addressed." 的值 该单元格可以包含 0 到 17 个值。我们要显示值的相应图标。我似乎无法弄清楚如何将多个图像添加到一个单元格中以及如何将“6 清洁水和卫生设施”等值转换为 "ID6_Clean_Water_and_Sanitation.jpg"。

有人可以帮忙吗?谢谢

我敢肯定,您不能向 Tablix 单元格中添加超过一个图像,但您可以添加 17 个小单元格,然后将每个单元格设置为显示一个图像。

在下面的示例中,我添加了 5 个图像,分别称为 beer、wine、soft、spirits 和 energy,这些是嵌入的 PNG,但如果需要,您可以轻松地调整它以形成 PNG 的完整文件路径。

我开始添加数据集如下。

声明@t TABLE(ID int, CSVs varchar(100))

INSERT INTO @t VALUES
(1, 'beer,wine,soft,sports,energy'),
(2, 'beer,wine,energy,sports'),
(3, 'energy,sports,soft')

SELECT * FROM @t

如您所见,数据集仅 returns 记录了 ID 和以逗号分隔的单词列表,为简单起见,这些单词与图像文件名相匹配。

然后我添加了一个包含 7 列的 tablix...

1. ID
2. CSVs
3 - 7 for each image placeholder

我在第 3 - 7 列的每个单元格中插入了一张图片

设计看起来像这样

图像属性设置为表达式如下

=Split(Fields!CSVs.Value,",").GetValue(0) -- first image
=Split(Fields!CSVs.Value,",").GetValue(1) -- second image
etc..

上面的表达式只是拆分CSV列表并选择指定的索引。

我将图像类型设置为嵌入,但正如我所说,如果图像存储在网络上,您可以调整它以生成 file/path 到您的图像。

最终输出如下所示。

如您所见,存在一些问题,当 CSV 列不包含完整的值集时,图像查找中断并显示十字,但您可以通过测试值并设置隐藏 属性 因此,但希望这会给你足够的开始。