2017-04-12 159 views
0

我試圖在基本報告中顯示產品的圖像。圖像需要是動態的,這意味着圖像應該根據SKU值進行更改。SSRS - 如何根據列中的URL顯示外部圖像

現在我將圖像插入一個表格,設置外部的,我已經試過:

=Fields!URL.Value 
=http://externalwebservername/sku= & Fields!SKU.Value 
="http://externalwebservername/sku=" & Fields!SKU.Value 

我沒有在我的表得到任何圖像。

我的存儲過程有所有的數據,包括一個帶有我想要顯示的圖像的URL。這是什麼樣的URL看起來像一個示例:

http://externalwebservername/sku=123456 

如果我在字段中輸入的網址沒有「=」,它會顯示只有一個圖像。

我應該如何設置表達式以正確顯示基於動態URL的外部圖像?運行SQL 2016

回答

0

只要執行報告的帳戶具有訪問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屬性ExternalValue="http://placehold.it/" & Fields!suffix.Value

我然後加入一個第三柱,用相同的表達作爲圖像Value,所以我可以看到什麼被用來作爲圖像的URL。我還添加了一個到同一個URL的動作,只是爲了檢查URL沒有任何可能導致問題的不可打印字符。

基本的報表設計看起來像這樣。 enter image description here

呈現的結果如下所示。 enter image description here

+0

謝謝您的非常詳細的答案,我確實做到了你上面的步驟,我仍然得到空白框。 是否有任何需要設置的服務器設置?我現在只用了幾個月的SSRS。 – tnoons91

+0

你可以在報告的某個地方添加一個圖像,並將其值設置爲一個固定的URL,如'=「http://placehold.it/500x500」'如果可行,在我們構建的測試報告的Tablix中添加一個新列。插入圖片並將其值設置爲相同的URL'=「http://placehold.it/500x500」',看看是否有效。 –

+0

另外,您正在使用Report Builder或Visual Studio構建報告?當您預覽它或只是部署它時,報告會失敗嗎?這是英國的公共假期明天和星期一,所以我可能不會很快回復你。 –

0

Alan的答案應該可行,但在我們的環境中,我們有嚴格的代理/防火牆規則,所以兩臺服務器之間不能聯繫。

相反,我們正在瀏覽存儲在我們存儲系統上的文件。

我們更改了URL列以指向存儲過程中的文件路徑。插入圖片,將Source設置爲External,將Value設置爲[URL]

URL= file://server\imagepath.jpg