SSRS – 列尽pipe可见状态下载到.CSV

我有一个基于参数select隐藏某些列的Reporting Services 2012表,因为一些select会导致数据集在运行时排除某些列。 所以,像PassportID这样的列会有一个隐藏标准expression式,例如:

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

报表呈现时以及下载到Excel时确实隐藏了列。 问题是我需要将它下载到一个.CSV文件。 SSRS中的.CSV下载程序没有可以按照Excel的方式保留隐藏条件的布局渲染器。

我查看了DataElementOutput属性,但是将其从“Auto”默认设置改为只能显示下载或排除的选项,而不是基于呈现中的列可见性。

有没有办法从下载的.CSV排除整个呈现的列?

简单的答案是使用渲染格式函数将显示值设置为一个公式。 如果渲染格式为CSV,则将“显示的值”设置为空string。 该字段仍将被导出,但不包含数据。

也就是说,将文本框的值设置为如下所示:

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

多一点信息: SSRS 2012和CSV导出

将DataElementOutput从Auto更改为NoOutput。

DataElementOutput控制数据是否包含在导出中。 列标题已被排除在CSV之外,CSV列的名称是从数据元素的文本框的名称派生的。 可见性属性不在CSV导出中考虑,因为可见性是格式化function。