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以后提供的语法,这个 ...
随机推荐
- Git基本用法1
二.git的初始化 在使用git进行代码管理之前,我们首先要对git进行初始化. 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录 ...
- Yii的缓存机制之片段缓存
一.首先在main.php配置缓存组件 在components里面添加cache项.代码如下: // application components 'components'=>array( ...
- 【转载】malloc和new
1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对 ...
- codeforces 702A A. Maximum Increase(水题)
题目链接: A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input sta ...
- 合并多个cv::Mat类型,即合并多个图片的接口
1. cv::Mat get_merage_image(cv::Mat cur_frame) { cv::Mat image_one=cur_frame; cv::Mat image_two=cur_ ...
- C++ 两款静态检查工具
pclint(收费) http://www.gimpel.com/html/pcl.htmpc-lint是资格最老,最强力的代码检查工具,但是是收费软件,并且配置起来有一点点麻烦. ccpchecke ...
- uiautomator2.0框架
1. Uiautomator1.0 Uiautomator2.0 date 2012 2015 super class UiAutomatorTestCase InstrumentationTes ...
- mysql函数之八:mysql函数大全
对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...
- bzoj1941
KD-tree **了这道题 这个估价函数好鬼畜,把min打成max... 关于min的估价函数非常鬼畜,具体我也不知道为什么. #include<bits/stdc++.h> using ...
- 【旧文章搬运】ntfs中的文件名排序规则~
原文发表于百度空间,2011-04-05========================================================================== 在分析nt ...