浅谈MDX处理空值NULL及格式化结果
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及格式化结果相关推荐
- laytpl语法_浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式 laytpl 模板语法 {{ d.field }} 输出一个普通字段,不转义html 官方的说明 但d.field 为空时会显示nu ...
- MySQL导入mdx_浅谈MDX数据库
MDX是"MultiDimensional eXpression"的缩写,这是一种类似于SQL的数据库查询语言.这种查询语言专门用于OLAP (Online analytical ...
- 浅谈关于nil和 null区别及相关问题
1.nil和null从字面意思来理解比较简单,nil是一个对象,而NULL是一个值,我的理解为nil是将对象设置为空,而null是将基本类型设置为空的,个人感觉有点像属性当中,基本类型分配为assig ...
- mysql 不要统计null_浅谈为什么Mysql数据库尽量避免NULL
在Mysql中很多表都包含可为NULL(空值)的列,即使应用程序并不需要保存NULL也是如此,这是因为可为NULL是列的默认属性.但我们常在一些Mysql性能优化的书或者一些博客中看到观点:在数据列中 ...
- java e.getmessage() null,浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别...
Exception e中e的getMessage()和toString()方法的区别: 示例代码1: public class TestInfo { private static String str ...
- java null什么意思_浅谈java中null是什么,以及使用中要注意的事项
1.null既不是对象也不是一种类型,它仅是一种特殊的值,你可以将其赋予任何引用类型,你也可以将null转化成任何类型,例如: Integer i=null; Float f=null; String ...
- 【转】浅谈.net remoting 与webservice
1. .NET Remoting .NET Remoting是微软随.NET推出的一种分布式应用解决方案,被誉为管理应用程序域之间的 RPC 的首选技,它允许不同应用程序域之间进行通信(这里的通信可以 ...
- 浅谈 JSON.stringify 方法
原文:浅谈 JSON.stringify 方法 一.前言 最近项目中,遇到需要将对象转换成字符串进行传递,上次写过一篇文章关于json字符串转换成json对象,json对象转换成字符串,值转换成字符串 ...
- php 如何设计索引_Mysql学习浅谈mysql的索引设计原则以及常见索引的区别
<Mysql学习浅谈mysql的索引设计原则以及常见索引的区别>要点: 本文介绍了Mysql学习浅谈mysql的索引设计原则以及常见索引的区别,希望对您有用.如果有疑问,可以联系我们. 索 ...
最新文章
- javascript重置(base层)(。。。。不完整)
- R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(分组调色板填充、自定义调色板、灰度比例)实战(dot plot)
- 根据map中某一字段排序
- postgresql 创建用户_PostgreSQL创建用户和修改用户密码
- java skip_Java CharArrayReader skip()方法
- Linux CentOS 重置root密码
- JavaScript数组方法 改变原数组和不改变原数组的方法整理
- Bitbucket安装配置
- python质因子分解_质因子分解_个人文章 - SegmentFault 思否
- 打卡3本书10句话-10
- 国家列表 Country Code List
- TCP传输连接--建立连接阶段(TCP三次握手)
- 奥鹏网考大学计算机基础,[南开大学(本部)]《大学计算机基础》19秋期末考核(答案参考)...
- 三星I560 UCWEB7.0正式版下载 SISX安装包
- html5 并发测试工具,超实用压力测试工具-ab工具
- 代码review的流程
- 供应python少儿编程课_供的解释|供的意思|汉典“供”字的基本解释
- 西南大学网络计算机,西南大学计算机与信息科学学院就业信息网
- 怎样设置电脑桌面共享计算机,局域网共享文件如何设置
- 操作系统课程设计——进程调度模拟程序(JAVA语言实现)