0

如果列只有空行,那么在预览时如何阻止SSRS隐藏列?我已将所有列设置为完全可见,但报表预览不显示空列。我知道这是Visual Studio中的一个默认功能,默认情况下会隐藏所有空列,所以如何更改它,以便无论发生什么情况都可以显示所有列。我在哪里可以更改这些设置?从隐藏列停止SSRS

回答

0

如果您的意思是数据集查询设计器中的预览: 由于生成的代码始终为测量轴生成SELECT NON EMPTY,因此只有在编写自己的MDX时才可能。因此,删除NON EMPTY部件将始终显示您的列/度量。

如果您的意思是ssrs报表预览: 只有在使用带有列组的表格矩阵时才会隐藏列。在这种情况下,请确保您的数据集始终至少返回一个列组,无论您选择哪个过滤器。例如。如果使用MDX,这可能意味着从行轴中删除NON EMPTY或使用右键单击选项“包含空单元格”。

澄清评论加可能的解决方法: 这个“隐藏列”的东西是没有功能。如果该列不在数据集的结果中,SSRS无法知道该值甚至存在,因此如果除了重新设计查询之外使用列组没有解决方案。

您可以通过不使用列组来代替使用静态“硬编码”列,例如根据您的组对数​​值求和。请参阅以下示例屏幕截图:example

+0

是的,我正在做第二个选项。所有正在隐藏的列都被分组并具有过滤器。问题是有时数据集确实会将数据返回到这些列,有时它们不会。我发现SSRS不会显示空的列,因此是否有办法删除该功能,所以列可以始终显示,无论它是什么? –

+0

使用可能的解决方法更新了答案,但如果列组中有许多列太多,则这可能不实际。 –

+0

好的,更新的评论只是解决了我的问题。我结束了对列的复制,并向新列添加了一个表达式,以便在原始列为0的情况下(这意味着它是空白的,因此被隐藏),然后向我显示0,否则只显示值,最后只设置无论什么时候,原始列都要隐藏起来。这样,重复的列将始终可见,并且它们只会显示来自原始列的值。这是一个很好的方法来解决这个问题,如果他们也有这个问题,可能会被其他人使用。 –