1. with
  2. member [Measures].[终端销售数量总计] as
  3. sum(ytd([日期].[年月].CurrentMember),[Measures].[终端销售数量])
  4.  
  5. member [Measures].[仓库出货数量] as
  6. sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[仓库出货],[Measures].[渠道出货数量_出货日期])
  7.  
  8. member [Measures].[收退数量] as
  9. sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[仓库收退],[Measures].[渠道收货数量])
  10. +
  11. sum(ytd([日期].[年月].CurrentMember)*[物流类型].[物流类型ID].&[店仓调拨],[Measures].[渠道收货数量])
  12.  
  13. member [Measures].[销售数量] as
  14. [Measures].[终端销售数量总计]+[Measures].[仓库出货数量]-[Measures].[收退数量]
  15.  
  16. member [Measures].[月均销售数量1] as
  17. [Measures].[销售数量]/left( [日期].[年月].CurrentMember.Properties('Name'),2) --left截取
  18. ,Format_String = "#,##0.00"
  19.  
  20. member [Measures].[月均销售数量] as
  21. case
  22. when ([日期].[年月].currentmember.parent.children.item(0),[Measures].[终端销售数量])<>null
  23. then [Measures].[销售数量]/left( [日期].[年月].CurrentMember.Properties('Name'),2)
  24. when ([日期].[年月].currentmember.parent.children.item(1),[Measures].[终端销售数量])<>null
  25. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-1)
  26. when ([日期].[年月].currentmember.parent.children.item(2),[Measures].[终端销售数量])<>null
  27. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-2)
  28. when ([日期].[年月].currentmember.parent.children.item(3),[Measures].[终端销售数量])<>null
  29. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-3)
  30. when ([日期].[年月].currentmember.parent.children.item(4),[Measures].[终端销售数量])<>null
  31. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-4)
  32. when ([日期].[年月].currentmember.parent.children.item(5),[Measures].[终端销售数量])<>null
  33. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-5)
  34. when ([日期].[年月].currentmember.parent.children.item(6),[Measures].[终端销售数量])<>null
  35. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-6)
  36. when ([日期].[年月].currentmember.parent.children.item(7),[Measures].[终端销售数量])<>null
  37. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-7)
  38. when ([日期].[年月].currentmember.parent.children.item(8),[Measures].[终端销售数量])<>null
  39. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-8)
  40. when ([日期].[年月].currentmember.parent.children.item(9),[Measures].[终端销售数量])<>null
  41. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-9)
  42. when ([日期].[年月].currentmember.parent.children.item(10),[Measures].[终端销售数量])<>null
  43. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-10)
  44. when ([日期].[年月].currentmember.parent.children.item(11),[Measures].[终端销售数量])<>null
  45. then [Measures].[销售数量]/(left( [日期].[年月].CurrentMember.Properties('Name'),2)-11)
  46. else null end
  47. ,Format_String = "#,##0.00"
  48.  
  49. select {
  50. [Measures].[终端销售数量总计],[Measures].[仓库出货数量],[Measures].[收退数量],
  51. [Measures].[销售数量],[Measures].[月均销售数量1],[Measures].[月均销售数量]
  52. } on 0,
  53. non empty{
  54. [货品].[品牌].[品牌]
  55. } on 1
  56. from [YeehooCube]
  57. where [日期].[年月].[年].&[].&[05月]

MDX之Case When用法的更多相关文章

  1. Oracle CASE WHEN 用法介绍

    1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索 ...

  2. Oracle CASE WHEN 用法介绍[Z]

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  3. oracle case when 用法

    原文:http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html 1. CASE WHEN 表达式有两种形式 --简单Case函数 ...

  4. 问题:oracle case when;结果:Oracle CASE WHEN 用法介绍

    Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ...

  5. case when 用法

    1.  case.group by组合用法 首先看看表中的内容  (COUNTRY . POPULATION.  SEX) COUNTRY POPULATION SEX 中国 中国 美国 美国 加拿大 ...

  6. js部分---运算符,if分支语句,for循环;switch case 的用法;

    ------------------------------------------运算符---------------------------------------------------- *数 ...

  7. SQL中的CASE的用法

    CASE在SQL语句中,很有点类似java等高级编程语言中的switch这样子的多分枝语句,但是有点不同的是,case后面接的是when,另外,when的后续分枝有点类似if后面接else.这个是我的 ...

  8. mysql if 和 case when 用法 多个when情况用一个语句 存储过程

    在实际开发中,经常会用到 if 和 case when的用法,记录一下,以后可以用得到. DELIMITER $$ USE `数据库`$$ DROPPROCEDUREIFEXISTS `GetNoti ...

  9. oracle中DECODE与CASE的用法区别

    对于CASE与DECODE其实并没有太多的区别,他们都是用来实现逻辑判断.Oracle的DECODE函数功能很强,灵活运用的话可以避免多次扫描,从而提高查询的性能.而CASE是9i以后提供的语法,这个 ...

随机推荐

  1. Git基本用法1

    二.git的初始化 在使用git进行代码管理之前,我们首先要对git进行初始化. 1.Git 配置 使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录 ...

  2. Yii的缓存机制之片段缓存

      一.首先在main.php配置缓存组件 在components里面添加cache项.代码如下: // application components 'components'=>array( ...

  3. 【转载】malloc和new

    1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符.它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对 ...

  4. codeforces 702A A. Maximum Increase(水题)

    题目链接: A. Maximum Increase time limit per test 1 second memory limit per test 256 megabytes input sta ...

  5. 合并多个cv::Mat类型,即合并多个图片的接口

    1. cv::Mat get_merage_image(cv::Mat cur_frame) { cv::Mat image_one=cur_frame; cv::Mat image_two=cur_ ...

  6. C++ 两款静态检查工具

    pclint(收费) http://www.gimpel.com/html/pcl.htmpc-lint是资格最老,最强力的代码检查工具,但是是收费软件,并且配置起来有一点点麻烦. ccpchecke ...

  7. uiautomator2.0框架

    1.   Uiautomator1.0 Uiautomator2.0 date 2012 2015 super class UiAutomatorTestCase InstrumentationTes ...

  8. mysql函数之八:mysql函数大全

    对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql& ...

  9. bzoj1941

    KD-tree **了这道题 这个估价函数好鬼畜,把min打成max... 关于min的估价函数非常鬼畜,具体我也不知道为什么. #include<bits/stdc++.h> using ...

  10. 【旧文章搬运】ntfs中的文件名排序规则~

    原文发表于百度空间,2011-04-05========================================================================== 在分析nt ...