在多维分析中,用户可以对报表样式进行个性化的展示,在透视表节点中,可以对现有报表进行过滤、排序、上钻、下钻等操作。这些操作实际是对当前查询的MDX进行更改,并提交查询请求来获取用户想要的结果。下表就介绍目前Olap计算中涉及到的所有操作器。
操作器分类 | 操作器名称 | 操作器功能 |
过滤操作器 | 维度成员过滤操作器FilterMemberOperator | 把过滤集合替换成所在的轴的表达式,使透视表对应轴上的显示的结果是过滤出来的成员集合 |
删除过滤维度操作器RemoveFilterDimOperator | 将维度成员表达式替换成所在轴上的表达式,去掉过滤信息 | |
过滤指标操作器 FilterMeasureOperator | 透视表发布后的节点,支持对指标设置条件做筛选,改变过滤操作对应的状态。例如选择大于,输入一个数值,对于查询结果做筛选。指标描述器描述内容如下: 1. measureCaption 要过滤的指标 2. condition 过滤条件 包括等于(=) 大于(>) 小于(<)大于等于(>=) 小于等于(<=) between … and…(:) 不等于(<>) 3. values 要过滤的指标的值:数值类型 4.isCancle是否已经取消过滤 举例如下: 比如要在透视表中查看销售总额大于100万的数据,那指标过滤描述器状态为{aptionName:Total,condition: 大于(>), values:100万,isCancle:false} 如果要取消上述过滤条件, 指标过滤描述器状态为{aptionName:Total, condition: 大于(>),values:100万,isCancle:true} | |
钻取操作器 | 成员钻取操作器MemberDrillReplaceOperator | 根据指定的成员名,把此成员维度所在轴上的关于此成员所有集合替换成[维度].[成员].Children |
单值拓展操作器ExtendSingleMemberOperator | 行维度过滤选择单值时,需要取下级成员, 需提供一个新类型的描述器,用于调整行维度过滤,使用children来获取成员的孩子成员 | |
钻取或者展开到特定级别的操作器DrillOrExpand2LevelDownOperator | 可以展开或者钻取到指定的级别,如果钻取只能看到钻取到的级别成员,展开会看到之前透视区域的成员集合和展开成员集合的并集 | |
路径展开钻取操作器DrillPathDownOperator | 向下按照路径钻取 | |
成员上钻操作器 DrillPathUpOperator | 向上按照成员钻取 | |
成员替换钻取操作器DrillReplaceDownOperator | 根据指定的成员名,把此成员维度所在轴上的关于此成员所有集合替换成[维度].[成员].Children | |
向上替换钻取操作器DrillReplaceUpOperator | 向上替换钻取,只能看到向上钻取到的级别 | |
分析操作器(时序、占比) | 结构化分析操作器PivotStructureOperator | 改变计算成员中的表达式,来进行占比、回归分析 |
同比操作器 PeriodParallelOperator | 计算同比 | |
环比操作器 PeriodCycleOperator | 计算环比 | |
基比操作器 PeriodBaseOperator | 计算基比 | |
汇总操作器 | 汇总操作器 DispAggOperator | 设置维度是否显示汇总 |
显示其他汇总操作器DispSurplusOperator | 用户在视图中选择是否显示其他汇总,如果选择进行此操作器的操作 | |
排序排名操作器 | 排序操作器 MemberSortOperator | 对成员进行排序 |
排名分析操作器 PivotRankOperator | 找到对应的轴,生成排名函数,替换原有的表达式,进行排名分析 | |
取消排名操作器PivotRemoveRankOperator | 取消排名函数,重新构造表达式,取消排名效果 | |
展开折叠操作器 | 成员全部展开操作器MemberAllExpandOperator | 展开成员的所有级别 |
成员全部折叠操作器MemberAllCollapseOperator | 折叠所有成员 | |
维度成员集展开操作器ExpandMembersOperator | 判断是否是cube定义中的维度成员,在row/column中查找成员对应的维度,如果没有,则为切片轴,在Row/Column上的时候,把对应维度的所有集合替换成uniqueName组成的集合 | |
所有成员值操作器AllMembersValueOperator | 根据维度名称和指标名称,取得维度下所有成员对应指标的值 | |
维度成员替换操作器 | 维度替换操作器 ReplaceMemberOperator | 可以根据指定的维度替换已有的维度,使用新维度重新构造表达式来替换原有维度的表达式 |
交换成员操作器 SwapMemberOperator | 根据参数生成新的成员表达式,来替换原有成员的表达式 | |
移除维度成员操作器RemoveMemberOperator | 获取所有维度、指标名称,如果和移除的维度或者指标一样的话,将原来的表达式替换成null | |
交换行列轴操作器 | 交换行列轴操作器 SwapAxisOperator | 交换查询中的行列轴 |
显示末级操作器 | 显示末级操作器 DispLastLevelOperator | 维度只显示末级 |
压缩空行\列操作器 | 压缩空行\列操作器 NotEmptyOperator | 将描述器中的是否空行set到query中,进行是否压缩空行的显示 |
添加序号列操作器 | 添加序号列操作器 OrdinalOperator | 使用财务类分析函数构造计算成员,对指标成员进行添加序号 |