2010-01-20 64 views
6

我在2008年SSRS一个简单的表格根据报告,有10列,每列都有相应的参数来确定列是否应该显示。我通过在设计模式下右键单击列标题时设置“列可见性”选项来实现此目的。在我的情况下,我选择“基于表达式显示或隐藏”,我将表达式设置为布尔类型参数的值。SSRS:基于参数值有条件地隐藏列 - CSV出口忽略

该功能可以运行在启动过程中按预期但渲染的时候我选择将报告导出为CSV能见度表达忽略或者不评估,因为该列显示与设置无关。

可见性对话框有三个选项,根据表达式显示/隐藏/显示或隐藏 - 如果我明确地设置了隐藏选项,CSV导出不包含您所期望的列,但是如果我使用表达式,它会 - 我甚至甚至使表达式显式为'=真',仍然被忽略。

如何获得导出选项以正确评估此项?

+0

我试图做同样的,你不能在2008或以下,但万一有帮助,如果你可以升级到2008 R2,那么您可以在您的知名度使用Globals.RenderFormat表达式。 – Cylindric 2011-11-30 10:43:41

回答

1

您不能隐藏或忽略列出口,使用表达式。这是因为表达式只会在报告中得到评估,而不是导出。

一个解决办法是默认隐藏的列,并显示所有其他人使用表达式。

我的道歉,那上面的说法没有任何意义。看起来您需要做的是创建一个参数,以显示要隐藏或显示的列,然后当报表运行时,不在这些列中显示任何数据。您还可以根据这些参数更改列标题的值。

唯一的其他选择是创建与不同的列的组合如许多报告然后动态地加载正确的。

+0

我实际上也尝试过这种方法,将可见性切换表达式添加到列本身,列标题和数据字段中。没有运气。看起来,它只是没有评估表达式 – keithwarren7 2010-01-20 22:28:56

+1

是正确的,你必须实际上将数据更改为无,并且不切换可见性表达式。因此,作为一个参数,您可以决定显示或隐藏哪些列,那么数据集将不会为这些列返回数据(或者只是一个空字符串) – 2010-01-20 22:30:38

+0

任何解决方案?谢谢! – Pingpong 2011-09-27 09:46:15

1

我相信这可能是一个错误。在运行时,我使用了带有隐藏列的Reporting Services导出,而导出依赖于参数。如果我使用隐藏的列运行报告,然后将结果导出为Excel或PDF或大多数导出格式,则不会导出隐藏列。如果我将报告导出为CSV文件,则会导出隐藏列。肯定这是CSV导出中的一个错误。

从逻辑上讲,它们都应该以相同的方式表现。