MSBI-MDX
文章平均质量分 73
soldierluo
羽毛球
展开
-
Web连接cube,并将CellSet转成DataTable
Web连接cube,并将CellSet转成DataTable 1. 正常情况下我们使用ssrs连接cube,但是由于ssrs的局限性以及其它需求的存在,我们希望直接通过web应用程序来连接cube,就像直接连接sqlserver、oracle等数据库一样。 2. 如果要通过web程序连接ms的cube的话,我们需要通过一个额外的组件即ADOMD.NET来原创 2016-02-05 10:54:34 · 1509 阅读 · 0 评论 -
6.10、提取【extract】、与聚合【sum、aggregate、avg】
提取【extract】、与聚合【sum、aggregate、avg】 1 Extract(set, hierarchy[,hierarchy])从set中抽取轴(层次结构)形成新的局部元组,select [Measures].[In Count] on 0, //([Date].[Year Num].&[2016],[Date]原创 2017-03-02 18:05:31 · 398 阅读 · 0 评论 -
6.15、同环比、累加、累加平均、滚动累加、滚动平均
同环比、滚动累加、滚动平均 1 同期与同比使用cousin和parallPeriod函数都可以获取到同期的成员,但是一般用cousin因为使用起来比较简单,示例withmember [同期] as ( cousin( [Date].[年-月-日].cu原创 2017-03-02 18:02:05 · 3124 阅读 · 0 评论 -
6.14、处理时间:PeriodsToDate、LastPeriods、ParallelPeriod
处理时间:PeriodsToDate、LastPeriods、ParallelPeriod 1 PeriodsToDate(level, member)在指定的级别内,返回级别第一个到指定成员间的所有成员,例:select { [Measures].[In Count] }on 0,原创 2017-03-02 17:59:58 · 784 阅读 · 0 评论 -
6.13、旁系亲属与级别内导航
访问旁系亲属与级别内导航 1 访问旁系亲属1.1 Ancestor(member, level |distanct),访问某一层级的祖先成员1.2 Ancestors(member),返回成员的所有祖先成员1.3 Descendants(……),访问在指定级别或距离上的后代1.4 Cousin原创 2017-03-02 17:58:31 · 474 阅读 · 0 评论 -
6.12、层次结构导航
层次结构导航 1 访问层次结构中的其它成员1.1 Parent:父成员1.2 Children:所有子成员1.3 firstChild:第一个子成员1.4 lastChild:最后一个子成员1.5 siblings:所有兄弟成员1.6 firstSibl原创 2017-03-02 17:57:28 · 366 阅读 · 0 评论 -
6.11、max、min、count、distinctCount、generate
max、min、count、distinctCount 1 Max(set [, expression])获取集合中的最大值withmember[Date].[Year Num].[max] as max( [Date].[Year Num].[YearNum].members )mem原创 2017-03-02 17:54:00 · 317 阅读 · 0 评论 -
6.9、union、intersect、exception
复杂集合的处理union、intersect、exception 1 语法Union(set1, set2[,All]),返回两个集合合并后的集合Intersect(set1, set2[,All]),返回两个集合交叉部分的集合Exception(set1, set2[,All]),返回set1中与set2不交叉部分的集合 2原创 2017-03-02 17:45:10 · 269 阅读 · 0 评论 -
6.8、filter与nonempty
Filter过滤与nonempty非空函数 1 Filter(set, expression)返回表达式为true的成员的集合,类似于IIF,但IIF是针对单个成员的,而filter过滤集合中每一个成员。例:select { [Measures].[In Count],原创 2017-03-02 17:43:31 · 809 阅读 · 0 评论 -
6.7、order、范围操作、topCount、item
order、范围操作、topCount、item 1 Order(set, expression[,flag])Order函数根据表达式返回的值进行排序,如下select { [Measures].[InCount], [Measures].[OutCount]原创 2017-03-02 17:42:27 · 699 阅读 · 0 评论 -
6.6、计算成员避免无限循环与solve_order
计算成员避免无限循环与solve_order 1 Avoiding Infinite Recursion 避免无限循环计算成员如下:withmember [Date].[Month Num Of Year].[hours] as ([Hour].[HourKey].&[11])+([Hour].[Hour Key].&[12]) selec原创 2017-03-02 17:39:22 · 452 阅读 · 0 评论 -
6.5、currentMember、properties、IIF、existing
currentMember、properties和existing 1 currentMember1.1 返回当前成员的引用,该函数应用于计算成员中1.2 访问方法:[dimension].[hierarchy].currentMember1.3 可通过该函数访问成员的属性1.3.1 currentMe原创 2017-03-02 17:37:09 · 770 阅读 · 0 评论 -
6.4、calculate member【计算成员】的实现原理
Calculate member【计算成员】的实现原理 1 计算成员的使用与普通的层次结构成员一样,但它是基于普通层次结构成员计算得来,不保存在cube中 2 计算成员也必须依附于某一层次结构,也就是依附于某根轴上,如果没有指定则落在默认的度量值轴上 3 声明计算成员withmember [x] as1+2+3原创 2017-03-02 17:34:42 · 706 阅读 · 0 评论 -
6.3、auto-exists、exists、non empty
auto-exists、exists、non empty 1 Auto-exists【自动匹配】当我们在使用crossJoin来关联两个集合时,不是两边所有的元组都能形成关联关系,这时,auto-exists就会自动判断其中的关联,将有关联的保留 2 Exists(setA, setB)返回在setA中与setB相关关联的那些setA的成原创 2017-03-02 17:32:07 · 445 阅读 · 0 评论 -
6.1、Cube(多维数据集)、tuple(元组)、member(成员)
Cube(多维数据集)、tuple(元组)、member(成员) 1 在OLAP服务中,cube是以多维空间的形式来呈现的,多维空间是由多个维度,也即多个轴来构成的,比如一维空间由一根轴构成,二维空间由两根轴构成,三维空间由三根轴构成,以此类推N维空间由N跟轴构成 2 在cube中,每一个维度的hierarchy【属性层次结构】都形成一个【轴】,原创 2017-03-02 17:26:59 · 801 阅读 · 0 评论 -
6.2、set、select、members、crossJoin
Set【集合】 1 Set【集合】由tuple【元组】组成,是一个或多个元组的集合,由【大括号】括起,逗号分隔,如:{ (tupleA), (tupleB), ………} 2 Set中每一个元组的成员都对应相同的层次结构,和相同的排列顺序,否则将出错,如: {原创 2017-03-02 17:29:39 · 336 阅读 · 0 评论 -
6.10、提取extract、与聚合(sum、aggregate、avg)
提取extract、与聚合(sum、aggregate、avg) 1 Extract(set, hierarchy[,hierarchy])从set中抽取轴(层次结构)形成新的局部元组,select [Measures].[In Count] on 0, //([Date].[Year Num].&[2016],[Date].[原创 2017-03-02 17:51:06 · 762 阅读 · 0 评论