MDX查询结果中往往会含有“NULL”值,这是某维度下对应的的量值不存在导致的,为了让报表呈现更好的效果,在有些情况下,需要将“NULL”的切片值置换成0,这些置换可以在报表端处理,亦可以在MDX脚本中进行。本文就MDX空值NULL谈谈查询结果格式化处理。

以下示例图为格式化处理空值之前的状态:

对应的MDX脚本为:


SELECT {[Measures].[TransInQty],[Measures].[TransOutQty]} ON 0,{[Time].[Day].&[2014-04-07T00:00:00]:[Time].[Day].&[2014-04-10T00:00:00]} ON 1
FROM [RMS]

下面需要将上图中相应切片的(NULL)值变更为0,且将非(NULL)的切片的数字转换成千分位格式,即有以下示图:

对应的MDX处理脚本为:


WITH
MEMBER [Measures].[TransInQtyFormatted]
AS [Measures].[TransInQty],FORMAT_STRING = "#,##0;- #,##0;0;0"
MEMBER [Measures].[TransOutQtyFormatted]
AS [Measures].[TransOutQty],FORMAT_STRING = "#,##0;- #,##0;0;0"
SELECT {[Measures].[TransInQty],[Measures].[TransInQtyFormatted],[Measures].[TransOutQty],[Measures].[TransOutQtyFormatted]} ON 0,{[Time].[Day].&[2014-04-07T00:00:00]:[Time].[Day].&[2014-04-10T00:00:00]} ON 1
FROM [RMS]

在上述MDX中,属性FORMAT_STRING = "#,##0;- #,##0;0;0"值以分号(;)分隔成四部分格式化,即按正数,负数,0,空值NULL的顺序进行格式化,#为格式化占位符,即当切片值为正数地返回带千分位的正数;当切片值为负数时返回带千分位的负数;当切片值为0时返回0;当切片为空值时返回0,你也可以设成“N/A”。

更多有关FORMAT_STRING参见:FORMAT_STRING Contents

本文首发地址:http://pengzhiyong.com/blog/281.html

转载于:https://www.cnblogs.com/pengzhiyong/p/3690840.html

浅谈MDX处理空值NULL及格式化结果相关推荐

  1. laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式

    浅谈laytpl 模板空值显示null的解决方法及简单的js表达式 laytpl 模板语法 {{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示nu ...

  2. MySQL导入mdx_浅谈MDX数据库

    MDX是"MultiDimensional eXpression"的缩写,这是一种类似于SQL的数据库查询语言.这种查询语言专门用于OLAP (Online analytical ...

  3. 浅谈关于nil和 null区别及相关问题

    1.nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assig ...

  4. mysql 不要统计null_浅谈为什么Mysql数据库尽量避免NULL

    在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性.但我们常在一些Mysql性能优化的书或者一些博客中看到观点:在数据列中 ...

  5. java e.getmessage() null,浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别...

    Exception e中e的getMessage()和toString()方法的区别: 示例代码1: public class TestInfo { private static String str ...

  6. java null什么意思_浅谈java中null是什么,以及使用中要注意的事项

    1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...

  7. 【转】浅谈.net remoting 与webservice

    1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以 ...

  8. 浅谈 JSON.stringify 方法

    原文:浅谈 JSON.stringify 方法 一.前言 最近项目中,遇到需要将对象转换成字符串进行传递,上次写过一篇文章关于json字符串转换成json对象,json对象转换成字符串,值转换成字符串 ...

  9. php 如何设计索引_Mysql学习浅谈mysql的索引设计原则以及常见索引的区别

    <Mysql学习浅谈mysql的索引设计原则以及常见索引的区别>要点: 本文介绍了Mysql学习浅谈mysql的索引设计原则以及常见索引的区别,希望对您有用.如果有疑问,可以联系我们. 索 ...

最新文章

  1. javascript重置(base层)(。。。。不完整)
  2. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(分组调色板填充、自定义调色板、灰度比例)实战(dot plot)
  3. 根据map中某一字段排序
  4. postgresql 创建用户_PostgreSQL创建用户和修改用户密码
  5. java skip_Java CharArrayReader skip()方法
  6. Linux CentOS 重置root密码
  7. JavaScript数组方法 改变原数组和不改变原数组的方法整理
  8. Bitbucket安装配置
  9. python质因子分解_质因子分解_个人文章 - SegmentFault 思否
  10. 打卡3本书10句话-10
  11. 国家列表 Country Code List
  12. TCP传输连接--建立连接阶段(TCP三次握手)
  13. 奥鹏网考大学计算机基础,[南开大学(本部)]《大学计算机基础》19秋期末考核(答案参考)...
  14. 三星I560 UCWEB7.0正式版下载 SISX安装包
  15. html5 并发测试工具,超实用压力测试工具-ab工具
  16. 代码review的流程
  17. 供应python少儿编程课_供的解释|供的意思|汉典“供”字的基本解释
  18. 西南大学网络计算机,西南大学计算机与信息科学学院就业信息网
  19. 怎样设置电脑桌面共享计算机,局域网共享文件如何设置
  20. 操作系统课程设计——进程调度模拟程序(JAVA语言实现)

热门文章

  1. win7/8/10系统好用的视频剪辑软件对比
  2. 分布式系统架构的应用
  3. lambda表达式赘述
  4. art域名五岁快乐!
  5. Java枚举类,你真的了解吗?
  6. python视频搬运_Python-自动下载抖音无水印高清视频
  7. 六种方法全面提升你的气质
  8. 阿里本地生活端智能架构设计与技术探索
  9. Emacs+Auctex+TexLive 便携式
  10. C语言编程调试时,做完所有操作回车运行,调试框直接闪退。