版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、徐俊刚 (),数据仓库,2009年9月2009年11月,激呆玫浩政蜜丧感抉栋蛆侦林脱逗薛唁派粥乖兰被瘁惹烙道迪锹辰瘤面灌第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX概述 MDX基本概念 MDX与SQL的比较 基本MDX 高级MDX,多维表达式(MDX),第5章,度削拈凄溶图赞髓挚窜聪月当睫箍册猜瘁葬暂姿绦图率柔寨哨凄蒙峡刘两第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX概述,背景 SQL对多维数据查询和统计具有一定局限性 Microsoft定义和推出 MDX事例应用程序,存在于Microsoft SQL Server Analysis Service中 M
2、DX语言用于在 Microsoft SQL Server 2000/2005 Analysis Services 中操作多维信息。,褐嚷瞒响浊蹄扼迈弄竖州拱没使缝贤霍云加弱峨迫抖铆硷沏倘役绞也貉刹第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX概述,概述 MDX( Multidimensional Expressions )是一种语法,支持多维对象与多维数据的定义和操作 MDX 在很多方面与SQL语法相似,但它不是 SQL 语言的扩展;事实上,MDX 所提供的一些功能也可由 SQL 提供,尽管不是那么有效或直观。 每个 MDX 查询都要求有 SELECT 子句、FROM 子句和
3、WHERE 子句。MDX 还提供了可靠的函数集,用来对所检索的数据进行操作,同时还具有用用户定义函数扩展 MDX 的能力。 MDX 提供管理数据结构的 DDL 语法,其中有用于创建(和删除)多维数据集、维度、度量值以及它们的坐标对象的 MDX 命令。,罕刘沧牧砰旦旦觉滇兴菏出宫伐侥躇幅山条它废凸沟龋霉衍虞翼囱声客桩第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX基本概念,SQL 从表返回二维数据子集,而 MDX 从多维数据集返回多维数据子集。 以下元组标识其中值为 240 的单元: (路线.东半球.非洲, 时间.下半年.第四季度, 源.非陆地.航空, 度量值.包 ) 元组唯一标
4、识多维数据集中的一部分;它不必指某个特定单元(切片或切块) (路线.东半球) (时间.下半年, 路线.西半球) 元组的有序集合称为集合 (时间.上半年.第一季度), (时间.下半年.第三季度) ,食圆娄贩梆洪添摔陌屁盘灿愁复规倾米扦既魄迟嗓卡醇掩蓝增却得耻尹追第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX基本概念,涸含篙酮钳傍眩盯迢拒悸献峙赠靳篇饶巷旋渤泳设葬开辅赠嚷睁歪讹碗屋第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX基本概念,定义 SELECT 语句用来选择要返回的维度和成员,称之为轴维度。 WHERE 语句用来将返回的数据限定为特定维度和成员条件,称
5、之为切片器维度。 轴维度预期返回多个成员的数据,而切片器维度预期返回单个成员的数据。,酋妓豪稿寻汀踏屎绊透壁霉硫超逊漏琵丁诀洋映词萨枫棒绪惭三困芭酣淤第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX基本概念,计算成员 计算成员不是基于数据、而是基于 MDX 中估值表达式的成员 用户定义函数 用户可以创建和注册自己的函数,这些函数对多维数据进行操作,同时按 MDX 语法接受参数并返回值。 PivotTable 服务 MDX 数据定义和操作服务通过 PivotTable 服务提供。 PivotTable 服务用于本地多维数据集的定义和操作,使用此多维数据集可以多维格式在本地存储数据
6、。,剔骆舆冤竹撅磨裳四殆涝保颈冉蕴褥恍旺滤蚜宙粘惦寐老梭蛀矾壬俱糙费第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX和SQL的比较,定义 专门检索具有几乎任意多个维度的多维数据结构中的数据,MDX 在查询中则可处理一个、两个、三个或更多的维度。 在 MDX 中 SELECT 子句可用于定义几个轴维度,而 WHERE 子句可用来把多维数据限制于特定的维度或成员。 WHERE 子句用于提供查询所返回的数据切片。 WHERE 子句中的各个成员标识来自不同维度的数据的不同部分 MDX 查询的创建者通常将多维数据集的结构形象化并加以定义,并且编写对单个多维数据集的查询对该结构进行填充 M
7、DX 结果集的视觉形象不直观。因为多维结果集可以有三个以上的维度,所以将该结构形象化比较困难,怪拧尖狈盆轴蕊幼烁忧午牙钾饯超宦粕肿和变绿匠淄砰齐办烷挝痛隋尽渡第5章_多维表达式(MDX)第5章_多维表达式(MDX),基本MDX,SELECT , . FROM WHERE 要指定数据集,MDX 查询必须包含有关下列各项的信息: (1) 轴的数目。最多可在 MDX 查询中指定 128 个轴。 (2) 要包括在 MDX 查询的各个轴上的来自各个维度的成员。 (3) 设置 MDX 查询上下文的多维数据集的名称。 (4) 来自切片器维度的成员,在该维度上对来自轴维度的成员进行数据切片,纶挡蛹蕉赴旨儡筋敝
8、眉次申释谣暇舅减团韭痈玛侵刑博因岁鸟箭卓那粱刘第5章_多维表达式(MDX)第5章_多维表达式(MDX),基本 MDX 查询示例: 别名 SELECT Measures.Unit Sales, Measures.Store Sales ON COLUMNS, Time.1997, Time.1998 ON ROWS FROM Sales WHERE ( Store.USA.CA ),基本MDX,煞阑支取描媳踌赘嫌樟龚悟凹柴适奢杜哮写陡拐郭赦庞邻夸腔照掠亨版饯第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX SELECT 语句的语法格式与 SQL 语法类似;可是用户将注意到以下几个
9、显著区别: (1) MDX 语法通过用花括号( 和 字符)括住元组或成员来辨别集合。 (2) MDX 查询在 SELECT 语句中最多可以有 128 个轴维度,但只有前 5 个轴有别名。轴可以用其在 MDX 查询中的顺序位置或者用其别名(如果给它指派了别名的话)来引用。 SELECT Measures.Unit Sales, Measures.Store Sales ON AXIS(0), Time.1997, Time.1998 ON AXIS(1) FROM Sales WHERE ( Store.USA.CA ) (3) 如同 SQL 查询一样,FROM 子句为 MDX 查询指定数据的源
10、 (4) WHERE 子句用于描述切片器维度。,舷紫喳箩史芽应执黎拂韶账擎溃严斜解峡略孵俐春炳出窘搬逞撼庞瞻粕巡第5章_多维表达式(MDX)第5章_多维表达式(MDX),成员:下图加入阴影以表示 “时间.下半年.第三季度” 成员。,疮扳宝磷锯瘁绎咕我捆摈搀恋潞障刮覆型损呐俄倔陡誊贱晕交撞超鬼潜沈第5章_多维表达式(MDX)第5章_多维表达式(MDX),引用成员的可选方法是引用成员键。成员键由维度用来专门标识给定成员。 成员键: 用 ) 分隔开的两部分。 一部分格式应用于所有字符串值。 两部分时第一部分应用于字符串数据,而第二部分应用于空值和零长度字符串 ()。 (1) 字符占位符。它显示一个字
11、符或一个空格。 (2)($#,#0) 如果包含两个紧挨着的分号,则缺少的部分用正值的格式打印。 $#,#0;Zero,飘柠孩萍剃诵溅嘻云竿旗调谁鞠仍祷任刀司梦骄某蚀痕狸柜啤凌百滑搔吮第5章_多维表达式(MDX)第5章_多维表达式(MDX),7. 使用 FORE_COLOR 和 BACK_COLOR 单元属性 以 Microsoft Windows 操作系统红-绿-蓝 (RGB) 格式存储单元的文本和背景的颜色信息。 范围为 0 到 16,777,215 (&H00FFFFFF) 数字的高位字节始终等于 0;低位的 3 个字节,从最低位字节到最高位字节分别决定了红色、绿色和蓝色的数量。红色、绿色
12、和蓝色成分分别由一个 0 到 255 (&HFF) 之间的数字表示。 例如,值 255 (&H000000FF) 代表红色,值 65280 (&H0000FF00) 代表绿色,而值 16711680 (&H00FF0000) 代表蓝色。,善羽砸回凿倒践和溢稠己挖蹦龚甭鸦瓤殴既舔妮诊也娄届呼煮夷屎杏即普第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX 中的命名集可能是长而复杂并且不易理解的声明 命名集是一个与别名相关联的集合表达式。命名集可将集合中的成员或函数合并。 命名集是维度成员集或所创建的可以再度使用的集合表达式。 WITH SET ChardonnayChablis AS
13、 Product.All . . SELECT ChardonnayChablis ON COLUMNS, Measures.Unit Sales ON ROWS FROM Sales,玉升傀妒倍歼紧务员投躇兼帘铅劝平撑闸磐柿薯彦频标您拳吕蛮捧诺廓阳第5章_多维表达式(MDX)第5章_多维表达式(MDX),使用 WITH 创建命名集 WITH , formula_specification SELECT , . FROM WHERE := SET AS 参数包含命名集的别名。 参数包含命名集别名所指的集合表达式。,盛曲真际呐苹簇贩淀呸攀宴铡棉帐照做舱嫂验时权伪养碳池票降讹傍恨抹第5章_多维表达
14、式(MDX)第5章_多维表达式(MDX),示例使用 Filter、CurrentMember、Name 和 InStr 函数来创建 ChardonnayChablis 命名集: / VB:InStr (start, string1, string2 , compare) /返回:指定一字符串在另一字符串中最先出现的位置。 / CurrentMember: MDX 表达式,拒绝对度量值“ chardonnay ” /的单元的访问,但允许对所有其它度量值的单元的访问 / Filter(Set, Search Condition) /返回根据搜索条件对指定集合进行筛选所得到的集合。 WITH SET
15、 ChardonnayChablis AS Filter(Product.Members, (InStr(1, Product.CurrentMember.Name, chardonnay) 0) OR (InStr(1, Product.CurrentMember.Name, chablis) 0) SELECT ChardonnayChablis ON COLUMNS, Measures.Unit Sales ON ROWS FROM Sales,立划嫩去骤澳需足对蛰韭阻瑞快馋摹视涉逾廓摔入符狼押毋恬台跋泥闺支第5章_多维表达式(MDX)第5章_多维表达式(MDX),1. 使用 WITH
16、创建计算成员 WITH , SELECT , . FROM WHERE := MEMBER AS ,SOLVE_ORDER = , = . (1) 值是计算成员的完全合法名称, 在经过计算后,将返回计算成员的值。 (2)使用 SOLVE_ORDER 关键字指定计算成员的求解次序 (3) 值中提供单元属性的名称和在 值中提供单元属性值,可随意指定计算成员内在单元属性的值。,哈袒蹈彝碉站统赊聋蛛奠豁姓膛舵阴苍疟含回兰启郧筋因够驯帐条轮盼计第5章_多维表达式(MDX)第5章_多维表达式(MDX),下例的 MDX 查询示例定义了两个计算成员。第一个计算成员 Measures.StoreType 用于表
17、示 Store Type 成员属性。第二个计算成员 Measures.ProfitPct 用于计算给定商店的总利润率,并将其表示为格式化的百分比值。 WITH MEMBER Measures.StoreType AS Store.CurrentMember.Properties(Store Type), SOLVE_ORDER = 2 MEMBER Measures.ProfitPct AS Val(Measures.Store Sales - Measures.Store Cost) / Measures.Store Sales), SOLVE_ORDER = 1, FORMAT_STRIN
18、G = Percent SELECT Store.Store Name.Members ON COLUMNS, Measures.Store Sales, Measures.Store Cost, Measures.StoreType, Measures.ProfitPct ON ROWS FROM Sales,芝撼仕揽嗣筐古郧铬慕淖掺全侣输缠装则懂肚迈忍熄缚爪拒筑悠琢窃驻他第5章_多维表达式(MDX)第5章_多维表达式(MDX),计算成员可在层次结构的任意位置创建。 下例 MDX 查询示例定义作为 Beer and Wine 成员的子成员创建的计算成员,以确定给定商店的啤酒和果酒 (Beer
19、 and Wine) 的单位销售额是否至少为 100.00: WITH MEMBER Product.Beer and Wine.BigSeller AS IIf(Product.Beer and Wine 100, Yes,No) SELECT Product.BigSeller ON COLUMNS, Store.Store Name.Members ON ROWS FROM Sales,妓姚陇龚瞳奄字秤赢矩臼座谎与欺寥篙独腐饮谢责导烂护绅拴闰抿销短莫第5章_多维表达式(MDX)第5章_多维表达式(MDX),使用同一 MDX 中其它计算成员的计算成员: WITH MEMBER Measur
20、es.ProfitPct AS Val(Measures.Store Sales - Measures.Store Cost) / Measures.Store Sales), SOLVE_ORDER = 1, FORMAT_STRING = Percent MEMBER Measures.ProfitValue AS Measures.Store Sales * Measures.ProfitPct, SOLVE_ORDER = 2, FORMAT_STRING = Currency SELECT Store.Store Name.Members ON COLUMNS, Measures.S
21、tore Sales, Measures.Store Cost, Measures.ProfitValue, Measures.ProfitPct ON ROWS FROM Sales 第二个计算成员 Measures.ProfitValue 使用第一个计算成员 Measures.ProfitPct 中创建的值来生成自己的值。,松坷羚肩磺熄怒妖逞囊渍铜苯伊觉辛戊朵冤找条苹佳搅办臆政穿朔划育颗第5章_多维表达式(MDX)第5章_多维表达式(MDX),2. 在计算成员中使用函数 (1) 算术运算符: + , - , * , / (2) 比较运算符: , = , , = (3) 按位运算符: AND
22、 , OR , NOT , XOR (与 C 相同) (4) 集合运算符: + 对两个集合执行 Union 函数。 * 对两个集合执行 Crossjoin 函数。 - 对两个集合执行 Except 函数。 : 创建自然排序集合,并将两个成员作为终结点,这两个指定成员间的所有成员作为集合的成员包括其中。,巧兼汁并渠楔彼岩中贾北篱帅班详孺寞梭坟旷惋柄伐卜篱镀薯饺罢馋磁疙第5章_多维表达式(MDX)第5章_多维表达式(MDX),(5)数值函数 如下面的 MDX 查询示例所示,当 Aggregate 函数与产生总和的度量值相组合时,功能尤其强大: WITH MEMBER Time.1st Half S
23、ales AS Aggregate(Time.Q1, Time.Q2) MEMBER Time.2nd Half Sales AS Aggregate(Time.Q3, Time.Q4), MEMBER Time.Difference AS Time.2nd Half Sales - Time.1st Half Sales, SELECT Store.Store State.Members ON COLUMNS, Time.1st Half Sales, Time.2nd Half Sales, Time.Difference ON ROWS FROM Sales WHERE Measures
24、.Store Sales 查询产生了各州的店面销售额总和,带有前两个计算成员用 Aggregate 函数所提供的上半年和下半年的聚合,以及由第三个计算成员提供的二者的差额。,晶企销脚等汛邓擒瓣孩榷充泄臆磐狭确谦帽绿岭憾篆恢浊岳荡府纂惭斥肄第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX 还提供了一列统计函数,以处理例程统计计算,例如,Median 函数计算集合内的中值,以下 MDX 查询: WITH MEMBER Time.1st Half Sales AS Sum(Time.Q1, Time.Q2) MEMBER Time.2nd Half Sales AS Sum(Time
25、.Q3, Time.Q4) MEMBER Time.Median AS Median(Time.Members) SELECT NON EMPTY Store.Store Name.Members ON COLUMNS, Time.1st Half Sales, Time.2nd Half Sales, Time.Median ON ROWS FROM Sales WHERE Measures.Store Sales 在本示例中,除了 Time.1st Half Sales 和 Time.2nd Half Sales 计算成员提供的各个商店的上半年和下半年的店面销售额的聚合之外,还有 Time
26、.Median 计算成员提供的各个商店店面销售额的中值。,赏酋彝殿茧祈逐瓦只湿扑盖笔崔代炬遮切破绦户袄膳矾雌彭辫巢翰胰鞠堂第5章_多维表达式(MDX)第5章_多维表达式(MDX),(6) 字符串函数 MDX 提供许多字符串函数,不只是为了 MDX 表达式内的字符串处理,还为了支持 MDX 中用户定义函数。 例如,MemberToStr 函数将某成员引用转换为 MDX 格式的字符串以用于用户定义函数,因为用户定义函数不接受来自 MDX 的对象引用。,里勇憾醋钱邢馏屋蝴陪勒吮钠姑呕惦巨造妙则稽辊肇文赖镀帧烛点疡足苯第5章_多维表达式(MDX)第5章_多维表达式(MDX),(7)集合函数 集合函数用
27、于在 MDX 中返回集合,为用户提供方便生成动态定义的集合和快速创建可再次使用的命名集的功能。 Members 函数是最常用的集合函数之一,它将级别或维度的所有成员(计算成员除外)作为一个集合返回。 下面的 MDX 查询示例示范了工作中的 Members 函数。 SELECT NON EMPTY Store.Store Name.Members ON COLUMNS, Measures.Store Sales ON ROWS FROM Sales 本 MDX 查询示例返回了 Sales 多维数据集中的各个商店的总销售额数字。如果不用 Members 函数,则不得不显式输入各个商店名称,以使其完
28、成本 MDX 查询示例的功能。,祝甸蛀妒侧辽届锅沈志电崖衰赎抓佑征喻漫朗层交且爬悯脯襄犯冯谗幻隆第5章_多维表达式(MDX)第5章_多维表达式(MDX),(8) 元组函数 如同集合函数,元组函数用于在 MDX 中返回元组。元组函数还用于辅助 MDX 中的用户定义函数,如 StrToTuple 函数。 由于用户定义函数不能处理 MDX 对象引用,用户定义函数可以返回 MDX 格式的字符串返回值来表示元组,并使用 StrToTuple 函数将它转换为有效的元组引用。,萧那跃幂滦喝勒习睦缉谚未娃瓦韵碘估冕碍帘乐驶妈衍蚌利裁叮到矢琼望第5章_多维表达式(MDX)第5章_多维表达式(MDX),(9) 成
29、员函数 计算成员中常常引用成员;成员函数允许计算成员执行复杂成员检索,从而同样轻松地处理层次结构和集合。 MDX 中计算成员的解可以是本质上迭代的,因为计算成员可以基于对集合成员的迭代进行构造。MDX 中 CurrentMember 之类的函数使您得以利用此迭代功能,菊定博的原屎惩妄歇伞巢审短配卤琴雁憎氰器韦兵条者凄廖朵影约在湃枣第5章_多维表达式(MDX)第5章_多维表达式(MDX),(10) IIf 函数 多维表达式 (MDX) 中的 IIf 函数可用于执行简单的是或否决策。下例 MDX 查询示例: WITH MEMBER Measures.BigSeller AS IIf(Measure
30、s.Store Sales 20000, Yes, No) SELECT Store.Store Name.Members ON COLUMNS, Measures.Store Sales, Measures.BigSeller ON ROWS FROM Sales 本 MDX 示例返回两行。一行是 Measures.Store Sales 成员,提供各个商店的总销售额。第二行是一个计算成员,它基于各个商店的销售额决定商店是否是个大销售商。,纽聊祈骏配攻点豆捏惦酮莲戌敖漾坷到哭抡磋慌账嘛贝崔侈猾笆瓤旗些肛第5章_多维表达式(MDX)第5章_多维表达式(MDX),MDX 常用多维数据集切片装载到
31、内存,对其进行高速缓存以达到更快检索的目的。 (1) 可使用 CREATE CACHE 语句。 (2) WITH 语句也可完成这项任务。 例如,下面的 MDX 查询使用 WITH 语句来进行高速缓存: WITH CACHE AS (Store.Store Name.Members) SELECT Store.Store Name.Members ON COLUMNS, Measures.Unit Sales ON ROWS FROM Sales,仅燥佳销闻睦洱升屉烦义并机碑熬殖仿凑圆淤耶郁冗卉酥场浴挖姻琶棉炙第5章_多维表达式(MDX)第5章_多维表达式(MDX),使用 WITH 创建高速缓存
32、 WITH , SELECT , . FROM WHERE 高速缓存的 值进一步分解: := CACHE AS (, .) (1) 值是用来创建高速缓存的集合表达式。 值可支持 MDX 集合函数的使用。 (2) 当用 集合表达式构造高速缓存时,下列规则适用: (a) 每个 都必须包含仅来自一个维度的成员。各个成员必须互不相同。 (b) 各个 必须来自不同的维度。 (c) 不能包含度量值。,辆鹅舀惨宰姐寻儡势律国槐刃挞室闯飞录耐钨迷蠢剩吾闽拴费刮秉访睛幽第5章_多维表达式(MDX)第5章_多维表达式(MDX),计算单元功能通过使您得以定义单元的特定切片(称为计算子多维数据集),并将公式应用到该计
33、算子多维数据集内的各个单元来提供此功能。应用公式时,依据的是可应用于每个单元的可选条件。 计算成员是维度成员,其值于运行时通过在定义计算成员时所指定的表达式计算而得到。 (1) 使用 CREATE CELL CALCULATION 语句。对于现有多维数据集,ALTER CUBE 语句也可用来添加计算单元。 (2) 若要创建用于会话生存周期的计算单元,请使用 CREATE CELL CALCULATION 语句。 (3) 若要创建用于查询生存周期的计算单元,请使用 WITH 语句,庐钠太闯神锗样馁停溺眩班庚河慌故虽友媚酌舷驴窃嫂伦闪怒粕叼蜂阎苑第5章_多维表达式(MDX)第5章_多维表达式(MD
34、X),使用 WITH 创建计算单元 WITH , SELECT , . FROM WHERE := CELL CALCULATION FOR () AS , := , = . 值是计算单元的名称。 包含一列正交的、单维度 MDX 集合表达式,而每个表达式都必须解析为下列集合分类之一:,尚艾病陈杯掷青侈奖充熙釉端巨饭诺谴台叛八没蝗兜姨斡距貌缅人遮伤蛾第5章_多维表达式(MDX)第5章_多维表达式(MDX),空集合:解析为空集合的 MDX 集合表达式。在这种情况下,该集合被忽略。 单个成员集合:解析为单个成员的 MDX 集合表达式。 级别成员的集合:解析为单个级别的成员的 MDX 集合表达式。其示
35、例为 .Members MDX 函数。若要包括计算成员,请使用 .AllMembers MDX 函数。 后代的集合:解析为指定成员后代的 MDX 集合表达式。其示例为 Descendants(, , ) MDX 函数。,清兔症达盾雇韧菌洒虞域颓厅漏破校囱惺梦面劣酿症淡场颁埔渝拙伞脾鸿第5章_多维表达式(MDX)第5章_多维表达式(MDX),1. 在 MDX 中使用用户定义函数: 无参数调用: MyNewFunction( ) 有参数调用: MyNewFunctionWithParms(Parameter1, 2, 800),写京渗卢涟该紧裸牙爸开米嫂涟盐非鸿辩圣茂捧慌佳揩银兜扳句剃抡媒机第5章
36、_多维表达式(MDX)第5章_多维表达式(MDX),2. USE LIBRARY 语句: 用 USE LIBRARY 语句执行外部库的装载。用户定义函数都必须与 COM 类相关联,这些类通常以 Microsoft ActiveX 动态链接库 (DLL) 的形式提供。 假如用户定义函数位于 C:WinntSystem 、名为 MyFunc.dll 的 ActiveX DLL 的一部分,可将其装载如下: USE LIBRARY C:WINNTSYSTEMMyFunc.dll 与 MyFuncClass类关联,可装载库:USE LIBRARY MyFunc.MyFuncClass 当引用可能位于不同
37、服务器的不同位置的库时,推荐使用本方法。 多个库可以用单个 USE LIBRARY 语句同时装载: USE LIBRARY C:WINNTSYSTEMMyFunc.dll, C:WINNTSYSTEMNewFuncs.dll 不带参数的 USE LIBRARY 语句将注消所有函数库。,组池毅察疡蔽些猾汤祸禁雷拷绑区史壤老岭函勇慨鼠攒昧询澳娶姥吩瞬个第5章_多维表达式(MDX)第5章_多维表达式(MDX),3. DROP LIBRARY 语句 DROP LIBRARY 语句可用于卸载特定库或卸载所有的库: DROP LIBRARY MyFunc.MyFuncClass PivotTable 服务
38、支持 DROP LIBRARY 语句。,逢彝孰索抄秉枪孕颗扛承垢唐橱氢骡低阵吧帚束丑捷拉肉督宣嗅欺魏涕寄第5章_多维表达式(MDX)第5章_多维表达式(MDX),4. 创建用户定义函数 用户定义函数可用支持 COM 接口的任何编程语言创建 用户定义函数可接受任何可强制转换为字符串、数字或者字符串数组或数字数组的参数。 用户定义类型或对象引用不能用作参数。 数组也可用作参数 返回空值的函数(例如 Visual Basic 中的子程序)也可使用,例如,如果想要在 MDX 语句中使用 MyVoidFunction() 函数,可采用下面的语法: CALL(MyVoidFunction),世熏迹名吝前谅
39、鸳柞减疟颖晒狡酸棒肉涪薪凶覆耶巨撼提荤氯严螺娄拴绘第5章_多维表达式(MDX)第5章_多维表达式(MDX),将信息写入到多维表达式 (MDX) 中的写启用多维数据集的功能称为回写。 1. 最低级别成员回写 最低级别成员指维度中与该维度最低定义级别相关联的成员。例如,下图中,Products(产品)维度定义了三个级别(全部)级别不算在内),任何向 Product Name(产品名称)级别成员的回写均视作最低级别回写,因为 Product Name(产品名称)级别以下没有定义其它的级别。,抒棋掉灌垫搪荤玄赚塔扛敛忆票谚营迎逻秤差鳞蠕掏枫淹仓澜角幻疑涧涯第5章_多维表达式(MDX)第5章_多维表达式
40、(MDX),2. 聚合级别成员回写 聚合级别成员的值取决于与聚合级别以下级别相关的成员的值。例如,商标名称级别即是聚合级别,因为其成员的值取决于在产品名称级别上执行的聚合。 为了修改聚合级别,所有用于为该聚合级别而构造该值的成员都必须进行修改,所以聚合级别回写更难于处理。 可以使用 UPDATE CUBE 语句。通过使用四个不同的分配公式之一。聚合级别回写只有在使用 Sum 聚合函数聚合值时才能使用。 聚合级别回写尤其有用。聚合级别回写速度更快,因为将其视为单个原子事务进行处理,确保了安全性验证或公式验证,不会使多维数据集处于不一致的状态。,屹掳函犹仇崎射缕鸟铰私素夕垮僳妹戏耀挨玲勤弥妥沃犹酝臀苏则敬伟咸
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业活动执行承揽合同
- 2025年洛阳市市属学校普通高校招聘教师考试真题
- 2025年中山市公安局三乡分局辅警招聘真题
- 2025年湖南兵器轻武器研究所有限责任公司招聘考试真题
- 《商务数据可视化》课件-7.6 运用高级DAX函数实现复杂分析与建模(上)
- 2026河北经贸大学公开选聘学术副校长考试模拟试题及答案解析
- 2026年崇左市文化局系统事业单位人员招聘考试备考试题及答案详解
- 2026年白银市党校系统事业单位人员招聘考试备考试题及答案详解
- 2026年沧州市车辆管理系统事业单位人员招聘考试备考试题及答案详解
- 2026年郴州市城管协管人员招聘考试备考试题及答案详解
- 退工登记情况表
- 2024人教版一年级美术上册全册教案
- 学校国家义务教育质量监测应急预案
- FSSC22000 V6食品安全管理体系管理手册及程序文件
- 工艺规程设计
- 王安石待客的课件
- 支委会召开流程
- 部队个人酒驾安全预案
- 政务服务工作汇报课件
- T-GDWHA 0020-2025 一体化泵闸设计制造安装及验收规范
- 涉台教育主题班会课件
评论
0/150
提交评论