Sql server 2008 sql server 2008报表服务
我正在尝试生成矩阵报告。我有一个SSN行和一个3位代码列。3位代码在整个报告中随机插入到单元格中,每行一个。我想让它们都显示在一列中。我试过Sql server 2008 sql server 2008报表服务,sql-server-2008,reporting-services,expression,Sql Server 2008,Reporting Services,Expression,我正在尝试生成矩阵报告。我有一个SSN行和一个3位代码列。3位代码在整个报告中随机插入到单元格中,每行一个。我想让它们都显示在一列中。我试过 =Iif(IsNothing(Fields!CODE.Value),"The Field Is Null",Fields!CODE.Value) 但这只是显示“字段为空”。我想在…中显示任何内容 =Iif(IsNothing(Fields!CODE.Value),"",Fields!CODE.Value) 但将空单元格本身排除在外。有人知道一个诀窍吗
=Iif(IsNothing(Fields!CODE.Value),"The Field Is Null",Fields!CODE.Value)
但这只是显示“字段为空”。我想在…中显示任何内容
=Iif(IsNothing(Fields!CODE.Value),"",Fields!CODE.Value)
但将空单元格本身排除在外。有人知道一个诀窍吗
结果是这样的
ssn code
123456789 123
123456789 123
and so on
我的矩阵结构看起来像这样。。。
Exp现在设置为=Iif(IsNothing(Fields!ID5.Value),“Field为Null”,Fields!ID5.Value)
注意:ID5只是一种快速命名约定。ID5对应于代码。ID2对应于SSN。基本上,您希望将多个列压缩为一个列(不包括空列) 最简单的方法可能是在查询中执行:
SELECT SSN, IsNull(Code1, '') + IsNull(Code2, '') + IsNull(Code3, '') AS Code
FROM MyTable
或者,在Reporting Services中的表达式中执行此操作:
=IIF(IsNothing(Fields!Code1.Value), "", Fields!Code1.Value) + IIF(IsNothing(Fields!Code2.Value), "", Fields!Code2.Value)
诸如此类……请您在报告中添加数据的外观,并添加更多有关您想要显示的内容的信息。你似乎说你想显示代码,但后来又说你不想显示???所以字段!值可以是:有一个值;具有空字符串值;是空的吗?你想让空字符串和空字符串显示相同的内容吗?我真的想让空单元格消失,呵呵!我只是用Iif命令作为起点。我确实想显示代码值,但它们已分配。每行一个,大约20个单元格中的一个。我可以在构建报表的早期部分使用它,但在查询数据集后,我试图找到一个表达式来执行此操作。当然,除非您知道如何将其作为可接受的表达式编写。我没有,但是我的技术水平很低!只需使用IIF(没有什么(…如现在的答案所述