我正在尝试在基本报告中显示产品图像。图像需要是动态的,这意味着图像应该根据 SKU 值而变化。
现在我正在将图像插入表中,设置为外部,并且我已经尝试过:
=Fields!URL.Value
=http://externalwebservername/sku= & Fields!SKU.Value
="http://externalwebservername/sku=" & Fields!SKU.Value
我的表格中没有任何图像。
我的存储过程包含所有数据,包括带有我不想显示的图像的 URL。以下是 URL 的示例:
http://externalwebservername/sku=123456
如果我在字段中输入不带“=”的 URL,它将仅显示一张图像。
我应该如何设置表达式才能正确显示基于动态 URL 的外部图像?运行 SQL 2016
艾伦的答案应该有效,但在我们的环境中,我们有严格的代理/防火墙规则,因此两台服务器无法相互联系。
相反,我们正在导航到存储在存储系统上的文件。
我们更改了 URL 列以指向存储过程中的文件路径。插入图像,将源设置为
External
,将值设置为 [URL]
。
URL= file://server\imagepath.jpg
只要执行报告的帐户有权访问 URL,那么您的第三个表达式就应该有效。
我整理了一个简单的例子如下。
我创建了一个新的空白报告,然后添加了一个数据源。不管它指向哪里,我们都不会直接使用它。
然后我使用以下 SQL 创建了一个数据集 (
Dataset1
),以提供图像名称列表。
SELECT '350x120' AS suffix
UNION SELECT '200x100'
UNION SELECT '500x500'
实际上,这些只是网站 http://placehold.it/ 的参数,它将根据您请求的尺寸生成图像,但这与本练习无关。
我们将展示来自以下 URL 的三张图片
http://placehold.it/350x120
http://placehold.it/200x100
http://placehold.it/500x500
接下来,创建一个表,我使用了 3 列来给我更多的测试选项。如果尚未将
DataSetName
设置为 DataSet1
。
第一列中的表达式只是
=Fields!suffix.Value
在第二列中,我添加了一个图像,将其
source
属性设置为 External
并将 Value
设置为 ="http://placehold.it/" & Fields!suffix.Value
然后我添加了第三列,其表达式与图像
Value
相同,这样我就可以看到用作图像 URL 的内容。我还添加了一个访问同一 URL 的操作,只是为了检查 URL 中是否包含任何可能导致问题的不可打印字符。
已经很多年了,我想到了这一点,希望它能帮助下一个遇到这种情况的可怜的灵魂。
这仍然是 Power BI 报表生成器中的一个问题。解决方案是这样的: ="http://externalwebservername/sku=" & CStr(字段!SKU.Value)
Str()不行,必须是CStr()