6.4、calculate member【计算成员】的实现原理
来源:互联网 发布:太原上知教育 编辑:程序博客网 时间:2024/05/16 12:34
Calculate member【计算成员】的实现原理
1 计算成员的使用与普通的层次结构成员一样,但它是基于普通层次结构成员计算得来,不保存在cube中
2 计算成员也必须依附于某一层次结构,也就是依附于某根轴上,如果没有指定则落在默认的度量值轴上
3 声明计算成员
withmember [x] as1+2+3 select [x] on 0from [Park]
此计算成员将1+2+3返回的结果
4 含有动态表达式的计算成员
withmember [sum] as ([Date].[YearNum].&[2015], [Measures].[In Count])+ ([Date].[YearNum].&[2016], [Measures].[In Count]) select [sum] on 0from [Park]
此计算成员返回两个tuple(元组)的cell的value的和,这两个元组是局部元组,自动补齐后可以定位cell,cell中的value相加就是返回的结果
5 计算成员的实现原理
计算成员如下:
withmember[Date].[Year Num].[2015+2016] as ([Date].[YearNum].&[2015])+([Date].[Year Num].&[2016]) select { [Measures].[In Count] }on 0 ,non empty{ [Date].[Year Num].allmembers }on 1from [Park]
返回的结果包含了计算成员[Date].[YearNum].[2015+2016],也就是2015与2016年的和。这是如何实现的呢?
首先,通过allmembers访问到了计算成员[Date].[YearNum].[2015+2016],于是与select形成局部元组,如下:
( [Date].[Year Num].[2015+2016], [Measures].[In Count], ………)
计算成员由于包含两个局部元组([Date].[Year Num].&[2015])与([Date].[Year Num].&[2016]),以上的局部元组将拆分为两个局部元组。
为了补充计算成员的这两个局部元组,SSAS不再像从前一样按规则补充。【有一点非常重要就是,这两个局部元组只会引用自己所没有的层次结构的其它成员】
因此,因为[Date].[YearNum]层次结构【轴】与[Measures]层次结构【轴】已经存在,那么这两个轴将不会再被补充,而自动补充其他缺省的轴,结果如下:
( [Date].[Year Num].[2015], [Measures].[In Count] , ………)+( [Date].[Year Num].[2016], [Measures].[In Count] , ………)
这样,根据不全的元组,ssas能够找到相应的点,也就是单元格,再将单元格的value相加就得到了计算成员的结果
- 6.4、calculate member【计算成员】的实现原理
- 显示接口成员实现(explicit interface member implementation)总结
- 成员模板(member template)
- Item 24. 成员函数的查找(Member Function Lookup )
- C++ 成员函数指针的问题 pointer-to-member-function
- HDU 2114 Calculate S(n) (立方和的计算)
- AE开发之Geoprocessor的字段计算Calculate Field问题
- 云计算数据中心网络安全的实现原理
- C++函数编译原理和成员函数的实现
- CPP中函数编译原理和成员函数的实现
- C++函数编译原理和成员函数的实现
- 再看成员模板---member template
- 成员指针(pointer-to-member)
- C#中的显式接口成员实现(explicit interface member implementation)
- C++惯用法:通过成员模板实现隐式转换(Coercion by Member Template)
- offsetof(TYPE, MEMBER)宏和container_of(ptr, type, member)宏的实现
- 类的对象不可做自身的数据成员(data member)
- 编译原理---四则运算表达式的计算简单实现
- iOS开源项目周报0302
- 文件输入输出流的简单用法
- 嵌入式linux下使用qt virtualkeyboard
- RN单页面系统登录页导航器问题
- C语言_指针随笔
- 6.4、calculate member【计算成员】的实现原理
- 安装Cygwin不能找到下载镜像地址的解决办法
- 软件过程
- .bat文件中echo和@的用法
- H5项目常见问题及注意事项
- PKU 1200 Crazy Search (疯狂搜索)Hash表还差7题
- 原生态php抠出table表格数据,并转换成json格式
- 一篇很全面的freemarker教程
- iOS类方法