我有一个Reporting Services 2012表,它根据参数选择隐藏某些列,因为某些选项会导致数据集在运行时排除某些列。因此,诸如PassportID之类的列将具有隐藏条件表达式,例如:
=IIF(Parameters!TransitMode.Value = "bus"
OR Parameters!TransitMode.Value = "train",True,False)
在呈现报表时以及将其下载到Excel时,列确实是隐藏的。问题是我需要将其下载到.CSV文件。 SSRS中的.CSV下载程序没有可以像Excel那样保留隐藏条件的布局渲染器。
我查看了DataElementOutput属性,但是从“自动”默认值更改此属性似乎只是提供无条件下载或排除的选项,而不是基于渲染中的列可见性。
有没有办法从下载的.CSV中排除整个渲染列?
答案 0 :(得分:2)
简单的答案是使用渲染格式功能将显示的值设置为公式。如果渲染格式为CSV,则将“显示的值”设置为空字符串。该字段仍将导出,但不包含数据。
也就是说,将文本框的值设置为:
=iif(Globals!RenderFormat.Name="CSV", "", Fields!MyDataField.Value)
更多信息: SSRS 2012 and CSV export
答案 1 :(得分:1)
将DataElementOutput从Auto更改为NoOutput。
DataElementOutput控制数据是否包含在导出中。 CSV已排除列标题,CSV的列名称是从数据元素的文本框名称派生的。由于可见性是格式化功能,因此CSV导出中不考虑可见性属性。