MDX检索多维模型
栏目: 数据库 · SQL Server · 发布时间: 6年前
MDX是一种结构化查询语言,它比 SQL 查询语言更复杂,因为MDX是面向多维数据模型进行数据检索用来支持复杂的商业环境数据验证。MDX支持两种不同的模式,一是表达式语言:定义和操作Analysis Service 对象和数据以计算值。二查询语言:从Analysis Service中检索数据。
多维数据集是用户为了进行数据分析而设计和使用的对象。在数据仓库设计阶段已经对维度和事实数据进行了分割和处理,通过SSAS引擎组装成多维型,虽然每个事实量值可以按照事先设计好的维度分析数据,这个通过SQL语句很容易实现;根据多维模型的特性它是用来支持复杂的商业环境数据验证的,所以不管业务人员还是管理人员提出的商业场景应该是很容易实现的;这里已最为常用的同比环比做一个简单案例的介绍。
同比环比
这个案例我采用地产数据给签约金额做一个签约金额同比、签约金额环比;
同比=((本期/同期)-1)* 100%;环比=((本期/上期)-1)* 100%;通过分析这个计算公式本期是已有的量值在签约量值组中存在,关键是如何拿到同期和上期;而MDX引擎提供了如何取这两个数据的方法函数,但是必须要借助日期维度,同期的思想是要取去年的今天,上期的思想是要取上个月的今天;所以上期可以通过日期维度CurrentMember.PrevMember 获得,同期可以通过日期维度ParallelPeriod 日期维度.CurrentMember 获得
实现步骤
这里使用MDX支持的模式:表达式语言来定义和操作计算量值。
第一步:打开项目把日期维度的属性改成时间类型(Type);
第二步:打开多维模型,单击计算按钮,单击新建计算成员,名称改成[测试_签约金额上期],表达式:([Measures].[签约金额],[A日期].[年-季-月-日].CurrentMember.PrevMember),显示文件夹填写测试。
第三步:单击计算按钮,单击新建计算成员,名称改成[测试_签约金额环比],表达式:format([Measures].[签约金额]/([Measures].[签约金额],[A日期].[年-季-月-日].CurrentMember.PrevMember) -1,"0.00%"),显示文件夹填写测试。
第四步:单击计算按钮,单击新建计算成员,名称改成[测试_签约金额同期],表达式:(ParallelPeriod([A日期].[年-季-月-日].[年],1,[A日期].[年-季-月-日].CurrentMember),[Measures].[签约金额]),显示文件夹填写测试。
第五步:单击计算按钮,单击新建计算成员,名称改成[测试_签约金额同比],表达式:format ([Measures].[签约金额]/(ParallelPeriod([A日期].[年-季-月-日].[年],1,[A日期].[年-季-月-日].CurrentMember),[Measures].[签约金额]) -1,"0.00%"),显示文件夹填写测试。
第六步:部署多维模型,这里就不介绍了前面的文章有介绍如何部署。
第七步:单击浏览器,从模型中拖日期维度层次结构年-月-日到选择维度区域并且选择2016年2月和2017年2月的前四天,年-季-月-日拖到量值区域;从签约量值组中拖签约金额到量值区域,测试量值组分别拖测试_签约金额上期、测试_签约金额环比、测试_签约金额同期、测试_签约金额同比,完成后点击查询。
第八步:根据同比和环比的公式我们可以看到2016年1季度二月20160201 签约金额=16128001,2016年1季度二月20160202 测试_签约金额上期=16128001,2017年1季度二月20160201 测试_签约金额同期=16128001;这两个都等于本期说明上期和同期的数据取正确了,这时我们可以把日期维度上的日去掉在验证一下数据是否正确?
MDX函数字典
MDX比SQL要难太多,它涉及到很多空间概念一时半会很多人很难理解而且学习起来比较困难因为有关MDX的官方学习资料和书籍非常少;我在对多维数据模型进行逆向工程的时候,拿到了一份非常全面的MDX语言函数表一共有404个函数的使用方法,这份表已经嵌入到《BI项目管理》系统中,这里我导入来分享给大家。关注FocusBI发送 MDX函数 获取下载链接,已经关注了的直接发送就行了。这份MDX函数表有部分是全英文的如果你有能力翻译只要翻译说明列就行,请翻译好后分享一份给我。
《商业智能教程》pdf下载地址
链接: https://pan.baidu.com/s/1f9VdZUXztwylkOdFLbcmWw 密码:2r4v
FocusBI微信公众号
历史文章:
本文由FocusBI 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。
以上所述就是小编给大家介绍的《MDX检索多维模型》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 机器之心论文解读:可用于十亿级实时检索的循环二分嵌入模型(RBE)
- 推荐系统遇上深度学习(二十三)--大一统信息检索模型IRGAN在推荐领域的应用
- 如何实现全文检索?
- lucene全文检索基础
- solr搜索配置拼音检索
- 全文检索引擎(三)---原理剖析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。