知识库 : olap计算中改变MDX的操作器介绍

在多维分析中,用户可以对报表样式进行个性化的展示,在透视表节点中,可以对现有报表进行过滤、排序、上钻、下钻等操作。这些操作实际是对当前查询的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

使用财务类分析函数构造计算成员,对指标成员进行添加序号