第一个示例:查看所有包括黑色产品的子目录产品中的 Reseller Order Quantity 和 Reseller Order Count. 第二个示例:和第一个示例查询结构一样,只是筛选的是大小为 XL 的产品子目录,并且只有 Jerseys 一个返回. 那么如果要在这里面表达 OR 的关系,即产品为黑色的或者大小为 XL 的产品子目录有哪些? 可以这样来实现 - SELECT { [Measures].[Reseller Order Quantity], [Measures].[Rese…
假设我们只想显示一些与数据没有任何关联的维度成员信息,并且希望它们能够以行集的形式来显示,那么在 MDX 中就应该直接显示 ROWS  AXIS (1) 并且忽略掉 COLUMNS AXIS(0).比如说有100个成员信息,如果是一列100行的形式通常符合大家的查询习惯,如果是一行100列,读起来就比较困难. 需要了解的是 SELECT 语句最多可以支持 128 个轴,轴的序号从 0 ~ 127,但是基本上我们不会使用的到那么多, 一般只使用前两个, 即我们常用的 COLUMNS 和 ROWS,…
递归的应用有时是非常重要的,特别在迭代一个集合的时候.为什么这么说呢?原因在于迭代在MDX中的使用是基于集合函数的,像 GENERATE() 它们都需要遍历整个集合.但是如果这个集合非常的庞大,我们仅仅只需要在集合中查找一部分特定的东西,那么能够在找到需要的内容时就立刻停止的话,这就可以提高不少效率了. 下面这个查询返回4个财年以及它们总共的 Order Count - SELECT {, NON EMPTY {Descendants([Date].[Fiscal Weeks].[All Per…
这一小节主要介绍如何在一个平行期间的度量值,当前值的对比对象是指当前值的上一年,上一个季度或者其它时间级别上与当前值同一时间点上的的那个对象.有一个非常常见的需求就是对比上一年同一个时间点的某个值来判断在现在同期的时候这个值的大小是上升了还是下降了. 先显示基于月份成员的销售额情况 - 使用 PARALLELEPRIOD(Level, N, Member) 先把同比值查询出来,Level 指定的是年,1 表示 1年前,Member 就是指当前成员并且表示月.所以整个表达的意思就是查询当前成员1年…
在这个小节中我们将计算度量值的 Year To Date 的值,也就是计算从年开始到当前时间成员为止的度量值的累加结果. 下面的这个查询显示了所有以周为单位的 Reseller Sales Amount - 那么如果要计算上图中以周为单位的累加值,应该如何处理? 比如说现在是 Week 28 CY 2005,那么它的 YTD 累加值就是 Week 27 CY 2005 的度量值 + Week 28 CY 2005 度量值. WITH MEMBER [Measures].[Reseller Sal…
有时需要从一些查询结果里排除掉一些成员,当然平常情况下可以通过 MDX 查询中的 WHERE 条件即 Slicer 切片来完成,同样的这里显示的是如何在切片中排除掉一些成员. 先看这一个查询 - , NON EMPTY {[Promotion].[Promotion].MEMBERS } DIMENSION PROPERTIES [Promotion].[Promotion].[Discount Percent] FROM [Adventure Works] 上面的查询返回了12个 Promot…
有时候需要从集合中取出特定的成员但是又不能执行遍历操作,这个时候就可以使用 GENERATE 函数来解决这个问题. 根据地区查询每年的销售额 - SELECT NON EMPTY { , NON EMPTY { FROM [Adventure Works] 现在需要查询每年销售额最高的那个月在各个地区的销售情况. WITH SET [Best month per year] AS Generate( [Date].[Calendar].[Calendar Year].MEMBERS, TopCo…
FORMAT_STRING 属性在处理计算成员(通常是度量值成员)的时候会经常使用到,比如指定标准 Standard, 货币 Currency 或者 Percent 百分比格式.除此之外,还可以自定义一些格式化方式,通常对处理负数,零和空值非常有用. CREATE MEMBER [Adventure Works].[Measures].[Gross Profit formatted] AS [Measures].[Sales Amount] - [Measures].[Total Product…
先直接看一个例子 - WITH MEMBER [Date].[Calendar Year].[CY 2006 vs 2005 Bad] AS ], FORMAT_STRING = 'Percent' SELECT { ], ], [Date].[Calendar Year].[CY 2006 vs 2005 Bad] } * , { [Sales Territory].[Sales Territory].[Country].MEMBERS} FROM [Adventure Works] 首先在…
先认识一下这几个名词 Moving Average (MA) 移动平均,或者叫做移动平均线,是技术分析中一种分析时间序列数据的工具.最常见的就是利用股价,回报或交易量等变数计算出移动平均.可以利用移动平均反映出长期趋势或周期,在数学上这个也叫做卷积 Rolling Average. 还有一个概念叫做 SMA (Simple Moving Average 简单移动平均),是指某个变数之前 N 个数值的累加平均.比如,收市价的10日简单移动平均是指之前10日收市价的平均数,那么这里就可以使用 SMA…
下面的这个查询返回每个财月的 Customer Count 和 基于上个月比较的 Growth in Customer Base 的记录,Slicer 是 Mountain bikes. SELECT { [Measures].[Customer Count], [Measures].[Growth in Customer Base] } , NON EMPTY { FROM [Adventure Works] WHERE ( ] ) 现在来看看如何统计在每个财月中正增长的天数,这是我自己的写法…
转载http://www.cnblogs.com/carbs/archive/2012/04/04/2431992.html 问题:我看的书上写的对私有部分的访问可以是公共部分的成员函数,也可以是友员函数,那么可以直接对私有部分的静态成员进行初始化吗? 回答: 1.static成员的所有者是类本身和对象,但是多有对象拥有一样的静态成员.从而在定义对象时不能通过构造函数对其进行初始化. 2.静态成员不能在类定义里边初始化,只能在class body外初始化. 3.静态成员仍然遵循public,pr…
如何采集QQ群群员QQ号,采集QQ号,批量采集QQ号 众所周知,QQ群群员QQ号无法导出,即使会员也不可以,那我们只能通过三方工具来实现我们的要求,那今天我们讲讲如何通过火车采集器来采集QQ群群员QQ号. 使用工具 火车采集器 抓包工具 Fiddler QQ (轻聊版) 隐藏内容 采集准备 1.开启Fiddler代理 打开Fiddler软件,依次点击Tools – Options – Connections 设置代理端口:Fiddler listens on port : 8888 勾选:All…
简介 装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.它经常用于有切面需求的场景,比如:插入日志.性能测试.事务处理.缓存.权限校验等场景.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能,我们也称之为AOP(面向切面编程) 原理 实现装饰器的最主要的原因是python中一切皆为对象,我们会把方法看做一个对…
zabbix之map拓扑标签中macro应用 请先预习网地图map : 请点击 macro官方文档介绍 : 请点击 1.  Map labels(拓扑图标签)主要注意以下Macros(宏):  MACRO DESCRIPTION {HOST.CONN} IP or host DNS name, depending on host settings {HOST.DNS} Host DNS name {HOST.HOST} Host name {HOST.IP} Host IP address {H…
[公告]本博客于2015年10月起不再更新 新博客文章主要发表在商业智能BI社区: http://www.flybi.net/blog/biwork 博客地图自动分类 文章目录方便更好的导航,阅读文章. 分享与下载 微软产品下载大全(操作系统,SQL SERVER,Office)http://www.itellyou.cn/ 微软示例数据库下载  Microsoft Demo Database Download 微软 DEMO  下载     Microsoft Demo Download SQ…
微软 BI ETL 架构设计 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数 微软 BI SSIS 系列 微软BI 之SSIS 系列 - 在 SSIS 中读取 SharePoint List 微软BI 之SSIS 系列 - 利用 SSIS 模板快速开发 SSIS Package 微软BI 之SSIS 系列 - Lookup 组件的使用与它的几种缓存模式 - Full…
MDX函数(官方顺序) 1.  AddCalculatedMembers (MDX) 返回通过将计算成员添加到指定集而生成的集. 语法: AddCalculatedMembers(Set_Expression) 参数: Set_Expression 返回集的有效多维表达式 (MDX). 默认情况下,MDX在解析集函数时会排除计算成员.AddCalculatedMembers 函数会检查 Set_Expression, 中所指定的集表达式,并包括与该集表达式作用域内所含成员处于同级的计算成员. 此…
开篇介绍 本章主要内容包括: 解释各种不同的 MDX 导航函数的使用: Parent, Children, FirstChild, LastChild, Siblings, FirstSibling, LastSibling, RANK 通过导航函数定位层次结构中的成员: Ancestor, Ancestors, Ascendants, Decendants, Cousin 在层次结构中估算成员的位置: PrevMember, NextMember, Lag, Lead 分析服务中的一个显著的特…
使用场景: 排列指定集的成员,可以选择保留或打乱原有的层次结构. 语法: Numeric expression syntax Order(Set_Expression, Numeric_Expression [ , { ASC | DESC | BASC | BDESC } ] ) String expression syntax Order(Set_Expression, String_Expression [ , { ASC | DESC | BASC | BDESC } ] )   参数:…
SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表 SSRS 系列 - 使用带参数的 MDX 查询实现一个分组聚合功能的报表 2013-10-09 23:09 by BI Work, 184 阅读, 0 评论,收藏, 编辑 基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语法了而应该使用 MDX 查询.关于 MDX 和其它 S…
在熟悉完下面这三种维度的创建方式之后,就可以开始创建我们的第一个 Cube 了. SSAS 系列 - 自定义的日期维度设计 SSAS 系列 - 基于雪花模型的维度设计 SSAS系列 - 关于父子维度的设计 我们将使用下面的这些脚本来创建一些维度表和事实表,数据源的来源是 AdventureWorksDW2012,但由于数据列太多因此我精简了一些表并且自定义了 DimDate 表. USE BIWORK_SSIS GO SET NOCOUNT ON IF OBJECT_ID('FactIntern…
基于数据仓库上的 SSRS 报表展示,一般可以直接通过 SQL 查询,存储过程,视图或者表等多种方式将数据加载并呈现在报表中.但是如果是基于 Cube 多维数据集的数据查询,就不能再使用 SQL 的语法了而应该使用 MDX 查询.关于 MDX 和其它 SSRS 的文章,请参看 BI 系列随笔列表 (SSIS, SSRS, SSAS, MDX, SQL Server) 这是我们要实现的报表效果,使用的数据库示例是 MDX Step by Step 2008 的 SSAS DEMO 数据库. 收起的…
摘录于MSDN MDX 的一些重要概念 1. MDX 介绍 多维表达式 (MDX) 是用于在 Microsoft SQL Server Analysis Services (SSAS) 中处理和检索多维数据的查询语言. MDX 基于 XML for Analysis (XMLA) 规范, 并带有特定于 SQL Server 2005 Analysis Services 的扩展. MDX 使用由标识符, 值, 语句, 函数和运算符组成的表达式, Analysis Services 可以通过计算表达…
1. Set  - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[Category].[Bikes]), ([Product].[Category].[Clothing]), ([Product].[Category].[Components]) } 从这个例子中可以看到Set的几个特点: 一个Set 中可以包含一个或者多个 Tuple 元组 在 Set 中的每一…
一.基本概念 MDX:一种查询语言,从多维的数据集单元格中检索数据.支持两种不同的模式: 1.表达式语言:定义和操纵Analysis Services对象和数据以计算值 2.查询语言:从Analysis Services中检索数据 层次结构和层次结构成员:多维数据集中的维度具有一个或者多个层次结构.并且每个层次结构包括一个或者多个级别. 例如:Date维度Calendar层次结构包括五个层次结构级别:Calendar Year,Calendar Semester,Calendar Quarter…
另:15个经典的MDX查询语句 另:http://www.cnblogs.com/biwork/p/3437959.html 1.排名+排序+量值过滤: WITH member [Measures].[排名] AS IIF (ISEMPTY ([终端销售数量]), NULL , RANK ([货品].[品牌]. CurrentMember, ORDER (AddCalculatedMembers([货品].[品牌].CurrentMember.Siblings), [终端销售数量], DESC…
1.1.members和Children的用法. select [Measures].[Internet Sales Count] on columns, [客户].[全名] on rows from [Adventure Works DW] 默认显示的是[全部客户的总销售量],即只有一个数据(前提是这个度量下有多个值) 如果要显示所有客户的销售量,在要全部显示具体的那个轴上加上.members: select [Measures].[Internet Sales Count] on colum…
  07.01 成员变量和局部变量的区别 1.在类中的位置不同 成员变量    类中方法外 局部变量    方法内或者方法声明上 2.在内存中的位置不同 成员变量   堆内存 局部变量   栈内存 3.生命周期不同 成员变量   随着对象的存在而存在,随着对象的消失而消失 局部变量   随着方法的调用而存在,随着方法的调用完毕而消失 4.初始化值不同 成员变量   有默认的初始化值 局部变量   没有默认的初始化值,必须先定义,赋值,才能使用. 07.02 方法的形式参数是类名的调用 例: cl…
开篇介绍 SSAS 分析服务中记录了大量的聚合值,这些聚合值在 Cube 中实际上指的就是度量值.一个给定的度量值可能聚合了来自事实表中上千上万甚至百万条数据,因此在设计阶段我们所能看到的度量实际上就已经应用了某些聚合函数来决定这个值怎样被聚合. 当然有可能已有的度量值远远还不够,还需要在查询的时候继续从不同的角度去聚合一些数据以满足实际需求,因此就会使用到各种不同的 MDX 聚合函数. Sum 聚合 Sum 聚合的应用非常普通和常见,在 MDX 中其语法为: Sum ({SET} [, Exp…