2010-01-20 29 views
6

我在2008年SSRS一個簡單的表格根據報告,有10列,每列都有相應的參數來確定列是否應該顯示。我通過在設計模式下右鍵單擊列標題時設置「列可見性」選項來實現此目的。在我的情況下,我選擇「基於表達式顯示或隱藏」,我將表達式設置爲布爾類型參數的值。SSRS:基於參數值有條件地隱藏列 - CSV出口忽略

該功能可以運行在啓動過程中按預期但渲染的時候我選擇將報告導出爲CSV能見度表達忽略或者不評估,因爲該列顯示與設置無關。

可見性對話框有三個選項,根據表達式顯示/隱藏/顯示或隱藏 - 如果我明確地設置了隱藏選項,CSV導出不包含您所期望的列,但是如果我使用表達式,它會 - 我甚至甚至使表達式顯式爲'=真',仍然被忽略。

如何獲得導出選項以正確評估此項?

+0

我試圖做同樣的,你不能在2008或以下,但萬一有幫助,如果你可以升級到2008 R2,那麼您可以在您的知名度使用Globals.RenderFormat表達式。 – Cylindric 2011-11-30 10:43:41

回答

1

您不能隱藏或忽略列出口,使用表達式。這是因爲表達式只會在報告中得到評估,而不是導出。

一個解決辦法是默認隱藏的列,並顯示所有其他人使用表達式。

我的道歉,那上面的說法沒有任何意義。看起來您需要做的是創建一個參數,以顯示要隱藏或顯示的列,然後當報表運行時,不在這些列中顯示任何數據。您還可以根據這些參數更改列標題的值。

唯一的其他選擇是創建與不同的列的組合如許多報告然後動態地加載正確的。

+0

我實際上也嘗試過這種方法,將可見性切換表達式添加到列本身,列標題和數據字段中。沒有運氣。看起來,它只是沒有評估表達式 – keithwarren7 2010-01-20 22:28:56

+1

是正確的,你必須實際上將數據更改爲無,並且不切換可見性表達式。因此,作爲一個參數,您可以決定顯示或隱藏哪些列,那麼數據集將不會爲這些列返回數據(或者只是一個空字符串) – 2010-01-20 22:30:38

+0

任何解決方案?謝謝! – Pingpong 2011-09-27 09:46:15

1

我相信這可能是一個錯誤。在運行時,我使用了帶有隱藏列的Reporting Services導出,而導出依賴於參數。如果我使用隱藏的列運行報告,然後將結果導出爲Excel或PDF或大多數導出格式,則不會導出隱藏列。如果我將報告導出爲CSV文件,則會導出隱藏列。肯定這是CSV導出中的一個錯誤。

從邏輯上講,它們都應該以相同的方式表現。