2014-01-27 53 views
0

我有一個基於參數選擇隱藏某些列的Reporting Services 2012表,因爲某些選擇會導致數據集在運行時排除某些列。因此,如PassportID列將有一個隱藏條件表達式,如:SSRS - 列儘管可見性狀態下載到.CSV

=IIF(Parameters!TransitMode.Value = "bus" 
    OR Parameters!TransitMode.Value = "train",True,False) 

當報告呈現的列確實隱藏,當它被下載到Excel中。問題是我需要將它下載到.CSV文件。 SSRS中的.CSV下載程序沒有可以像Excel一樣保留隱藏條件的佈局渲染器。

我查看了DataElementOutput屬性,但是將其從「Auto」默認設置改爲只顯示無條件下載或排除的選項,而不是基於渲染中的列可見性。

有沒有辦法從下載的.CSV中排除整個呈現的列?

回答

2

簡單的答案是使用渲染格式函數將顯示值設置爲公式。如果渲染格式爲CSV,則將「顯示值」設置爲空字符串。該字段仍將被導出,但不包含數據。

也就是說,文本框的值設置爲一樣的東西:更多

=iif(Globals!RenderFormat.Name="CSV", "", Fields!MyDataField.Value) 

一點點信息: SSRS 2012 and CSV export

+0

不幸的是,我需要將整列排除在外。目前SSRS中的單個tablix似乎不可能。 – Buggieboy

+0

是的,我懷疑這會很快添加。 CSV和XML輸出被設計爲穩定的輸出格式,用於連接業務系統,例如將數據提供給SSIS包。 –

1

更改DataElementOutput從汽車到NoOutput。

DataElementOutput控制數據是否包含在導出中。列標題已被CSV排除,並且CSV列的名稱是從數據元素的文本框的名稱派生而來的。可見性屬性不在CSV導出中考慮,因爲可見性是格式化功能。

+0

我不明白這將如何達到預期的結果。我試圖通過參數選擇驅動下載的.csv文件。 「NoOutput」是無條件的。在我的示例中,如果用戶爲參數選擇了值「air」,則該列將出現在呈現的報告中,但從.csv中缺失,也應該包含該列。 – Buggieboy

+0

是的。 NoOutput列不支持表達式,因此無法按需切換。 Jamie F的解決方案將阻止您顯示您不想要的數據,但它不會阻止呈現該列。 –