SSRS 2012和CSV导出

时间:2012-10-22 16:41:10

标签: csv reporting-services

我正在使用SSRS 2012尝试执行以下操作:

某些列只能在用户请求中使用组合框显示。列的可见性取决于组合中的选定列。这似乎工作正常!

当我以不同的.csv格式导出输出时,这些列仍然不可见。但是当出口到.csv时会显示隐形库。

我发现了这个:

=iif(Globals!RenderFormat.Name="CSV", True, False)

这应该放在我试图隐藏的列的“隐藏”属性中。但它不起作用,当我写表达式时,RenderFormat不是自动完成的选项。

对不起我笨拙的英语和谢谢。

2 个答案:

答案 0 :(得分:4)

来自SSRS的CSV(和XML)导出与大多数导出格式的处理方式截然不同。这两个被认为是数据渲染器,而不是页面渲染器,并且通常是为了获取报表的数据而忽略布局选项。部分原因是字段可见性的处理方式不同。我不知道这是一个错误或故意设计,但.CSV显然doesn't honor visibility设置在表达式中。建议的解决方法是在基础数据集中有条件地将值设置为null。 (这可以基于参数。)

答案 1 :(得分:1)

使用DataElementOutput=NoOutput

隐藏发送到CSV的数据元素的本地方法

背景故事

当SSRS必须呈现图表时,它需要做出几个决定。如果你花了很多时间做一些很酷的格式化,它会尝试在转到PDF时保留它,因为PDF文档充满了丰富的格式。例如,如果设置报告的边距,则PDF应该关注,但CSV甚至无法保存该信息(也不应该)。

因此,有different rendering engines used by SSRS

Render Engines

每个都有自己的过程。例如,数据导出仅从数据字段中提取信息。例如,欢迎数据字段具有多个标题层,其名称可能使用或不使用CLS-compliant identifiers,因此直接从文本框名称本身提取该信息更安全。

包含数据的TextBox也可用于设置其他数据导出属性。

在这种情况下,您可以使用DataElementOutput删除特定数据字段:

  

指示数据点是否应出现在数据呈现中。

这样做:

  1. 打开TextBox
  2. 的属性菜单( F4
  3. DataElementOutput属性设置为NoOutput

    screenshot

  4. 另见