Cognos8.3函数使用手册
1 Block Functions
1.1 _firstFromSet
原型 | _firstFromSet ( set_exp, numeric_exp_max , numeric_exp_overflow ) |
说明 | 返回在集中找到的前几个(不超过 numeric_exp_max + numeric_exp_overflow)成员。 如果超过 numeric_exp_max + numeric_exp_overflow,则只返回成员的最大数目 |
案例 | 1、_firstFromSet([全险种综合N].[产品].[产品].[险类+],2,3) 2、_firstFromSet([全险种综合N].[产品].[产品].[险类+],2,20) 3、[全险种综合N].[产品].[产品].[险类+] 成员数为12 |
解释 | 1、2+3<12 , 返回集个数应为numeric_exp_max 即 2个 2、2+20>12 , 返回集个数应为成员最大集,即12个 |
1.2 _remainderSet
原型 | _remainderSet (member_exp, set_exp , numeric_exp ) |
说明 | 当 set_exp set 的大小大于 numeric_exp 时,成员表达式将包括在返回的集中 |
|
|
|
|
2 family, hierarchy, and member functions
2.1 hierarchy
原型 | hierarchy ( level | member | set_exp ) |
说明 | 返回包含指定级别、成员或成员集的层级 |
案例 | 1、hierarchy([机动车辆保险]) |
解释 | 1、返回产品的成员集,包含所有的产品结构 |
2.2 level
原型 | level ( member ) |
说明 | 返回成员的级别 |
案例 | 1、level ([机动车辆保险]) |
解释 | 1、返回产品的成员集,仅包含[机动车辆保险]成员 |
2.3 levels
原型 | levels ( hierarchy , index ) |
说明 | 返回层级中与根级别相距某一距离(由“index”指定)的级别 |
案例 | 1、level ([机动车辆保险],2) |
解释 | 1、返回产品的成员集,包含[机动车辆保险]及同级成员下所有二级成员 |
2.4 rootMembers
原型 | rootMembers ( hierarchy ) |
说明 | 返回层级的根成员 |
案例 | 1、rootMembers ([每日一览N].[产品].[产品]) |
解释 | 1、返回根成员产品 |
2.5 currentMember
原型 | currentMember (hierarchy ) |
说明 | 返回迭代过程中某个层级的当前成员。 如果指定层级不在所计算的表达式的上下文中,则假定为其默认成员 |
案例 | 1、currentMember ([每日一览N].[产品].[产品]) |
解释 | 1、返回成员产品 |
2.6 defaultMember
原型 | defaultMember ( hierarchy ) |
说明 | 返回层级的默认成员 |
案例 | 1、defaultMember ([每日一览N].[产品].[产品]) |
解释 | 1、返回成员产品 |
2.7 lag
原型 | lag ( member , index_exp ) |
说明 | 返回排在指定成员之前特定位数的同胞成员 |
案例 | 1、lag([2008/6],5) |
解释 | 1、[2008/1] 返回的月份为[2008/6]前移index_exp,即5个月 |
2.8 lead
原型 | lead ( member , index_exp ) |
说明 | 返回排在指定成员之后特定位数的同胞成员 |
案例 | 1、lead([2008/6],5) |
解释 | 1、[2008/11] 返回的月份为[2008/6]后移index_exp,即5个月 |
2.9 Members
原型 | members ( hierarchy | level ) |
说明 | 返回层级或级别中的成员集。 如果返回层级中的成员,则结果中无法保证成员的顺序;要按某一个顺序列出成员,必须使用明确排序的函数(如 hierarchize) |
案例 | 1、members ([每日一览N].[产品].[产品].[险类+]) |
解释 | 1、返回层级下所有成员 |
2.10 nextMember
原型 | nextMember ( member ) |
说明 | 返回包含指定成员的级别中的下一个成员 |
案例 | 1、nextMember ([2008/6] |
解释 | 1、返回[2008/7] |
2.11 prevMember
原型 | prevMember ( member ) |
说明 | 返回包含指定成员的级别中的下一个成员 |
案例 | 1、prevMember ([2008/6] |
解释 | 1、返回[2008/5] |
2.12 ancestor
原型 | ancestor ( member, level | integer ) |
说明 | 返回指定(命名)级别上指定成员的祖项,或返回以下级别上指定成员的祖项:指定成员上面指定数量的级别。 注:当存在多个此类祖项时,结果可能不一致 |
案例 | 1、ancestor([机动车交通事故责任强制保险],1) |
解释 | 1、返回[机动车辆保险],即[机动车交通事故责任强制保险]的上级,若level为2,则返回[产品],也就是上两级 |
2.13 ancestor
原型 | ancestor ( member, level | integer ) |
说明 | 返回指定(命名)级别上指定成员的祖项,或返回以下级别上指定成员的祖项:指定成员上面指定数量的级别。 注:当存在多个此类祖项时,结果可能不一致 |
案例 | 1、ancestor([机动车交通事故责任强制保险],[每日一览N].[产品].[产品].[险类+]) |
解释 | 1、返回[机动车辆保险],即[机动车交通事故责任强制保险]的上级,与[每日一览N].[产品].[产品].[险类+]同级 |
2.14 ancestors
原型 | ancestors ( member , level | index ) |
说明 | 返回某一成员在指定级别或高于该成员的级别中的所有祖项。 (在指定级别上,大多数数据源只支持一个祖项,而某些数据源则支持多个祖项。 因此结果是成员集。) |
案例 | 1、ancestors([机动车交通事故责任强制保险],1) |
解释 | 1、返回[机动车辆保险],即[机动车交通事故责任强制保险]的上级,与[每日一览N].[产品].[产品].[险类+]同级 |
2.15 parent
原型 | parent ( member ) |
说明 | 返回指定成员的父项成员 |
案例 | 1、ancestors ([机动车交通事故责任强制保险]) |
解释 | 1、返回[机动车辆保险],即[机动车交通事故责任强制保险]的父级 |
2.16 cousin
原型 | cousin ( member1 , member2 ) |
说明 | 返回 member2 的子项,该子项在 member2 下面的相对位置与 member1 在其父项下面的相对位置相同 |
案例 | 1、cousin([机动车辆保险特种车保险],[企业财产保险]) |
解释 | 1、返回[财产综合保险] |
2.17 descendants
原型 | descendants ( member | set_expr , level | distance [ , { self | before | beforewithmember | after } ] ) |
说明 | 返回指定级别 (限定名称) 或与根级别相距某一距离 (整数 0..n) 的级别上某成员或成员集的子项集。可以指定多个选项 (用空格隔开) 以确定要返回的成员 |
案例 | 1、descendants([企业财产保险],[每日一览N].[产品].[产品].[险种]) |
解释 | 1、返回[企业财产保险]下险种级别的所有集合 |
2.18 firstChild
原型 | firstChild ( member) |
说明 | 返回成员的第一个子项 |
案例 | 1、firstChild([企业财产保险]) |
解释 | 1、返回[财产基本保险] |
2.19 firstSibling
原型 | firstSibling ( member ) |
说明 | 返回成员父项的第一个子项 |
案例 | 1、firstChild([企业财产保险]) |
解释 | 1、返回[机动车辆保险] |
2.20 lastChild
原型 | lastChild ( member ) |
说明 | 返回指定成员的最后一个子项 |
案例 | 1、lastChild ([企业财产保险]) |
解释 | 1、返回[电厂机器损坏保险] |
2.21 lastSibling
原型 | lastSibling ( member ) |
说明 | 返回指定成员的父项的最后一个子项 |
案例 | 1、lastSibling ([企业财产保险]) |
解释 | 1、返回[未归类] |
2.22 siblings
原型 | siblings ( member ) |
说明 | 返回指定成员的父项的子项 |
案例 | 1、siblings ([企业财产保险]) |
解释 | 1、返回[产品]的所有子项 |
3 relative time functions
3.1 parallelPeriod
原型 | parallelPeriod ( level [ , int_exp [ , member ] ] ) |
说明 | 返回先前时段中与指定成员具有相同相对位置的成员。此函数与“Cousin”函数类似,但与时序的关系更为密切。该函数先得出处于“level”的“member”的祖项 (称为“祖项”);然后得出与“祖项”相距“int_exp”个位置的“祖项”同胞,并返回该同胞的子项中“member”的平行时段。如果未指定,“int_exp”默认值为 1,“member”的默认值为当前成员 |
案例 | 1、parallelPeriod([每日一览N].[日期].[日期].[年],1,[2008/7月]) |
解释 | 1、返回[2007/7月] |
3.2 periodsToDate
原型 | periodsToDate ( level , member ) |
说明 | 返回与指定成员处于同一级别的同胞成员集,并受指定级别限制。 它先查找处于“level”级别的“member”成员的祖项,然后返回此祖项中与“member”成员处于同一级别的子项(直到包括“member”成员)。 通常与时间维度配合使用 |
案例 | 1、periodsToDate([每日一览N].[日期].[日期].[年],[2008/5月]) |
解释 | 1、返回[2008/5月]前2008年内所有月 |
3.3 closingPeriod
原型 | closingPeriod ( level [, member ] ) |
说明 | 返回指定级别上某一成员的子项中的最后一个同胞。 通常与时间维度配合使用 |
案例 | 1、closingPeriod([每日一览N].[日期].[日期].[月],[2008年]) |
解释 | 1、返回[2008年] 对应[每日一览N].[日期].[日期].[月]最后月 |
3.4 lastPeriods
原型 | lastPeriods ( integer_exp , member ) |
说明 | 返回同一级别中以指定成员结尾的成员集。 返回的成员数是“integer_exp”的绝对值。 如果“integer_exp”为负数,则返回指定成员后面的成员,包括指定成员。 通常与时间维度配合使用 |
案例 | 1、lastPeriods(12,[2008/4月]) |
解释 | 1、返回 [2008/4月]前12个月 |
3.5 openingPeriod
原型 | openingPeriod ( level [ , member ] ) |
说明 | 在指定级别上某一成员的子项当中,返回第一个同胞成员。 通常与时间维度配合使用 |
案例 | 1、openingPeriod([每日一览N].[日期].[日期].[月],[2008年]) |
解释 | 1、返回 [2008年]一月份 |
3.6 openingPeriod
原型 | openingPeriod ( level [ , member ] ) |
说明 | 在指定级别上某一成员的子项当中,返回第一个同胞成员。 通常与时间维度配合使用 |
案例 | 1、openingPeriod([每日一览N].[日期].[日期].[月],[2008年]) |
解释 | 1、返回 [2008年]一月份 |
4 set functions
4.1 generate
原型 | generate ( set_exp1 , set_exp2 [ , ALL ] ) |
说明 | 此函数为“set_exp1”中的每个成员计算“set_exp2”,然后合并成结果集。 如果指定了 ALL,则结果中保留重复值 |
案例 | 1、generate([每日一览N].[产品].[产品].[险类+],topCount(descendants(currentMember([每日一览N].[产品].[产品]),[每日一览N].[产品].[产品].[险种]), 2,[保单数量])) |
解释 | 1、返回每个险类子成员[保单数量]排前的2项 |
4.2 nestedSet
原型 | nestedSet ( set_expr1 , set_expr2 ) |
说明 | 返回在 set_expr1 当前成员的上下文中求得的一组 set_expr2 成员 |
案例 | 1、nestedSet(members([每日一览N].[产品].[产品].[险类+]),topCount(descendants(currentMember([每日一览N].[产品].[产品]),[每日一览N].[产品].[产品].[险种]), 2,[保单数量])) |
解释 | 1、返回每个险类子成员[保单数量]排前的2项 |
4.3 filter
原型 | filter ( set_exp , boolean_exp ) |
说明 | 返回按布尔条件过滤指定集后得出的集。 当且仅当“boolean_exp”的对应值为真时,结果中才包含每个成员 |
案例 | 1、filter([每日一览N].[产品].[产品].[险类+],[保单数量]>100000) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]中,[保单数量]>100000的所有项 |
4.4 item
原型 | item ( set_exp , index ) |
说明 | 返回集中处于指定位置的成员。集的索引从零算起 |
案例 | 1、item([每日一览N].[产品].[产品].[险类+],3) |
解释 | 1、返回[家财险] |
4.5 set
原型 | set ( member { , member } ) |
说明 | 返回表达式中定义的成员列表。 成员必须属于同一层级 |
案例 | 1、set([机动车辆保险],[企业财产保险],[工程保险]) |
解释 | 1、返回[机动车辆保险],[企业财产保险],[工程保险] |
4.6 head
原型 | head ( set_exp [ , index_exp ] ) |
说明 | 返回“set_exp”中的第一个要素“index_exp”。 “index_exp”的默认值为 1 |
案例 | 1、head([每日一览N].[产品].[产品].[险类+],3) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]前3个 |
4.7 tail
原型 | tail ( set_exp [ , index_exp ] ) |
说明 | 返回“set exp”中最后的“index_exp”个要素。 “index_exp”的默认值为 1 |
案例 | 1、tail ([每日一览N].[产品].[产品].[险类+],3) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]后3个 |
4.8 subset
原型 | subset ( set_exp, index_exp1 [ , index_exp2 ] ) |
说明 | 返回指定集中成员的子集,从“index_exp1”开始。 如果指定了计数“index_exp2”,则返回多个成员(如果存在)。 否则,将返回所有剩余成员 |
案例 | 1、subset([每日一览N].[产品].[产品].[险类+],2,5) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]第2+1个开始共5个项 |
4.9 members
原型 | members ( hierarchy | level ) |
说明 | 返回层级或级别中的成员集。 如果返回层级中的成员,则结果中无法保证成员的顺序;要按某一个顺序列出成员,必须使用明确排序的函数(如 hierarchize) |
案例 | 1、members([每日一览N].[产品].[产品].[险类+]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]所有成员 |
4.10 except
原型 | except ( set_exp1 , set_exp2 [,ALL] ) |
说明 | 返回那些属于“set_exp1”但不属于“set_exp2”的成员。 只有当可选关键字“ALL”用作第三个自变量时,才会保留重复项 |
案例 | 1、except([每日一览N].[产品].[产品].[险类+],[企业财产保险]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]的成员,排除[企业财产保险] |
4.11 order
原型 | order ( set_exp , value_exp [ , ASC | DESC | BASC | BDESC ] ) |
说明 | 通过为指定集中的每个值计算“value_exp”而得出一组值,来排列指定集中的成员,并通过第三个参数进行修改。 有两种排序方法: 层级式(ASC 或 DESC)和非层级式(BASC 或 BDESC,此处 B 表示“打破层级”)。 层级式排序方法首先按照成员在层级中的位置来排列成员。 然后它根据“value_exp”排列每个成员的子项。 非层级式排序方法对集中的成员进行排序时不考虑层级。 如果没有明确指明,则默认为 ASC |
案例 | 1、order(members([每日一览N].[产品].[产品].[险类+]),[保单数量],asc) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]的成员,按[保单数量]升序排列 |
4.12 hierarchize
原型 | hierarchize ( set_exp ) |
说明 | 此函数用于对层级中某个集的成员进行排序。 在未指定其它排序条件时,级别中的成员按自然顺序(即成员在维度上的默认顺序)进行排列 |
案例 | 1、hierarchize(members([每日一览N].[产品].[产品].[险类+])) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]的成员,按自然排列 |
4.13 union
原型 | union ( set_exp1 , set_exp2 [ , ALL ] ) |
说明 | 此函数返回“set_exp1”和“set_exp2”这两个集的并集。 只有当可选关键字“ALL”用作第三个自变量时,结果中才会保留重复项 |
案例 | 1、union(set([责任保险]),set([财产保险],[现金保险],[建筑工程一切险])) |
解释 | 1、返回目标所有项 |
4.14 intersect
原型 | intersect ( set_exp1 , set_exp2 [ , ALL ] ) |
说明 | 返回两个输入集的交集。 只有当可选关键字“ALL”用作第三个自变量时,结果中才会保留重复项 |
案例 | 1、intersect(set([机动车辆保险],[机动车辆保险摩托车、拖拉机保险],[商业楼宇财产综合险],[电厂财产保险一切险]),Members([每日一览N].[产品].[产品].[险种])) |
解释 | 1、返回交集 |
4.15 except
原型 | except ( set_exp1 , set_exp2 [,ALL] ) |
说明 | 返回那些属于“set_exp1”但不属于“set_exp2”的成员。 只有当可选关键字“ALL”用作第三个自变量时,才会保留重复项 |
案例 | 1、except(Members([每日一览N].[产品].[产品].[险种]),set([机动车辆保险],[机动车辆保险特种车保险],[机动车辆保险摩托车、拖拉机保险],[机动车提车险(暂保单)],[机动车提车险],[机动车交通事故责任强制保险])) |
解释 | 1、返回除set_exp2所描述外的所有set_exp1成员 |
5 top and bottom functions
5.1 bottomCount
原型 | bottomCount ( set_exp , index_exp , numeric_exp ) |
说明 | 此函数根据在"set_exp"的每个成员中算得的"numeric_exp"值对集进行排序,然后返回具有最小"index_exp"值的成员 |
案例 | 1、bottomCount([每日一览N].[产品].[产品].[险类+],9,[2008年]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[2008年]排列后9项 |
5.2 topCount
原型 | topCount ( set_exp , index_exp , numeric_exp ) |
说明 | 此函数根据在“set_exp”的每个成员中算得的“numeric_exp”值对集进行排序,然后返回具有最大“index_exp”值的成员 |
案例 | 1、topCount([每日一览N].[产品].[产品].[险类+],9,[2008年]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[2008年]排列前9项 |
5.3 bottomPercent
原型 | bottomPercent ( set_exp , numeric_exp1 , numeric_exp2 ) |
说明 | 此函数与 bottomSum 类似,但阈值是“numeric_exp1”占合计的百分数 |
案例 | 1、bottomPercent([每日一览N].[产品].[产品].[险类+],5,[保单数量]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[保单数量]占总量的百分比5% |
5.4 bottomPercent
原型 | bottomPercent ( set_exp , numeric_exp1 , numeric_exp2 ) |
说明 | 此函数与 bottomSum 类似,但阈值是“numeric_exp1”占合计的百分数 |
案例 | 1、bottomPercent([每日一览N].[产品].[产品].[险类+],5,[保单数量]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[保单数量]占总量的百分比5% |
5.5 topPercent
原型 | topPercent ( set_exp , numeric_exp1, numeric_exp2 ) |
说明 | 此函数与 topSum 类似,但阈值是“numeric_exp1”占合计的百分数 |
案例 | 1、topPercent([每日一览N].[产品].[产品].[险类+],50,[保单数量]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[保单数量]占总量的百分比50% |
5.6 bottomSum
原型 | bottomSum ( set_exp , numeric_exp1 , numeric_exp2 ) |
说明 | 此函数根据在“set_exp”的相应成员中算得的“numeric_exp2”进行排序,然后挑选出累加合计值至少为“numeric_exp1”的最小项 |
案例 | 1、bottomSum([每日一览N].[产品].[产品].[险类+],50000,[保单数量]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[保单数量]累计和至少为50000的最小项 |
5.7 topSum
原型 | topSum ( set_exp , numeric_exp1 , numeric_exp2 ) |
说明 | 此函数根据在“set_exp”的相应成员中算得的“numeric_exp2”值进行排序,然后挑选出累加合计值至少为“numeric_exp1”的最大项 |
案例 | 1、topSum ([每日一览N].[产品].[产品].[险类+],50000,[保单数量]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]维度,按[保单数量]累计和至少为50000的最大项 |
6 value functions
6.1 completeTuple
原型 | completeTuple ( member { , member } ) |
说明 | 与“tuple”相似,它根据指定成员(它们必须来自不同的维度)确定单元格位置(交集)。 不过,completeTuple 暗指包括自变量中未另外指定的所有维度的默认成员,而非当前成员。 此单元格的值可通过“value”函数求得 |
案例 | 1、completeTuple([机动车辆保险],[北京]) |
解释 | 1、返回[机动车辆保险]与[北京]交叉部分 |
6.2 Tuple
原型 | tuple ( member { , member } ) |
说明 | 根据指定成员(它们必须来自不同的维度)确定单元格位置(交集)。 默认情况下,包括来自所有维度(而非自变量中指定维度)的当前成员。 如果在计算上下文时未指定维度的当前成员,假定为该维度的默认成员。 此单元格的值可通过“value”函数求得 |
案例 | 1、Tuple([机动车辆保险],[北京]) |
解释 | 1、返回[机动车辆保险]与[北京]交叉部分 |
6.3 value
原型 | value ( tuple ) |
说明 | 返回由数组确定的单元格的值。请注意,度量维度的默认成员是默认度量 |
案例 | 1、value(tuple([机动车辆保险],[营销],[保单数量])) |
解释 | 1、返回[机动车辆保险]与[北京]交叉部分[保单数量]值 |
6.4 caption
原型 | caption ( level | member | set_exp ) |
说明 | 返回指定自变量的标题值 |
案例 | 1、caption([每日一览N].[产品].[产品].[险类+]) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]名称列表 |
6.5 substring
原型 | substring ( string_exp , integer_exp1 [ , integer_exp2 ] ) |
说明 | 返回 string_exp 的子字符串。该子字符串从 integer_exp1 位置开始连续 integer_exp2 个字符或者到 string_exp 的末尾(如果未指定 integer_exp2)。 string_exp 中的第一个字符处在位置 1 |
案例 | 1、substring(caption([每日一览N].[产品].[产品].[险类+]),3,5) |
解释 | 1、返回[每日一览N].[产品].[产品].[险类+]名称的第3位起,最大5个字 |
6.6 roleValue
原型 | roleValue ( string [ , member | set_exp ] ) |
说明 | 返回与指定上下文中的某一角色(其名称由“string”指定)相关联的属性值。只在一些特定情况下,第二个自变量是可选的,这时它可由其他上下文派生得出。应用程序通过按角色而非按查询项目 ID 来访问属性,可以灵活地在不同的数据源和模型之间切换。(对于按维度建模的关系数据源,应由建模者分配角色。)为所有数据源类型的成员定义的内蕴角色包括:“_businessKey”、“_memberCaption”、“_memberDescription”、“_memberUniqueName” |
案例 | 1、roleValue('_businessKey',[每日一览N].[日期].[日期].[年]) |
解释 | 1、返回日期类似("2001-01-01","2001-12-31") |
6.7 ordinal
原型 | ordinal ( level ) |
说明 | 返回指定级别的序数值(表示与根级别的距离,从零算起) |
案例 | 1、ordinal(level(CurrentMember([每日一览N].[产品].[产品]))) |
解释 | 1、返回0 |