我正在使用SSRS 2012尝试执行以下操作:
某些列只能在用户请求中使用组合框显示。列的可见性取决于组合中的选定列。这似乎工作正常!
当我以不同的.csv格式导出输出时,这些列仍然不可见。但是当出口到.csv时会显示隐形库。
我发现了这个:
=iif(Globals!RenderFormat.Name="CSV", True, False)
这应该放在我试图隐藏的列的“隐藏”属性中。但它不起作用,当我写表达式时,RenderFormat不是自动完成的选项。
对不起我笨拙的英语和谢谢。
答案 0 :(得分:4)
来自SSRS的CSV(和XML)导出与大多数导出格式的处理方式截然不同。这两个被认为是数据渲染器,而不是页面渲染器,并且通常是为了获取报表的数据而忽略布局选项。部分原因是字段可见性的处理方式不同。我不知道这是一个错误或故意设计,但.CSV显然doesn't honor visibility设置在表达式中。建议的解决方法是在基础数据集中有条件地将值设置为null
。 (这可以基于参数。)
答案 1 :(得分:1)
使用DataElementOutput=NoOutput
当SSRS必须呈现图表时,它需要做出几个决定。如果你花了很多时间做一些很酷的格式化,它会尝试在转到PDF时保留它,因为PDF文档充满了丰富的格式。例如,如果设置报告的边距,则PDF应该关注,但CSV甚至无法保存该信息(也不应该)。
因此,有different rendering engines used by SSRS:
每个都有自己的过程。例如,数据导出仅从数据字段中提取信息。例如,欢迎数据字段具有多个标题层,其名称可能使用或不使用CLS-compliant identifiers,因此直接从文本框名称本身提取该信息更安全。
包含数据的TextBox也可用于设置其他数据导出属性。
在这种情况下,您可以使用DataElementOutput删除特定数据字段:
指示数据点是否应出现在数据呈现中。
这样做:
TextBox
将DataElementOutput
属性设置为NoOutput
另见: