SSRS 2012 表达式 -- 空值补零示例

简介:

SSRS 2012 表达式 -- 空值补零示例

 

当我们使用矩阵来设计报表时,常常会发现单元格中出现空值,通常为了报表美观或是方便使用者阅读,会将空值补零,那么零要怎么补呢?在一般的SQL查询语法多半是使用以下方式来补零:

SQL Server

1
SELECT  ProductName, ISNULL (SalesAmount,0)  FROM  OrderDetail


Oracle

1
SELECT  ProductName,DECODE(SalesAmount, null ,0)  FROM  OrderDetail


 

但是,使用这一招在SSRS的矩阵中就没有效了!因为使用SQL语法补零是在产生数据集的时候填补空值。但是,当我们使用矩阵在设计报表时,是先产生数据集,然后将数据集使用在矩阵中的,当行列交错未产生值时,会发生空值的。因此使用SQL语法是无法解决矩阵中空值数据单元格的问题。

 

以下介绍两种比较简单的空值补零技巧,如果是未做汇总的详细数据时(通常是出现在数据表中),可使用以下表达式:

=IIF(Fields!SALES_AMT.Value is Nothing,0,Fields!SalesAmount.Value)

 

如果单元格有经过汇总的时候,可使用以下语法来进行空值补零的动作,设置方法如下:

 

步骤1

单击销售金额单元格,右击选择“Expression”。

 

步骤2

输入以下表达式:

=iif(Count(Fields!SALES_AMT.Value) = 0, 0, Sum(Fields!SALES_AMT.Value))

 

clip_image002

 

步骤3

同理也将销售数量补零,切换至“Preview”标签页,可以发现无销售量的数据单元格就补零了。

 

clip_image004

 

此外,还有一个与空值有关的问题,就是当我们在计算比率时,为了避免除以零错误,常常会通过以下的表达式,将分母为零的状况修正:

=IIF(分母=0,0,分子/分母)

 

但是,实际上如果你使用刚刚的语法来修正除以零的错误时,有时还是会发生表达式错误的结果。这通常发生在分子数据类型为NUMERIC时,对SSRS来说,如果分子数据类型是NUMERIC,分母内容为0,因此,默认数据类型会是INT,不同数据类型的两个数字是不可以直接相除的,而造成错误信息,如果发生类似的状况,建议利用转换函数将分母的数据类型转换为FLOAT,就可以解决这个问题。












本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1611243 ,如需转载请自行联系原作者


相关文章
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow 强化学习:1~5
TensorFlow 强化学习:1~5
274 0
|
8月前
|
人工智能 自然语言处理 Java
从 Java 到 AI:三周求职冲刺打卡,步步为营拿 offer
本计划帮助具备Java、.NET、Vue背景的开发者三周内转型为AI应用工程师,专注实战,聚焦模型调用、RAG、Prompt工程等技能,完成多个AI应用项目,打造可用于求职的简历与作品集。
757 9
鸿蒙base64编码字符集转化成图片文件
鸿蒙base64编码字符集转化成图片文件
434 0
|
SQL
Remote table-valued function calls are not allowed
在SQL Server中,在链接服务器中调用表值函数(table-valued function)时,会遇到下面错误:   SELECT * FROM LNK_TEST.TEST.DBO.TEST(12)   消息 4122,级别 16,状态 1,第 1 行   Remote table-valued function calls are not allowed.   以前几乎没有在链接服务器(Linked Server)当中调用过表值函数,查了一下资料,看来SQL Server这似乎是不支持的(抑或是不允许)的。
1541 0
|
JavaScript 定位技术
ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测
原文:ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测 一、开篇      在博客注册了三年,今天才决定写第一篇博客,警告自己不要懒!!! 二、关于ArcGIS JS 版本选择      在写这篇博客时ArcGIS JS 4.0正式版已经发布。
1776 0
【工具】CodeSmith Generator 7.0.2激活步骤
学过三层的人应该认识CodeSmith Generator吧,今天我就跟大家一起探讨下CodeSmith Generator 7.0.2的激活,这最新版本破解的难度也是超越以往......具体看这篇日记     学.
1024 0
|
9天前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23434 9
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」