MDX之Case When用法
with
member [Measures].[终端销售数量总计] as
sum(ytd([日期].[年月].CurrentMember),[Measures].[终端销售数量]) member [Measures].[仓库出货数量] as
sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[仓库出货],[Measures].[渠道出货数量_出货日期]) member [Measures].[收退数量] as
sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[仓库收退],[Measures].[渠道收货数量])
+
sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[店仓调拨],[Measures].[渠道收货数量]) member [Measures].[销售数量] as
[Measures].[终端销售数量总计]+[Measures].[仓库出货数量]-[Measures].[收退数量] member [Measures].[月均销售数量1] as
[Measures].[销售数量]/left( [日期].[年月].CurrentMember.Properties('Name'),2) --left截取
,Format_String = "#,##0.00" member [Measures].[月均销售数量] as
case
when ([日期].[年月].currentmember.parent.children.item(0),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/left( [日期].[年月].CurrentMember.Properties('Name'),2)
when ([日期].[年月].currentmember.parent.children.item(1),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-1)
when ([日期].[年月].currentmember.parent.children.item(2),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-2)
when ([日期].[年月].currentmember.parent.children.item(3),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-3)
when ([日期].[年月].currentmember.parent.children.item(4),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-4)
when ([日期].[年月].currentmember.parent.children.item(5),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-5)
when ([日期].[年月].currentmember.parent.children.item(6),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-6)
when ([日期].[年月].currentmember.parent.children.item(7),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-7)
when ([日期].[年月].currentmember.parent.children.item(8),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-8)
when ([日期].[年月].currentmember.parent.children.item(9),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-9)
when ([日期].[年月].currentmember.parent.children.item(10),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-10)
when ([日期].[年月].currentmember.parent.children.item(11),[Measures].[终端销售数量])<>null
then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-11)
else null end
,Format_String = "#,##0.00" select {
[Measures].[终端销售数量总计],[Measures].[仓库出货数量],[Measures].[收退数量],
[Measures].[销售数量],[Measures].[月均销售数量1],[Measures].[月均销售数量]
} on 0,
non empty{
[货品].[品牌].[品牌]
} on 1
from [YeehooCube]
where [日期].[年月].[年].&[].&[05月]
MDX之Case When用法的更多相关文章
- Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...
- Oracle CASE WHEN 用法介绍[Z]
Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...
- oracle case when 用法
原文:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html 1. CASE WHEN 表达式有两种形式 --简单Case函数 ...
- 问题:oracle case when;结果:Oracle CASE WHEN 用法介绍
Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...
- case when 用法
1. case.group by组合用法 首先看看表中的内容 (COUNTRY . POPULATION. SEX) COUNTRY POPULATION SEX 中国 中国 美国 美国 加拿大 ...
- js部分---运算符,if分支语句,for循环;switch case 的用法;
------------------------------------------运算符---------------------------------------------------- *数 ...
- SQL中的CASE的用法
CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的 ...
- mysql if 和 case when 用法 多个when情况用一个语句 存储过程
在实际开发中,经常会用到 if 和 case when的用法,记录一下,以后可以用得到. DELIMITER $$ USE `数据库`$$ DROPPROCEDUREIFEXISTS `GetNoti ...
- oracle中DECODE与CASE的用法区别
对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...
随机推荐
- CentOS系统文件和目录管理相关的一些重要命令
我们都知道,在Linux系统中,基本上任何我们需要做的事都可以通过输入命令来完成,所以在Linux系统中命令非常的多,我们不可能也没必要记住所有的这些命令,但是对于一些常用的命令我们还是必须要对其了如 ...
- 手把手教你打造ImageView支持手势放大缩小
写在前面 最近有了新的任务,学习的时间比以前少了不少,Java回炉的文估计是得缓缓了,不过每周一篇尽量保质保量.最近感觉我文写的有点不好,因为我写东西除非必要,不然概念性的东西我基本上都是一笔带过…… ...
- C3P0 配置
C3P0是一个开源的JDBC连接池. 在Spring中,C3P0的一些配置,介绍如下(只列了一部分,不是全部) <!-- c3p0连接池配置 --> <bean id="d ...
- Java网络编程Socket通信
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议 UDP (User Datagram Proto ...
- Android之styles.xml,以及自定义风格
1.styles.xml 在现在的ADT创建的Project中,会有values,values-v11和values-v14三个文件夹,每个文件夹下都有一个styles.xml. API11是Andr ...
- JavaScript-Tool:validate.js-un
ylbtech-JavaScript-Tool:validate.js 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 0. http://validatejs. ...
- Foreign Postcards
题意: 给定 n 张排成一堆的的卡片,每一次从堆顶上等概率随机取出 [1~当前卡片数] 个卡片,如果堆顶的卡片是反面朝上, 则将所有取出的卡片翻转,求问期望取出多少个反面朝上的卡片. 解法: 考虑dp ...
- 爬虫库之BeautifulSoup学习(三)
遍历文档树: 1.查找子节点 .contents tag的.content属性可以将tag的子节点以列表的方式输出. print soup.body.contents print type(soup. ...
- ubuntu上安装与卸载deb文件(转载)
转自:http://blog.csdn.net/nkguohao/article/details/8951082 版权声明:本文为博主原创文章,未经博主允许不得转载. 通过deb包安装软件: sudo ...
- C#高级参数out,ref,params
在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? out 当需要返回一系列返回值时可用out高级 ...