MDX常用函数

MDX支持的主要函数
注意:
1. 红色表示常用函数。
2. 详细用法和功能介绍见:https://blog.csdn.net/kundu/article/details/6872846
函数名 功能
成员函数
Ancestor(Level,Member)
Ancestor(Level,numeric)
返回指定级别或指定距离上成员的祖先。
ClosingPeriod(Level,Member) 返回成员在指定级别上的后代中的最后一个兄弟,第二个参数可选。
OpeningPeriod(Levelm,Member) 返回成员在指定级别上的后代中的第一个兄弟,第二个参数可选。
Cousin(Member1,Member2) 返回父成员下方与指定子成员具有相同的相对位置的子成员。主要用于同比计算。
<Dimension>.CurrentMember 返回迭代过程中维度上的当前成员。
<Member>.FirstChild 返回成员的第一个子代。
<Member>.FirstSibling 返回成员的父代的第一个子代。
<Member>.Lag(Numbric) 返回成员,该成员处在其所在维度中指定的成员之前指定的位数上。成员在维度中的位置由维度的自然顺序决定。位置的编号以零为基。
<Member>.LastChild 返回指定成员的最后一个子代。
<Member>.LastSibling 返回指定成员的父代的最后一个子代。
Lead(Numeric) 返回成员,该成员处在其所在维度中指定的成员后指定的位数上。
<Member>.NextMEmber 返回指定成员所在级别的下一个成员。
ParallelPeriod(Level,Numeric,Member) 返回上一时期中与指定成员具有相同的相对位置的成员。第三个参数可选。
<Member>.Parent 返回成员的父代。
<Member>.PrevMember 返回指定成员所在级别的上一个成员。
StrToMember(String) 返回具有多维表达式 (MDX) 格式的字符串表达式中的成员。
集合函数
Ancestors(Member,Level)
Ancestors(Member,Numeric)
返回指定级别或距离的成员的所有祖先的集合。
Ascendants(Member) 返回指定成员的祖先集合。
BottomCount(Set,Count,Numeric Expression) 从集合底端开始返回指定数目的项,可以选择首先对集合排序。第三个参数可选
BottomPercent(Set,Pecentage,Numeric Expression) 对集合排序并返回指定数目的最底部的元素,这些元素的累积合计至少为指定的百分比。
BottomSum(Set,Value,Numeric Expression) 使用数值表达式对集合排序,并返回指定数量的最底端元素,这些元素的和至少为指定的值。
TopCount(Set,Count,Numeric Expression) 从集合顶端开始返回指定数目的项,可以选择首先对集合排序。第三个参数可选
TopPercent(Set,Pecentage,Numeric Expression) 对集合排序并返回指定数目的最上部的元素,这些元素的累积合计至少为指定的百分比。
TopSum(Set,Value,Numeric Expression) 使用数值表达式对集合排序,并返回指定数量的最顶端元素,这些元素的和至少为指定的值。
<Member>.Children 返回成员的子代。
Crossjoin(Set1,Set2) 返回两个集合的矢量积。
Descendants(Member,Level,Desc_flags)
Descendants(Member,numeric,Desc_flags)
返回某一成员在指定级别或距离上的后代集合,可以选择包含或不包含其它级别上的后代。详见https://blog.csdn.net/kundu/article/details/6872846
Distinct(Set) 返回一个集合,并从指定集合中删除重复的元组。从尾部删除重复的元组。
Except(Set1,Set2,ALL) 查找两个集合之间不同的项,可以选择保留重复项。在查找不同的项之前先消除两个集合中的重复项。可选的 ALL 标志保留重复项。清除 «Set1» 中的匹配重复项并保留非匹配重复项。
Filter(Set,Seach Condition) 返回根据搜索条件对指定集合进行筛选所得到的集合。
Generate(Set1,Set2,All) 将集合应用到另一集合的每个成员,然后用 union 运算合并所得的集合。或者,返回一个在某个集合上计算字符串表达式所得的值创建的串联字符串。
Head(Set,Numeric) 返回集合中指定数目的前若干个元素
Hierarchize(Set,POST) 在层次结构中对集合的成员排序。此函数在层次结构中对 «Set» 的成员排序。除非使用 POST 关键字,否则当未指定其它排序条件时,级别中的成员按其自然顺序排序,这是维度上的成员的默认排序顺序。POST 关键字使用后采用后序排序,即以后序方式遍历层级树。
Intersect(Set1,Set2,ALL) 返回两个输入集合的交集,可以选择保留重复项,此函数返回 «Set1» 和 «Set2» 的交集。根据默认设置,在相交之前先删除两个集合中的重复项。 可选的 ALL 保留重复项。ALL 有几种工作方式。算法是:不重复的元素照常相交。对于 «Set1» 中的每个重复项,将其与 «Set2» 中的重复项相匹配,如果存在匹配的项,则在交集中保留匹配的重复项。
<Dimension>.Members 返回维度、级别或层次结构中成员的集合。
Mtd(Member) 返回 Time 维度 Month 级别上的成员集合,从第一个时期开始到指定的成员为止。
NonEmptyCrossjoin(«Set1», «Set2»[, «Set3»...][, «Crossjoin Set Count»]) 以一个集合的形式返回两个或多个集合的矢量积,不包括空元组以及无相关事实数据表数据的元组。
Order(«Set», {«String Expression» | «Numeric Expression»}[, ASC | DESC | BASC | BDESC]) 排列指定集合的成员,可以选择保留或打破层次结构。Order 有两种变化形式:按层次结构排列(ASC 或 DESC)和不按层次结构排列(BASC 或 BDESC,其中 B 代表打破层次结构)。按层次结构排列的排序首先按成员在层次结构中的位置对其进行排序,然后再对每个级别进行排序。而不按层次结构排列的排序在对集合中的成员排序时不考虑层次结构。如果没有明确说明,则根据默认设置使用 ASC。
PeriodsToDate([«Level»[, «Member»]]) 返回指定级别上的一个时期(成员)集合,从第一个时期开始到指定的成员为止。
Qtd([«Member»]) 返回 Time 维度 Quarter 级别上的成员集合,从第一个时期开始到指定的成员为止。
«Member».Siblings 返回指定成员的兄弟,包括成员本身。
Subset(«Set», «Start»[, «Count»]) 从指定集合中返回元组的子集。
Tail(«Set»[,  «Count»]) 从集合尾部返回子集。
Union(«Set1», «Set2»[, ALL]) 返回对两个集合进行 union 运算所生成的集合,可以保留重复的成员。此函数返回 «Set1» 和 «Set2» 的 union 运算结果,并在默认情况下消除重复项。ALL 标志表示在并集中保留重复项。从尾部删除重复项。 
Wtd([«Member»]) 返回 Time 维度 Week 级别上的成员集合,从第一个时期开始到指定的成员为止。
Ytd([«Member»]) 返回 Time 维度 Year 级别上的成员集合,从第一个时期开始到指定的成员为止。
<Member>:<Member> 返回处于成员对之间的成员集合.
逻辑函数
IsEmpty(«Value Expression») 如果表达式的值为空单元值,则返回 TRUE,否则返回 FALSE。
<Logical Expression> AND <Logical Expression> 逻辑与.
<Logical Expression> OR <Logical Expression> 逻辑或.
<Logical Expression> NOT <Logical Expression> 逻辑非.
<Logical Expression> XOR <Logical Expression> 逻辑异或.
<Numeric Expression> > <Numeric Expression>
<String> > <String>
>
<Numeric Expression> >= <Numeric Expression>
<String> >= <String>
>=
<Numeric Expression>< <Numeric Expression>
<String> < <String>
<
<Numeric Expression><= <Numeric Expression>
<String> <= <String>
<=
<Numeric Expression><> <Numeric Expression>
<String> <> <String>
<>
<Numeric Expression>= <Numeric Expression>
<String> = <String>
='
数值函数
Aggregate(«Set»[, «Numeric Expression»]) 返回根据成员的聚合类型,用适当的聚合函数计算所得的值。
Avg(«Set»[, «Numeric Expression»]) 返回在某一集合上对数值表达式求得的平均值。
CoalesceEmpty(«Numeric Expression»[, «Numeric Expression»]...)
CoalesceEmpty(«String Expression»[, «String Expression»]...)
将空单元值合并为数字或字符串并返回合并后的值。
Dimensions.Count 返回集合中项目的数量(具体数目取决于集合)。
IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2») 返回由逻辑测试确定的两个数值或字符串值之一。
Max(«Set»[, «Numeric Expression»]) 返回在某一集合上对数值表达式求得的最大值。
Median(«Set»[, «Numeric Expression»]) 返回在某一集合上对数值表达式求得的中值。
Min(«Set»[, «Numeric Expression»]) 返回在某一集合上对数值表达式求得的最小值
Sum(«Set»[, «Numeric Expression»]) 返回在某一集合上对数值表达式求得的和。
«Member».Value 返回度量值的值。
’=‘-,*,’/‘ 四则运算
字符串函数
«Dimension»| Level | Member | Hierarchy.Name 返回级别、维度、成员或层次结构的名称。
«Dimension»| Level | Member | Hierarchy.UniqueName 返回指定级别、维度、成员或层次结构的唯一名称。
«Member».Properties(«String Expression») 返回包含成员属性值的字符串。Properties 函数返回在 «String Expression» 中指定的成员属性的值。成员属性可以是任何标准的成员属性,如 NAME、ID、KEY 或 CAPTION,它也可以是用户定义的成员属性。
Format(<Numeric Expression>, <Format String Expression>) 将数字格式化成字符串.

猜你喜欢

转载自my.oschina.net/zhouwang93/blog/1813684
MDX
今日推荐