Analysis Services 微软Olap服务MDX函数应用举例

【MDX】从零开始:SQL Server Analysis Services 安装与实战部署指南 本文提供了一份从零开始的SQL Server Analysis Services(SSAS)安装与实战部署指南。详细介绍了环境准备、必备工具安装、示例数据还原以及创建首个多维项目的完整流程。文章重点阐述了如何选择多维模式、配置数据源视图、生成维度与立方体,并最终完成部署、处理与使用MDX查询进行数据分析,帮助读者快速掌握这一核心商业智能组件的核心应用。 阅读详情

本文目的对丰富的函数集可以提供的强大功能有一个直观的认识
看看Microsoft是怎样应用函数,也许可以参考借鉴;
应用举例

  • 成员百分比分析
    函数:CurrentMember、Parent等;
    分析各城市的销售所占全部城市的总销售额百分比。
    WITHMEMBER Measures.[Unit Sales Percent] AS '((Store.CURRENTMEMBER,Measures.[Unit Sales]) / (Store.CURRENTMEMBER.PARENT, Measures.[UnitSales])) ', FORMAT_STRING = 'Percent'
    SELECT {Measures.[Unit Sales], Measures.[Unit Sales Percent]} ON COLUMNS,
    ORDER(DESCENDANTS(Store.[USA].[CA], Store.[Store City], SELF),[Measures].[Unit Sales], ASC) ON ROWS
    FROM Sales
  • 重要顾客分布分析
    函数:Count、Sum、Filter、Descendants等;
    分析各个省份中重要顾客的数量及他们的总购买量,"重要顾客"的定义是一个顾客的购买金额或者购买数目达到或超过一定的数值。
    WITHMEMBER [Measures].[Qualified Count] AS                ‘COUNT(FILTER(DESCENDANTS(Customers.CURRENTMEMBER, [Customers].[Name]),([Measures].[Store Sales]) > 10000 OR ([Measures].[Unit Sales]) >10))'               
    MEMBER [Measures].[Qualified Sales]AS 'SUM(FILTER(DESCENDANTS(Customers.CURRENTMEMBER,[Customers].[Name]), ([Measures].[Store Sales]) > 10000 OR([Measures].[Unit Sales]) > 10), ([Measures].[Store Sales]))'
    SELECT {[Measures].[Qualified Count], [Measures].[Qualified Sales]} ON COLUMNS,
    DESCENDANTS([Customers].[All Customers], [State Province], SELF_AND_BEFORE) ON ROWS
    FROM Sales
  • 排序
    函数:Order
    对各个产品类别按照Store Sales指标降序排列,排序分为维内排序/整体排序。
    select {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns,
    Order([Product].[Product Department].members, [Measures].[Store Sales], DESC) on rows
    from Sales
  • 历史相关的累计值
    函数:YTD、Sum、Descendants
    求销售额的本年累计值YTD(),类似还可以求解历史累计YTD()、本月累计MTD()、本周累计WTD()等, 以及更通用的函数PeriodToDate()。
    with member [Measures].[Accumulated Sales] as 'Sum(YTD(),[Measures].[Store Sales])'
    select  {[Measures].[Store Sales],[Measures].[Accumulated Sales]} on columns,{Descendants([Time].[1997],[Time].[Month])} on rows
    from [Warehouse and Sales]
  • 四则运算
    函数:四则运算函数;
    在成员上及指标上均可以进行四则运算,动态派生出新的成员及指标。

    WITHMEMBER MEASURES.ProfitPercent AS '([Measures].[StoreSales]-[Measures].[Store Cost])/([Measures].[StoreCost])',FORMAT_STRING = '#.00%'
    MEMBER [Time].[First Half 97] AS  '[Time].[1997].[Q1] + [Time].[1997].[Q2]'
    MEMBER [Time].[Second Half 97] AS '[Time].[1997].[Q3] + [Time].[1997].[Q4]'

    SELECT {[Time].[First Half 97], [Time].[Second Half 97], [Time].[1997].CHILDREN} ON COLUMNS,
    {[Store].[Store Country].[USA].CHILDREN} ON ROWS
    FROM [Sales]
    WHERE (MEASURES.ProfitPercent)
  • 逻辑判断
    函数:IIf
    逻辑判断可以根据不同的条件产生不同的结果。下例判断各商店是否是啤酒及白酒的大卖家。

    WITH MEMBER [Product].[BigSeller] AS 'IIf([Product].[Drink].[Alcoholic Beverages].[Beer and Wine] > 100, "Yes","No")'
    SELECT {[Product].[BigSeller],[Product].children} ON COLUMNS,
    {[Store].[All Stores].[USA].[CA].children} ON ROWS
    FROM Sales
  • 成员属性
    函数:Properties、Dimension Properties
    成员属性是与成员绑定的,其对应关系导致很难选择合适的使用方式。以下是使用成员属性的例子,它对应每个商店成员列出了商店类型属性,相应的,商店经理、商店规模、商店地址等属性也可以被列出。该用法稍加灵活应用就可以解决过去遇到的企业名称——〉企业代码对应展示问题。

    WITH MEMBER [Measures].[StoreType] AS '[Store].CurrentMember.Properties("Store Type")',
    MEMBER[Measures].[ProfitPct] AS '(Measures.[Store Sales] - Measures.[StoreCost]) / Measures.[Store Sales]', FORMAT_STRING = '##.00%'

    SELECT { Descendants([Store].[USA], [Store].[Store Name])} ON COLUMNS,
    {[Measures].[Store Sales], [Measures].[Store Cost], [Measures].[StoreType], [Measures].[ProfitPct] } ON ROWS"
    FROM Sales

    另外一种用法:

    SELECT {[Measures].[Units Shipped], [Measures].[Units Ordered]} ON COLUMNS,
    [Store].[Store Name].MEMBERS DIMENSION PROPERTIES [Store].[Store Name].[Store Type] ON ROWS
    FROM Warehouse
  • 多步计算实现复杂逻辑

    函数:其实可以是任意函数合乎逻辑的组合
    求出从来没有买过乳制品的顾客,求解过程是先求出每位顾客在过去购买的乳制品的数量累计,然后找出累计值为0的顾客。同样,过去遇到的求税额大于平均税额的海关的问题可以类似求出。

    with member [Measures].[Dairy ever] as 'sum([Time].members, ([Measures].[Unit Sales],[Product].[Food].[Dairy]))'
    set [Customers who never bought dairy] as 'filter([Customers].members, [Measures].[Dairy ever] = 0)'
    select {[Measures].[Unit Sales], [Measures].[Dairy ever]}  on columns,
    [Customers who never bought dairy] on rows
    from Sales
  • 同期、前期
    函数:PrevMember、ParellelPeriod
    求解各产品销售额的去年同期值,年增长率。
    with member [Measures].[Store Sales Last Period] as '([Measures].[Store Sales], Time.PrevMember)', format='#,###.00'
    member[Measures].[Yearly Increase Rate] as ‘([Measures].[Store Sales] -[Measures].[Store Sales Last Period])/ [Measures].[Store Sales LastPeriod]', FORMAT_STRING = 'Percent'
    select {[Measures].[Store Sales], [Measures].[Store Sales Last Period]} on columns,
    { [Product].members} on rows
    from Sales
    where ([Time].[1998])

    另一个例子,使用ParellelPeriod函数。

    WITHMEMBER [Measures].[YTD Unit Sales] AS 'COALESCEEMPTY(SUM(YTD(),[Measures].[Unit Sales]), 0)' MEMBER [Measures].[Previous YTD UnitSales] AS  '(Measures.[YTD Unit Sales], PARALLELPERIOD([Time].[Year]))'
    MEMBER [Measures].[YTD Growth] AS '[Measures].[YTD Unit Sales] - ([Measures].[Previous YTD Unit Sales])'
    SELECT {[Time].[1998]} ON COLUMNS,
    {[Measures].[YTD Unit Sales], [Measures].[Previous YTD Unit Sales], [Measures].[YTD Growth]} ON ROWS
    FROM Sales;
  • Top N分析

    函数:TopCount

    求解1998年总购买量处于前5名的顾客;
    select {[Measures].[Store Sales]} on columns,
    {TopCount([Customers].[Customer Name].members,5, [Measures].[Store Sales])} on rows
    from Sales
    where ([time].[1998])
  • 成员过滤

  • 函数:Filter、Except

    求解1998年所有顾客中购买总额得到1万元以上的顾客,列出满足条件的顾客的名字、年购买数量、年购买金额。

    Select {[measures].[Store Sales],[measures].[unit sales]} on columns,
    FILTER(Customers.[Name].Members,[Measures].[Store Sales] > 10000) on rows
    From sales
    Whare ([time].[1998])

    另外一种成员过滤(从所有的媒体类型中剔除No Media类型),确切的说应该是集合运算。
    select {[Measures].[Unit Sales]} on columns,
    except([Promotion Media].[Media Type].members,{[Promotion Media].[Media Type].[No Media]}) on rows
    from Sales
  • 时间段
    函数:sum、":"运算符
    求美国的商店在指定时间段内的销售额。
    WITH  MEMBER [Time].[1997].[Six Month] AS 'SUM([Time].[1]:[Time].[6])'
    MEMBER [Time].[1997].[Nine Month] AS 'SUM([Time].[1]:[Time].[9])'
    SELECT {[Time].[1997].[Six Month],[Time].[1997].[Nine Month]} ON COLUMNS,
    {[measures].[store salse]} ON ROWS
    FROM Sales
    Where ([Store].[USA])
【MDX】从零开始:SQL Server Analysis Services 多维数据建模实战指南 本文是一份SQL Server Analysis Services多维数据建模的实战指南。从零开始,详细介绍了SSAS的安装、开发环境配置、示例数据库准备,并逐步演示了如何创建数据源、构建数据源视图、定义维度与多维数据集。通过部署和处理模型,最终实现使用Excel或MDX进行快速、直观的数据分析和探索,帮助读者掌握构建高效商业智能分析模型的核心技能。 阅读详情

相关推荐

【MDX】从零开始:SQL Server Analysis Services 多维建模实战指南

本文提供了一份从零开始的SQL Server Analysis Services(SSAS)多维建模实战指南。详细介绍了开发环境的搭建(包括SQL Server、SSAS、SSMS和SSDT的安装与配置)、数据源连接、维度与多维数据集(Cube)的设计创建,以及最终的部署、处理和在Excel中的验证分析全流程,帮助读者快速掌握构建企业级OLAP分析模型的核心技能。

weixin_29309785的博客 396

olap分析平台的设计与实现(六)-MDX语句基础

本章节总结MDX语句如下基本内容: , : member children decendants non empty tuple set Queries CrossJoin() Filter() Sort() 格式化? 写了语句报错: Caused by: mondrian.olap.MondrianException: Mondrian Error:Syntax ...

wh_xia_jun的专栏 894

SQL Server Analysis Services 2019安装避坑指南:从零配置到实战部署

本文提供了一份详尽的SQL Server Analysis Services 2019安装与部署实战指南。文章重点解析了从环境准备、服务模式选择(多维/表格)、硬件配置、服务账户规划到分步安装、防火墙配置及开发工具链搭建的全过程,旨在帮助数据工程师和BI开发者避开常见陷阱,顺利完成企业级分析服务的部署。

h6j7k8l9p0的博客 1063

多维数据查询OLAP及MDX语言学习整理(转载)

一、OLAP概述 为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态。 但是,随着企业间竞争的加剧和市场节奏的进一步加快,企业的日常管理需要对关键业务指标的更加实时的监控和反馈。比如:制造业需要更及时的仓库调度、金融业需要更实时的风险防范、电信业需要更及时的服务指标监控。于是,越来越多的企业提出实时企业的要求,传统的ERP等信息系统和报表系统无法满足这些需求。实时业务监控解决方案旨在更好支撑客户此类需求。 http://www.tuic

樱吹雪 2719

全面介绍MDX函数及其应用:打印版

本文还有配套的精品资源,点击获取 简介:MDX(多维表达式)是一种专门用于Microsoft Analysis Services(SSAS)的OLAP数据分析查询语言。本文档详细讲解了MDX函数的分类与用法,并通过实例和运行结果图展示了其实际应用,以帮助用户深入理解并有效地利用MDX函数进行数据分析。 1. MDX函数概述 MDX(多维表达式)是一种专门为OLA...

weixin_35754962的博客 1192

C#连接Analysis Service数据挖掘实战示例

OLAP(Online Analytical Processing,在线分析处理)与数据挖掘(Data Mining)是现代商业智能(BI)系统中不可或缺的两大技术支柱。它们分别从多维数据分析与预测建模两个维度,为企业提供深入洞察与决策支持。本章将系统介绍OLAP的基本结构与数据模型,解析数据挖掘的核心算法与流程,并探讨两者在BI系统中的协同应用。通过本章的学习,读者将掌握OLAP立方体的构成、多维数据的切片与聚合方式,理解数据挖掘模型的构建逻辑与预测机制,并具备初步整合OLAP与数据挖掘技术的能力。

weixin_28746457的博客 1136

多维数据查询OLAP及MDX语言学习整理

OLAP 为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态。但是,随着企业间竞争的加剧和市场节奏的进一步加快,企业的日常管理需要对关键业务指标的更加实时的监控和反馈。比如:制造业需要更及时的仓库调度、金融业需要更实时的风险防范、电信业需要更及时的服务指标监控。于是,...

weixin_34391445的博客 760

BI OLAP MDX函数使用大全

研究BI的人都应该清楚,这个东西很实用的哟。

olap分析平台的设计与实现(八) -mdx语法部分概念

关键词: members currentMembers parent children decendant avg Time : PrevMember(前一期) Time:ParallelPeriod(同期) Time:PeriodsToDate(期间累计) lag、lead、ParallelPeriod+avg()、max\min等(求移动平均、一个周期最大、最小等):这个...

wh_xia_jun的专栏 732

使用MDX读取OLAP多维数据集:第1部分

本文介绍了逐步学习MDX查询的过程。 它将帮助用户从OLAP多维数据集中读取数据。

微软Olap服务MDX函数应用举例.

对丰富的函数集可以提供的强大功能有一个直观的认识 看看Microsoft是怎样应用函数,也许可以参考借鉴;

多维数据查询 OLAP 及 MDX 语言学习整理

多维数据查询 OLAP 及 MDX 语言学习整理 OLAP 为了满足业务管理和决策的报表系统(包括传统报表、数据仓库、OLAP等)也被创建出来,企业主管通过报表了解企业的总体运行状态。 但是,随着企业间竞争的加剧和市场节奏的进一步加快,企业的日常管理需要对关键业务指标的更加实时的监控和反馈。比如:制造业需要更及时的仓库调度、金融业需要更实时的风险防范、电信业需要更及时的服务指标监控。于是,越来越多的企业提出实时企业的要求,传统的ERP等信息系统和报表系统无法满足这些需求。实时业务监控解决方案旨在更好支撑客户

qq_38903177的博客 410

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 424

Microsoft关于Analysis Services的说明[转微软官网]

 Analysis Services 概念和对象Microsoft SQL Server 2005 Analysis Services (SSAS) 通过服务器和客户端技术的组合提供联机分析处理 (OLAP) 和数据挖掘功能,并通过使用专用的开发和管理环境以及为设计、创建、部署和维护商业智能应用程序而完善定义的对象模型进一步增强这些功能。有关详细信息,请参阅 Microsoft

844

RobotStudio码垛机器人创建过程

首先导入一个IRB2600机器人,移动夹具的本地坐标原点,使原点位置为顶面中心(与法兰盘连接的部位)。对齐夹爪Smart组件的本地坐标和机器人末端法兰盘的坐标...

个人博客 1万+

全网最全的AItium Designer 16下载资源与安装步骤

Altium Designer 除了全面继承包括Protel 99SE、Protel DXP在内的先前一系列版本的功能和优点外,还增加了许多改进和很多高端功能。该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起。...

WQ的博客 1万+

MDX 函数参考 (MDX)

Microsoft SQL Server Analysis Services 允许在多维表达式 (MDX) 语法中使用函数。函数可以在任何有效的 MDX 语句中使用,并且经常用于查询、自定义汇总定义以及其他计算。数组函数函数 说明 SetToArray (MDX) 将一个或多个集转换为数组,以便在用户定义函

懶貓™ 697

STM32F4使用CUBEMX ADC定时采样+DMA

STM32、FFT、ADC、TIM

m0_62379750的博客 4223

MDX 介绍(MSDN)

多维表达式 (MDX) 是一种功能完备、基于语句的脚本语言,用于定义、使用以及从 Microsoft SQL Server 2005 Analysis Services (SSAS) 中的多维对象中检索数据。MDX 提供以下几种语言功能: 用于创建、删除以及使用多维对象的数据定义语言 (DDL) 语句。 用于从多维对象中检索操作数据的...

weixin_30809333的博客 1376

避坑指南:华为2288H-V5服务器安装系统时常见的RAID与驱动问题解决方案

本文针对华为2288H-V5服务器在安装系统时常见的RAID与驱动问题,提供了详细的避坑指南。文章深度解析了从BIOS版本兼容性核查、RAID配置实战到驱动加载与集成的全流程,重点解决了安装过程中因RAID控制器驱动缺失或兼容性问题导致的硬盘无法识别等典型故障,帮助用户高效完成系统部署。

weixin_29240711的博客 979

企业微信开发007_域名主体校验未通过,需配置备案主体与当前企业主体相同或有关联关系的域名_企业内部自建应用开发_配置可信域名_回调URL_可信IP---企业微信开发009

因为我这个企业微信是,已经注册了服务商了,所以我又注册了一个不是服务商的测试企业,没有实名认证的,去试了试。而且,网络上找的教程,都是不够详细的,还是会碰到各种各样的问题,记录下来,为后来者提供便利。首先我用natapp.cn 申请了一个免费的域名,然后去,一个,企业微信上去配置,注意。我这个域名,的主体,可能是域名服务商,比如阿里域名 等等的 不是一般的企业域名。我这个企业微信,是开通了服务商的,企业微信,右上角有服务商管理后台的。到时候,直接用,他们自己企业注册的域名,已经备案的再去尝试,

添柴程序猿的专栏 1697

SQL Server 2005 Analysis Services性能指南 Part 1 - 理解查询构架

翻译:Cheney Shue发表于:博客园版权文档中的信息仅代表发表之日止微软公司的观点。因为微软公司需要响应不断变化的市场环境,所以微软公司不能保证发表之日后,文档中信息的正确性。此白皮书仅用于报告目的。微软不为此文档作任何担保。用户有责任遵从版权法。如果没有微软公司的授权,用户不得超出权限以任何形式(包括电子或机械复制、拍照、记录、及其他形式)复制此文档。 此文档可能包含了

jackfor001的专栏 889

YOLOv11涨点改进| TGRS 2026 顶刊| 注意力改进篇| 引入MSEA多尺度边缘感知注意力,助力红外小目标检测、遥感目标检测、工业缺陷检测、图像去雨雾任务高效涨点

🔥本文提出了一种基于MSEA多尺度边缘感知注意力的YOLOv11改进模型,通过增强网络对边缘、纹理和细粒度信息的感知能力,显著提升复杂背景下的目标检测性能。MSEA模块采用多尺度空洞卷积提取上下文特征,并通过边缘监督和注意力融合机制强化目标边界信息。实验表明该方法在小目标、边界模糊目标和复杂纹理目标检测任务中表现优异,尤其在遥感、工业缺陷和红外检测等场景具有显著优势。文章详细介绍了MSEA的结构原理、核心代码实现、模块配置方法以及三种YOLOv11改进方案.

Ai缝合怪、助力小伙伴高效发论文 185

在 ASP.NET 中使用 SQL Server 2000 Analysis Services 和 Office XP构造 OLAP 报表设计程序

原著:Jeffrey Hasan、Kenneth Tu翻译:sages 原文出处:MSDN Magazine Oct 2003 (OLAP)原代码下载:OLAP.exe (373KB) 本文假设读者熟悉 ASP.NET 和 SQL Server。 摘要 

-云在青天水在瓶 2013

2025.06.06【Ribo-seq】|RiboCode:基于Ribo-seq数据的全基因组翻译ORF检测工具详解与实战流程

大家好!今天我们要学习的是RiboCode——一个专为Ribo-seq(核糖体足迹测序)数据设计的高质量翻译ORF(开放阅读框)检测工具。RiboCode能够帮助我们在全基因组范围内精准识别翻译事件,发掘经典CDS之外的uORF、dORF、重叠ORF等新型翻译本,极大拓展了我们对转录本翻译潜能的认知。RiboCode 是由清华大学杨学睿课题组开发的开源软件,支持Linux/Mac平台,采用Python实现。自动化流程:一条命令即可完成注释准备、P-site定位、ORF预测。高灵敏度与特异性。

1858

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SQL Server Analysis Services 2019保姆级安装指南:从下载到部署全流程

本文提供SQL Server Analysis Services 2019从下载到部署的完整安装指南。详细解析了多维与表格模式的选择、环境准备、分步安装配置及核心避坑要点,并指导如何安装必备管理工具和部署首个示例多维模型,帮助用户快速构建稳定的企业级分析环境。

nft7creator的博客 475

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: Analysis Services MDX 中的重要概念
下一篇: ASP.NET2.0下微软自带的数据挖掘展现控件
华芸智森
博客等级 码龄25年 571粉丝 25原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值