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以后提供的语法,这个 ...
随机推荐
- html5--select与HTML5新增的datalist元素
html5--select与HTML5新增的datalist元素 学习要点 掌握select元素与datalist元素的使用 select元素 用来建立一个下拉菜单选项列表 不仅可以在表单中使用,还可 ...
- 使用MongoDB.NET 2.2.4驱动版本对 Mongodb3.3数据库中GridFS增删改查
Program.cs代码如下: internal class Program { private static void Main(string[] args) { GridFSHelper help ...
- 在Angular.js中的H5页面调用Web api时跨域问题处理
/// <summary> /// 被请求时 /// 在Angular.js中的H5页面调用Web api时跨域问题处理 /// </summary> /// <para ...
- [SHOI 2017] 寿司餐厅
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4873 [算法] 注意到题目中的限制条件可表述为 : 若选择区间[L , R] , 则 ...
- C/C++获取操作系统、CPU、内存信息(windows和linux)
有时候需要在工程里面获取一些系统或者硬件的信息,比如系统版本,cpu,内存,显卡,硬盘等,作为后续软件功能判断的依据,甚至参与性能算法自适应建模 Windows 操作系统和内存信息在windows下通 ...
- VS2008编了个MFC对话框,编译链接都没有问题,但是运行出来的对话框完全不能点击
误将整个对话框的属性中disable选为“True”,对话框不可用,选为false即可
- Android开发技巧--引用另一个工程
现在已经有了一个Android工程A.我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A. 1:把工程A做成纯Jar包,这样其他的工程就可以直接引用 ...
- Spring的自学之路之入门
认识Spring Spring是分层的Java SE/EE 应用一站式的轻量级开源框架,以Ioc(Inverse of Control,控制反转)和AOP(Aspect Oriented Progra ...
- Identity Server 4 原理和实战(完结)_Reference Token,撤销Tokens,Google和Github登录
服务端设置为ReferenceToken accessToken的内容比原来的少了很多 断点继续回来就会发生异常 服务端设置 客户端设置,使用一个封装好的库 撤销Token 我们在点击退出按钮的时候撤 ...
- Laravel中使用模型对数据进行操作
public function orm(){ //查询表的所有记录 //$user = Admin::all(); //dd($user); //查询某一条记录 //$user = Admin::fi ...