登录  /  注册
MDX示例:统计各产品每个季度的销售排名
php中文网
发布: 2016-06-07 15:14:43
原创
1215人浏览过

ITPUB数据仓库与数据挖掘论坛用户Damon__Li问: 统计 各种 产品 在本年 每个 季度 的 销售 排名 ,(现在有日期、 产品 维度和 销售 额度量)大体显示如下 Q1 Q2 Q3 Q4 销售 额 排名 销售 额 排名 销售 额 排名 销售 额 排名 产品 1 3000 2 2000 3 5000 1 40

ITPUB数据仓库与数据挖掘论坛用户Damon__Li问:

统计各种产品在本年每个季度销售排名,(现在有日期、产品维度和销售额度量)大体显示如下
Q1 Q2 Q3 Q4
销售排名 销售排名 销售排名 销售排名
产品1 3000 2 2000 3 5000 1 4000 1
产品2 4000 1 3000 2 4000 2 2000 3
产品3 2000 3 4000 1 3000 3 3000 2
…….
请熟悉MDX的前辈指点,提供思路。

10多年前就搞MDX,尽管现在不从事这方面工作了,但这种问题看到就手痒。

以下是在SSAS 2008 R2 及SQL Server [Adventure Works]示例数据库(在Codeplex有下载)给出的求解(示例中,季度位于时间维度第2层级):

统计各种产品在本年每个季度销售排名.MDX

1

2

3

4

5

6

7

8

9

10

11

12

13

14

WITH

MEMBER [Measures].[SalesRank] AS

RANK(

[Product].[Product Categories].currentmember,

[Product].[Product Categories].[AllProducts].children ,

[Measures].[Sales Amount]

)

SELECT

{DESCENDANTS([Date].[Calendar].[CalendarYear].&[2007],2)}

*{[Measures].[Sales Amount],[Measures].[SalesRank]} ON0,

[Product].[Product Categories].[AllProducts].children ON1

FROM

[Adventure Works]

以下是在SSAS中执行的情况,可以将[Date].[Calendar].[Calendar Year].&[2007]用[Date].[Calendar].CurrentMember替换,改为在WHERE语句里指定年度[Date].[Calendar].[Calendar Year].&[2007],放在查询切片中后,利于在切片中指定查询条件。

<strong>统计</strong>各种<strong>产品</strong>在本年<strong>每个</strong><strong>季度</strong>的<strong>销售</strong><strong>排名</strong>

统计各种产品在本年每个季度销售排名

来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 技术文章
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2023 //m.sbmmt.com/ All Rights Reserved | 苏州跃动光标网络科技有限公司 | 苏ICP备2020058653号-1

 | 本站CDN由 数掘科技 提供

登录PHP中文网,和优秀的人一起学习!
全站2000+教程免费学