一个人力资源咨询集团通过网络爬虫采集手段将多个知名招聘网站上发布的求职和招聘等信息准实时采集到自己的库里,形成一个数据量浩大的招聘信息库,跟踪全国招聘和求职的行业、工种、职位、待遇等信息,并通过商业智能系统,开展职业职位供求及趋势等相关统计分析。这家公司竟然用SSAS OLAP Cube多维数据集容纳如此数量级的数据,广告维成员包含了每一个广告条目。该商业智能团队的开发人员咨询如何用MDX求解薪水中位数、四分位数(Median,Quartile)等。

以下是对Median、Q1、Q3等问题的MDX解答:

1、MDX中位数(Median)求解

中位数(median)是对长度为n的系列数据,根据数据大小排列得到的位于[(n+1)/2]位置上的数据。当变量值的项数N为奇数时,处于中间位置的变量值即为中位数;当N为偶数时,中位数则为处于中间位置的2个变量值的平均数,即(M1+M2)/2。中位数是以它在所有标志值中所处的位置确定的全体单位标志值的代表值,不受分布数列的极大或极小值影响,从而在一定程度上提高了中位数对分布数列的代表性。

1、求解所有招聘广告薪水待遇的中位数median.MDX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//商业智能之路(jbean.org),Begin
WITH
//采集到的招聘广告条目(薪水测量值非空)
SetRawAdvSetAS
    NonEmpty([Advertisement].[Adv Id].members,[Measures].[Salary Sum])
//将广告条目按照薪水排序
SetAdvSetAS
    Order(RawAdvSet, [Measures].[Salary Sum],DESC)
//招聘广告总数
Member [measures].[AdvCount] as
    Count(AdvSet)
//招聘广告条目中间位置
Member [Measures].[MedianReal] as
    ([measures].[AdvCount]-1) * 50 / 100
Member [Measures].[MedianInt] as
    Int([Measures].[MedianReal])
Member [Measures].[MedianFrac] as
    [Measures].[MedianReal]- [Measures].[MedianInt]
//薪水“中位数”(低)
Member [Measures].[MedianLow] as
    ([AdvSet].Item([Measures].[MedianInt]).Item(0),[Measures].[SalarySum])
//薪水“中位数”(高)
Member [Measures].[MedianHigh] as
    ([AdvSet].Item([Measures].[MedianInt] + 1).Item(0),[Measures].[Salary Sum])
//实际得到薪水的中位数
Member [Measures].[Salary Median] as
    ([Measures].[MedianLow] * [Measures].[MedianFrac])
    +([Measures].[MedianHigh] * (1 - [Measures].[MedianFrac]))
//商业智能之路(jbean.org),End

2、四分位数(Quartile)求解

四分位数(Quartile)在统计时把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数,分别如下:

第一四分位数 (Q1),又称“较小四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。

第二四分位数 (Q2),又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。

第三四分位数 (Q3),又称“较大四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。

第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)。

2、求解所有招聘广告薪水待遇的四分位数quantile.MDX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 1)求解1Q
//商业智能之路(jbean.org),Begin
WITH
SetRawAdvSetAS
    NonEmpty([Advertisement].[Adv Id].members,[Measures].[Salary Sum])
SetAdvSetAS
    Order(RawAdvSet, [Measures].[Salary Sum],DESC)
Member [Measures].[1QReal] as
    ([measures].[AdvCount]-1) * 25 / 100
Member [Measures].[1QInt] as
    Int([Measures].[1QReal])
Member [Measures].[1QFrac] as
    [Measures].[1QReal]- [Measures].[1QInt]
Member [Measures].[1QLow] as
    ([AdvSet].Item([Measures].[1QInt]).Item(0),[Measures].[SalarySum])
Member [Measures].[1QHigh] as
    ([AdvSet].Item([Measures].[1QInt] + 1).Item(0),[Measures].[Salary Sum])
//实际得到薪水的四分位数quantile(1Q)
Member [Measures].[Salary 1Q] as
    ([Measures].[1QLow] * [Measures].[1QFrac])
    +([Measures].[1QHigh] * (1 - [Measures].[1QFrac]))
// 2)求解3Q
//商业智能之路(jbean.org),Begin
Member [Measures].[3QReal] as
    ([measures].[AdvCount]-1) * 75 / 100
Member [Measures].[3QInt] as
    Int([Measures].[3QReal])
Member [Measures].[3QFrac] as
    [Measures].[3QReal]- [Measures].[3QInt]
Member [Measures].[3QLow] as
    ([AdvSet].Item([Measures].[3QInt]).Item(0),[Measures].[SalarySum])
Member [Measures].[3QHigh] as
    ([AdvSet].Item([Measures].[3QInt] + 1).Item(0),[Measures].[Salary Sum])
//实际得到薪水的四分位数quantile(3Q)
Member [Measures].[Salary 3Q] as
    ([Measures].[3QLow] * [Measures].[3QFrac])
    +([Measures].[3QHigh] * (1 - [Measures].[3QFrac]))
//商业智能之路(jbean.org),End

原文链接: MDX示例:求解中位数、四分位数(median、quartile)

MDX示例:求解中位数、四分位数(median、quartile)相关推荐

  1. R语言使用wilcox.test函数执行wilcox符号秩检验获取总体中位数(median)的置信区间(默认输出结果包括95%置信水平的置信区间)

    R语言使用wilcox.test函数执行wilcox符号秩检验获取总体中位数(median)的置信区间(默认输出结果包括95%置信水平的置信区间) 目录

  2. R语言使用wilcox.test函数执行wilcox符号秩检验获取总体中位数(median)的置信区间(设置conf.level参数指定置信水平、置信区间的大小)

    R语言使用wilcox.test函数执行wilcox符号秩检验获取总体中位数(median)的置信区间(设置conf.level参数指定置信水平.置信区间的大小) 目录

  3. OpenCV图像处理学习九,双边滤波器 (Bilateral Filter)和中位数滤波器 (Median Filter)

    均值模糊无法克服边缘像素信息丢失缺陷,原因是均值滤波是基于平均权重,赋予图像内的像素与图像边缘像素一样的比值权重,图像处理是会使得边缘部分图像部分像素信息丢失: 高斯模糊部分克服了该缺陷,但是无法完全 ...

  4. C语言编程练习 1.按如下函数原型编写程序,用一个整型数组feedback保存调查的40个反馈意见。用函数编程计算反馈意见的平均数(Mean)、中位数(Median)和众数(Mode

    题目完整描述: 按如下函数原型编写程序,用一个整型数组feedback保存调查的40个反馈意见.用函数编程计算反馈意见的平均数(Mean).中位数(Median)和众数(Mode).中位数指的是排列在 ...

  5. 用函数编程计算反馈意见的平均数(Mean)、中位数(Median)和众数(Mode)

    按如下函数原型编写程序,用一个整型数组feedback保存调查的40个反馈意见.用函数编程计算反馈意见的平均数(Mean).中位数(Median)和众数(Mode).中位数指的是排列在数组中间的数.如 ...

  6. hive求解中位数的几种方法

    hive求解中位数的几种方法 前言 两种解法 解法1:利用中位数的位次特征 解法2:利用升序与降序的差值 解法2.1: 延伸问题:频次+分数 参考文章 前言 假设我们有一张学生成绩表student_s ...

  7. C#LeetCode刷题之#4-两个排序数组的中位数(Median of Two Sorted Arrays)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4005 访问. 给定两个大小为 m 和 n 的有序数组 nums1 ...

  8. 两个排序数组的中位数(4.Median of Two Sorted Arrays)

    题目: 有两个排序的数组nums1和nums2分别为m和n大小. 找到两个排序数组的中位数.整体运行时间复杂度应为O(log(m + n)). 示例1: nums1 = [1,3] nums2 = [ ...

  9. LeetCode上求两个排序数组中位数问题—— Median of Two Sorted Arrays

    1.题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...

  10. 中位数(Median)

    转自:http://book.51cto.com/art/201004/193273.htm 中位数是将总体数据的各个数值按大小顺序排列,居于中间位置的变量,用Median表示.中位数将所有的数据等分 ...

最新文章

  1. sql常用crud命令
  2. 用oc/c编写冒泡排序
  3. .xz是什么文件怎么解压_zip解压app下载-zip解压app安卓版下载v11.5.6
  4. 涂鸦之作WanAndroid第三方APP
  5. 【JS第34期】BOM-window对象
  6. 简单聊一下makefile中的 =, :=, ?=和+=
  7. cheungssh mysql密码_CheungSSH安装及基本使用
  8. 学生信息管理系统c语言课设,学生信息管理系统C语言课设.doc
  9. javascrip执行字符串里面的函数
  10. obs之lame编码
  11. Android7.1 音频声音控制策略
  12. DosBox装Windows98
  13. hp 126NW驱动安装
  14. 决定一台计算机运行速度快慢的配件是什么,电脑运行慢换什么配件
  15. 关于使用git clone时提示Permission denied (publickey)的解决方法
  16. pip国内常用镜像源汇总
  17. 汇编语言||基本传送指令MOV的用法详解
  18. 211计算机冷门学校,新闻传播硕士冷门学校(考研适合捡漏的211大学)
  19. 奇安信漏扫设备与堡垒机问题解析
  20. Primavera P6 Professional 21.12 登录异常案例分享

热门文章

  1. ES6(ECMAScript)快速使用
  2. html打开lync客户端,Lync 2013与Exchange 2013--客户端发现响应内容类型为“text/html ”,但应为“text/xml”...
  3. 安装服务器系统后鼠标键盘没反应,安装Win7系统以后键盘鼠标不能用/失灵没反应的缘由以及解决方法...
  4. 英文期刊催稿信模板_SCI论文催稿信模板
  5. PS中的文字叠加纹理
  6. ipsec 加密流程(一):ipsec策略匹配
  7. 【网络实验箱02】-odl-neutron北向抓包分析
  8. 服务器系统信息查询命令
  9. 程序员真的需要一台 Mac 吗?
  10. MATLAB如何创建新文件夹-mkdir函数,如何进入指定文件夹-cd函数