cognos8函数详解

jjkingwei

贡献于2011-11-10

字数:33168 关键词: XML diff

 目录 运算符 6 1. arg1 AND arg2 6 2. aggregate_function ( expression AUTO ) 6 3. 名称 BETWEEN 值 1 and 值 2 6 4. CASE expression { WHEN expression THEN expression } [ ELSE expression ] END 6 5. string1 CONTAINS string2 7 6. lookup(....) in (....) DEFAULT(....) 7 7. DISTINCT dataItem 7 8. IF (condition) THEN .... ELSE (expression) , 或 CASE .... ELSE expression END 7 9. CASE .... END 7 10. string1 END WITH string2 7 11. aggregate_function ( expression FOR expression { , expression } ) 7 12. aggregate_function ( expression FOR ALL expression { , expression } ) 7 13. aggregate_function ( expression FOR ANY expression { , expression } ) 7 14. aggregate_function ( expression FOR REPORT ) 8 15. IF(条件为真)THEN(操作)ELSE(替代操作) 8 16. exp1 IN (exp_list) 8 17. expression IN_RANGE { constant : constant [ , constant : constant ] } 8 18. value IS MISSING 8 19. value IS NOT MISSING 8 20. value IS NOT NULL 8 21. value IS NULL 8 22. string1 LIKE string2 8 23. LOOKUP (name) in (value1 --> value2) default (expression) 8 24. NOT arg 9 25. arg1 OR arg2 9 26. summary ([expression] PREFILTER) 9 27. count(ROWS) 9 28. string1 STARTS WITH string2 9 29. IF (condition) THEN ...., 或 CASE expression WHEN expression THEN .... END 9 30. CASE [expression] WHEN .... END 9 31. string1 || string2 9 汇总函数 9 1. aggregate ( expr [ auto ] ) 10 2. average ( [ distinct ] expr [ auto ] ) 10 3. count ( [ distinct ] expr [ auto ] ) 10 4. maximum ( [ distinct ] expr [ auto ] ) 10 5. median ( expr [ auto ] ) 10 6. minimum ( [ distinct ] expr [ auto ] ) 10 7. moving-average ( numeric_expr , numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 11 8. moving-total ( numeric_expr , numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 11 9. percentage ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 12 10. percentile ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 12 11. quantile ( numeric_expr, numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 12 12. quartile ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 13 13. rank ( expr [sort_order] {, expr [sort_order] } [ at exp {, expr } ] [ ] [ prefilter ] ) 13 14. running-average ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 14 15. running-count ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 14 16. running-difference ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 15 17. running-maximum ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 15 18. running-minimum ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 16 19. running-total ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) 16 20. standard-deviation ( [ distinct ] expr [ auto ] ) 17 21. standard-deviation-pop ( [ distinct ] expr [ auto ] ) 17 22. total ( [ distinct ] expr [ auto ] ) 17 23. variance ( [ distinct ] expr [ auto ] ) 17 24. variance-pop ( [ distinct ] 表达式 [ auto ] ) 17 25. aggregate ( < currentMeasure | expr > within set set_expr { , set_expr } ) 18 26. average ( < currentMeasure | expr > within set set_expr { , set_expr } ) 18 27. count ( < currentMeasure | expr > within set set_expr { , set_expr } ) 18 28. maximum ( < currentMeasure | expr > within set set_expr { , set_expr } ) 18 29. minimum ( < currentMeasure | expr > within set set_expr { , set_expr } ) 18 30. percentage ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 18 31. percentile ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 19 32. quantile ( numeric_expr, numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 19 33. quartile ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 19 34. rank ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 19 35. standard-deviation ( < currentMeasure | expr > within set set_expr { , set_expr } ) 19 36. total ( < currentMeasure | expr > within set set_expr { , set_expr } ) 19 37. variance ( < currentMeasure | expr > within set set_expr { , set_expr } ) 20 句型结构 20 1. IF 20 2. IN_RANGE 20 3. CASE END 20 4. CASE END 20 业务日期/时间函数 21 1. _add_days ( date_exp, integer_exp ) 21 2. _add_months ( date_exp, integer_exp ) 21 3. _add_years ( date_exp, integer_exp ) 21 4. _age (date_exp ) 21 5. _day_of_week ( date_exp, integer ) 21 6. _day_of_year ( date_exp ) 22 7. _days_between ( date_exp1, date_exp2 ) 22 8. _days_to_end_of_month ( date_exp ) 22 9. _first_of_month ( date_exp ) 22 10. _last_of_month ( date_exp ) 22 11. _make_timestamp ( integer_exp1, integer_exp2, integer_exp3 ) 23 12. _months_between ( date_exp1, date_exp2 ) 23 13. _week_of_year ( date_exp ) 23 14. _years_between ( date_exp1, date_exp2 ) 23 15. _ymdint_between ( date_exp1, date_exp2 ) 23 块函数 23 1. _firstFromSet ( set_exp, numeric_exp_max , numeric_exp_overflow ) 24 2. _remainderSet (member_exp, set_exp , numeric_exp ) 24 通用函数 24 1. completeTuple ( member { , member } ) 24 2. currentMember ( hierarchy ) 24 3. abs ( numeric_exp ) 24 4. ancestor ( member, level | integer ) 24 5. ancestors ( member , level | index ) 24 6. bottomCount ( set_exp , index_exp , numeric_exp ) 25 7. bottomPercent ( set_exp , numeric_exp1 , numeric_exp2 ) 25 8. bottomSum ( set_exp , numeric_exp1 , numeric_exp2 ) 25 9. caption ( level | member | set_exp ) 25 10. cast ( expression, datatype_specification ) 25 11. ceiling ( numeric_exp ) 25 12. character_length ( string_exp ) 25 13. children ( member ) 26 14. coalesce ( exp_list ) 26 15. cousin ( member1 , member2 ) 26 16. current_date 26 17. current_time 26 18. current_timestamp 26 19. _format ( expr , keyword ) 26 20. emptySet ( hierarchy ) 27 21. generate ( set_exp1 , set_exp2 [ , ALL ] ) 27 22. defaultMember ( hierarchy ) 27 23. descendants ( set_expr , level | distance [ , { self | before | beforewithmember | after } ] ) 27 24. except ( set_exp1 , set_exp2 [,ALL] ) 27 25. exp ( numeric_exp ) 27 26. extract ( datepart , datetime_exp ) 27 27. filter ( set_exp , boolean_exp ) 28 28. firstChild ( member) 28 29. floor ( numeric_exp ) 28 30. head ( set_exp [ , index_exp ] ) 28 31. hierarchize ( set_exp ) 28 32. hierarchy ( level | member | set_exp ) 28 33. intersect ( set_exp1 , set_exp2 [ , ALL ] ) 28 34. item ( set_exp , index ) 29 35. lag ( member , index_exp ) 29 36. lastChild ( member ) 29 37. lastPeriods ( integer_exp , member ) 29 38. lastSibling ( member ) 29 39. lead ( member , index_exp ) 29 40. level ( member ) 29 41. levels ( hierarchy , index ) 29 42. ln ( numeric_exp ) 29 43. localtime 30 44. localtimestamp 30 45. lower ( string_exp ) 30 46. member ( value_exp [ , string1 [ , string2 [ , hierarchy ] ] ] ) 30 47. nestedSet ( set_expr1 , set_expr2 ) 30 48. members ( hierarchy | level ) 30 49. mod ( integer_exp1, integer_exp2 ) 30 50. nextMember ( member ) 31 51. octet_length ( string_exp ) 31 52. openingPeriod ( level [ , member ] ) 31 53. order ( set_exp , value_exp [ , ASC | DESC | BASC | BDESC ] ) 31 54. ordinal ( level ) 31 55. parallelPeriod ( level , int_exp , member ) 31 56. parent ( member ) 31 57. periodsToDate ( level , member ) 32 58. position ( string_exp , string_exp ) 32 59. power ( numeric_exp1, numeric_exp2 ) 32 60. prevMember ( member ) 32 61. roleValue ( string [ , member | set_exp ] ) 32 62. rootMembers ( hierarchy ) 32 63. subset ( set_exp, index_exp1 [ , index_exp2 ] ) 32 64. unique ( set_expr ) 33 65. value ( tuple ) 33 66. _round ( numeric_exp, integer_exp ) 33 67. set ( member { , member } ) 33 68. siblings ( member ) 33 69. sqrt ( numeric_exp ) 33 70. substring ( string_exp , integer_exp1 [ , integer_exp2 ] ) 33 71. tail ( set_exp [ , index_exp ] ) 34 72. topCount ( set_exp , index_exp , numeric_exp ) 34 73. topPercent ( set_exp , numeric_exp1, numeric_exp2 ) 34 74. topSum ( set_exp , numeric_exp1 , numeric_exp2 ) 34 75. trim ( [ [ TRAILING | LEADING | BOTH ] [ match_character_exp ] , ] string_exp ) 34 76. tuple ( member { , member } ) 34 77. union ( set_exp1 , set_exp2 [ , ALL ] ) 34 78. upper ( string_exp ) 35 宏函数 35 1. value1 + value2 35 2. CAMIDList ( [ 分隔符字符串 ] ) 35 3. CAMIDListForType(身份类型) 35 4. CAMPassport ( ) 35 5. CSVIdentityName ( %parameter_map_name [ , separator_string ] ) 36 6. CSVIdentityName ( %parameter_map_name [ , separator_string ] ) 36 7. array ( string_exp | array_exp { , string_exp | array_exp } ) 36 8. csv ( array_exp [ , separator_string [ , quote_string ] ] ) 36 9. dq ( string_exp ) 36 10. grep ( pattern_string , array_exp ) 36 11. join ( separator_string , array_exp ) 37 12. prompt ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) 37 13. promptmany ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) 37 14. sb ( string_exp ) 37 15. sort ( array_exp ) 38 16. split ( pattern_string, string_exp | array_exp ) 38 17. sq ( string_exp ) 38 18. substitute ( pattern_string, replacement_string, string_exp | array_exp ) 38 19. unique ( array_exp ) 39 20. field_one=urlencode(prompt('userValue')) 39 运算符 1. arg1 AND arg2 若表达式两侧的条件均为真,则返回 true。 2. aggregate_function ( expression AUTO ) 与 summary 表达式配合使用,用于定义要根据查询中的分组列进行调整的范围。 3. 名称 BETWEEN 值 1 and 值 2 确定某个值是否在给定范围之内。 4. CASE expression { WHEN expression THEN expression } [ ELSE expression ] END 与 When、Then、Else 及 End 配合使用。 5. string1 CONTAINS string2 确定某个字符串是否包含另一个字符串。 6. lookup(....) in (....) DEFAULT(....) 与 LOOKUP 句型结构配合使用。 7. DISTINCT dataItem 聚合表达式中的关键字,仅包括与众不同的值。 另请参见 unique 函数。 示例:count ( DISTINCT [OrderDetailQuantity] ) 结果:1704 8. IF (condition) THEN .... ELSE (expression) , 或 CASE .... ELSE expression END 与 If 或 Case 句型结构配合使用。 9. CASE .... END 与 Case When 句型结构配合使用。 10. string1 END WITH string2 确定某一字符串是否以给定的字符串结尾。 11. aggregate_function ( expression FOR expression { , expression } ) 与 summary 表达式配合使用,用于定义查询中聚合的范围。 12. aggregate_function ( expression FOR ALL expression { , expression } ) 与 summary 表达式配合使用,其定义的范围将是查询中所有指定的分组列。 另请参阅 FOR 语句。 13. aggregate_function ( expression FOR ANY expression { , expression } ) 与 summary 表达式配合使用,用于定义要根据查询中的分组列子集进行调整的范围。 与 FOR 语句等效。 14. aggregate_function ( expression FOR REPORT ) 与 summary 表达式配合使用,用于定义要作为整个查询的范围。 另请参阅 FOR 语句。 15. IF(条件为真)THEN(操作)ELSE(替代操作) 与 Then 和 Else 配合使用。 16. exp1 IN (exp_list) 确定某个值是否存在于给定的值列表中。 17. expression IN_RANGE { constant : constant [ , constant : constant ] } 确定某个项目是否存在于给定的常数值或范围列表中。 18. value IS MISSING 确定某个值是否在数据中未定义。 19. value IS NOT MISSING 确定某个值是否已在数据中定义。 20. value IS NOT NULL 确定某个值是否已在数据中定义。 21. value IS NULL 确定某个值是否在数据中未定义。 22. string1 LIKE string2 确定某一字符串是否与另一字符串的样式匹配。 23. LOOKUP (name) in (value1 --> value2) default (expression) 查找数据并用指定的值替换。 非常适合使用 CASE 句型结构。 示例: lookup([Country]) in ('Canada'-->([List Price] * 0.60), 'Australia'-->([List Price] * 0.80)) default([List Price]) 24. NOT arg 若条件为假 ,则返回 true;否则返回 false。 25. arg1 OR arg2 若表达式两侧的任一条件为真,则返回 true。 26. summary ([expression] PREFILTER) 在应用汇总过滤器之前执行汇总计算。 27. count(ROWS) 计算由查询输出的行数。 与 Count() 配合使用。 28. string1 STARTS WITH string2 确定某一字符串是否以给定字符串开头。 29. IF (condition) THEN ...., 或 CASE expression WHEN expression THEN .... END 与 If 或 Case 句型结构配合使用。 30. CASE [expression] WHEN .... END 与 Case 句型结构配合使用。 31. string1 || string2 连接字符串。 汇总函数 此列表包含预定义的函数,可返回一组相关值的单个汇总值或一组相关值中每个实例的不同汇总值。 1. aggregate ( expr [ auto ] ) aggregate ( expr for [ all | any ] expr { , expr } ) aggregate ( expr for report ) 根据表达式的聚合类型,返回使用相应的聚合函数计算得出的值。 2. average ( [ distinct ] expr [ auto ] ) average ( [ distinct ] expr for [ all | any ] expr { , expr } ) average ( [ distinct ] expr for report ) 返回选定数据项的平均值。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:average ( Sales ) 结果:所有 Sales 值的平均值。 3. count ( [ distinct ] expr [ auto ] ) count ( [ distinct ] expr for [ all | any ] expr { , expr } ) count ( [ distinct ] expr for report ) 返回选定数据项的数量,但不包括 NULL 值。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:count ( Sales ) 结果:Sales 之下条目的总数。 4. maximum ( [ distinct ] expr [ auto ] ) maximum ( [ distinct ] expr for [ all | any ] expr { , expr } ) maximum ( [ distinct ] expr for report ) 返回选定数据项的最大值。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:maximum ( Sales ) 结果:所有 Sales 值中的最大值。 5. median ( expr [ auto ] ) median ( expr for [ all | any ] expr { , expr } ) median ( expr for report ) 返回选定数据项的中间值。 6. minimum ( [ distinct ] expr [ auto ] ) minimum ( [ distinct ] expr for [ all | any ] expr { , expr } ) minimum ( [ distinct ] expr for report ) 返回选定数据项的最小值。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:minimum ( Sales ) 结果:所有 Sales 值中的最小值。 7. moving-average ( numeric_expr , numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) moving-average ( [ distinct ] numeric_expr , numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回指定的一组值在指定行数上的移动平均值。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例: moving-average ( Qty, 3 ) 结果:对于每一行,将会显示数量及当前行与前两行的移动平均值。 数量 Moving-Average (Qty, 3) ------ ------------------------------------ 200 NULL 700 NULL 400 433.3333 200 433.3333 200 266.6667 500 300.0000 8. moving-total ( numeric_expr , numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) moving-total ( [ distinct ] numeric_expr , numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回指定的一组值在指定行数上的移动合计。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例: moving-total ( Quantity, 3 ) 结果:对于每一行,将会显示数量以及当前行与前两行的移动合计。 数量 Moving-Total (Qty, 3) ------ -------------------------------- 200 NULL 700 NULL 400 1300 200 1300 200 800 500 900 9. percentage ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) percentage ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 返回选定数据项占合计值的百分比。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:percentage ( sales 98 ) 结果:显示分配给每一销售代表的销售额占 1998 年销售总额的百分比。 销售代表 98 年度销售额 Percentage -------------------- -------------- ------------------ Bill Gibbons 60646 7.11% Bjorn Flertjan 62523 7.35% Chris Cornel 22396 2.63% 10. percentile ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) percentile ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 返回在 100 范围内的某一值,用于表示等于或低于选定数据项的一部分所占的百分比。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:percentile ( sales 98 ) 结果: 对于每一行,显示那些等于或小于该行中数量值的行所占的百分比。 数量 百分数(数量) ------ ----------------- 800 1 700 0.875 600 0.75 500 0.625 400 0.5 400 0.5 200 0.25 200 0.25 11. quantile ( numeric_expr, numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) quantile ( [ distinct ] numeric_expr, numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 以指定范围的形式返回值的排名。 它返回整数,以表示排名的任何范围,例如从 1(最高)到 100(最低)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:quantile ( Qty, 4 ) 结果:数量、数量值的秩以及数量值分成 4 分位组(四分位数)。 数量 Rank (Qty) Quantile (Qty, 4) ------ ----------------- ----------------------- 800 1 1 700 2 1 600 3 2 500 4 2 400 5 3 400 5 3 200 7 4 200 7 4 12. quartile ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) quartile ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 返回某一值相对于一组值的排名,由 1(最高)到 4(最低)之间的整数表示。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:quartile ( Qty, 3 ) 结果:它显示数量及数量值的四分位数,后者由 1(最高)到 4(最低)之间的整数表示。 数量 Quartile (Qty) ------ --------------------- 450 1 400 1 350 2 300 2 250 3 200 3 150 4 100 4 13. rank ( expr [sort_order] {, expr [sort_order] } [ at exp {, expr } ] [ ] [ prefilter ] ) rank ( [ distinct ] expr [sort_order] {, expr [sort_order] } [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 返回选定数据项的排名值。 如果两个或多个行排名相同,则排名值(也称为 Olympic 排名)顺序中会存在一个缺口。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:rank ( sales 98 ) 结果: 对于每一行,将会显示 1998 年度分配给每位销售代表的销售额所对应的排名值,并且当两行或更多行的排名相同时,会跳过一些排名值。 98 年度销售代表 销售额 排名 ---------------- ----------- ------------ Bill Gibbons 60000 1 Bjorn Flertjan 50000 2 Chris Cornel 50000 2 John Smith 48000 4 14. running-average ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-average ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的运行平均值(包括当前行)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-average ( Qty ) 结果:对于每一行,将会显示数量以及当前行与前面行的运行平均值。 名称 数量 平均 用于名称的 Running-Average ------- ------ ------ -------------------------------------- Smith 7 5 7 Smith 3 5 5 Smith 6 5 5.33 Smith 4 5 5 Wong 3 4 3 Wong 5 4 4 15. running-count ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-count ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的运行计数(包括当前行)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-count ( Qty ) 结果:对于每一行,将会显示数量以及当前行位置的运行计数。 名称 数量 计数 用于名称的 Running-Count ------- ------ --------- -------------------------------------- Smith 7 4 1 Smith 3 4 2 Smith 6 4 3 Smith 4 4 4 Wong 3 3 1 Wong 5 3 2 16. running-difference ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-difference ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的运行差额,该运行差额为当前行的值与前面行(包括当前行)的值之间的差额。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-difference ( Qty ) 结果:对于每一行,将会显示数量以及当前行的值与前面行的值之间的差额。 名称 数量 用于名称的 Running-Difference ------- ------ -------------------------------------- Smith 7 NULL Smith 3 -4 Smith 6 3 Smith 4 -2 Wong 3 -1 Wong 5 2 17. running-maximum ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-maximum ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的最大运行值(包括当前行)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-maximum ( Qty ) 结果:对于每一行,将会显示数量以及当前行与前面行的最大运行值。 名称 数量 最大值 用于名称的 Running-Maximum (Qty) ------- ------ ------ -------------------------------------- Smith 2 7 2 Smith 3 7 3 Smith 6 7 6 Smith 7 7 7 Wong 3 5 3 Wong 5 5 5 18. running-minimum ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-minimum ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的最小运行值(包括当前行)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-minimum ( Qty ) 结果:对于每一行,将会显示数量以及当前行与前面行的最小运行值。 名称 数量 最小值 用于名称的 Running-Minimum (Qty) ------- ----- ------ -------------------------------------- Smith 7 2 7 Smith 3 2 3 Smith 6 2 3 Smith 2 2 2 Wong 4 3 4 Wong 5 3 4 19. running-total ( numeric_expr [ at exp {, expr } ] [ ] [ prefilter ] ) running-total ( [ distinct ] numeric_expr [ ] [ prefilter ] ) ::= for expr {, expr } | for report | auto 按行返回一组值的运行合计(包括当前行)。 定义函数范围。 at option 定义聚合级别,只能在关系数据源上下文中使用。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:running-total ( Qty ) 结果:对于每一行,将会显示数量以及当前行与前面行的运行合计。 名称 数量 合计 用于名称的 Running-Total (Qty) ------- ------ -------- -------------------------------------- Smith 2 18 2 Smith 3 18 5 Smith 6 18 11 Smith 7 18 18 Wong 3 12 3 Wong 5 12 8 20. standard-deviation ( [ distinct ] expr [ auto ] ) standard-deviation ( [ distinct ] expr for [ all | any ] expr { , expr } ) standard-deviation ( [ distinct ] expr for report ) 返回选定数据项的标准偏差。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:standard-deviation ( ProductCost ) 结果:表明产品成本与平均产品成本之间偏差的值。 21. standard-deviation-pop ( [ distinct ] expr [ auto ] ) standard-deviation-pop ( [ distinct ] expr for [ all | any ] expr { , expr } ) standard-deviation-pop ( [ distinct ] expr for report ) 计算总体标准偏差并返回总体方差的平方根。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:standard-deviation-pop ( ProductCost ) 结果:总体方差的平方根值。 22. total ( [ distinct ] expr [ auto ] ) total ( [ distinct ] expr for [ all | any ] expr { , expr } ) total ( [ distinct ] expr for report ) 返回选定数据项的合计值。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:total ( Sales ) 结果:所有 Sales 值的合计值。 23. variance ( [ distinct ] expr [ auto ] ) variance ( [ distinct ] expr for [ all | any ] expr { , expr } ) variance ( [ distinct ] expr for report ) 返回选定数据项的差量。 关键字 distinct 可用于与以前产品版本中使用的表达式兼容。 示例:variance ( ProductCost ) 结果:表明产品成本与平均产品成本相差程度的值。 24. variance-pop ( [ distinct ] 表达式 [ auto ] ) variance-pop ( [ distinct ] expr for [ all | any ] expr { , expr } ) variance-pop ( [ distinct ] expr for report ) 返回一组数字除去其中无效数字之后的总体方差。 示例:variance-pop ( Qty) 结果:对于每一行,将会显示一组数字除去其中无效数字之后的总体方差。 成员汇总 此列表包含预定义的函数,可返回一组成员的单个汇总值或一组成员中每个成员的不同汇总值。 25. aggregate ( < currentMeasure | expr > within set set_expr { , set_expr } ) aggregate ( < currentMeasure | expr > within < detail | aggregate > expr ) 根据表达式的聚合类型,返回通过相应的聚合函数计算得出的值。 26. average ( < currentMeasure | expr > within set set_expr { , set_expr } ) average ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的平均值。 27. count ( < currentMeasure | expr > within set set_expr { , set_expr } ) count ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的数量,但不包括 NULL 值。 28. maximum ( < currentMeasure | expr > within set set_expr { , set_expr } ) maximum ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的最大值。 29. minimum ( < currentMeasure | expr > within set set_expr { , set_expr } ) minimum ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的最小值。 30. percentage ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 返回选定数据项占合计值的百分比。 示例: percentage ( [gosales].[sales measures].[quantity] tuple [gosales].[Staff].[].[department]->[West] within set children([gosales].[Staff].[].[Staff] ) 31. percentile ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 返回在 100 范围内的某一值,用于表示等于或低于选定数据项的一部分所占的百分比。 32. quantile ( numeric_expr, numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 返回指定范围的值的排名。 它返回整数,用于表示排名的范围,例如从 1(最高)到 100(最低)。 33. quartile ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 返回某一值相对于一组值的排名,由 1(最高)到 4(最低)之间的整数表示。 34. rank ( numeric_expr [ tuple member_expr {, member_expr } ] within set set_expr {, set_expr } ) 返回选定数据项的排名值。 返回的排名类型(Olympic、密集或序列)取决于数据源。 示例: rank ( [gosales].[sales measures].[quantity] tuple [gosales].[Staff].[].[department]->[West] within set children([gosales].[Staff].[].[Staff] ) 35. standard-deviation ( < currentMeasure | expr > within set set_expr { , set_expr } ) standard-deviation ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的标准偏差。 36. total ( < currentMeasure | expr > within set set_expr { , set_expr } ) total ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的合计值。 37. variance ( < currentMeasure | expr > within set set_expr { , set_expr } ) variance ( < currentMeasure | expr > within < detail | aggregate > expr ) 返回选定数据项的差量。 句型结构 1. IF 示例: IF ([Country] = 'Canada') THEN ([List Price] * 0.60) ELSE ([List Price]) 2. IN_RANGE 指定一个或多个常量或范围。 范围可为开区间。 示例:[gosales].[CONVERSIONRATE].[COUNTRYCODE] IN_RANGE { :30 , 40, 50, 999: } 3. CASE END 示例: CASE WHEN [Country] = 'Canada' THEN ([List Price] * 0.60) WHEN [CountryCode] > 100 THEN [List Price] * 0.80 ELSE [List Price] END 4. CASE END 示例: CASE [Country] WHEN 'Canada' THEN ([List Price] * 0.60) WHEN 'Australia' THEN [List Price] * 0.80 ELSE [List Price] END 业务日期/时间函数 此列表包含执行日期和时间计算的业务函数。 1. _add_days ( date_exp, integer_exp ) 依据将 integer_exp 天添加至 date_exp 之后所生成的第一个参数,返回日期或日期时间。 示例:_add_days ( 2002-04-30 , 1 ) 结果:2002-05-01 示例:_add_days ( 2002-04-30 12:10:10.000, 1 ) 结果:2002-05-01 12:10:10.000 示例: _add_days ( 2002-04-30 00:00:00.000, 1/24 ) 请注意,第二个自变量并非整数。 这受某些数据库技术支持,并可以增加时间部分。 结果: 2002-04-30 01:00:00.000 2. _add_months ( date_exp, integer_exp ) 依据将 integer_exp 个月添加至 date_exp 之后所生成的第一个参数,返回日期或日期时间。 示例:_add_months ( 2002-04-30 , 1 ) 结果:2002-05-30 示例:_add_months ( 2002-04-30 12:10:10.000, 1 ) 结果:2002-05-30 12:10:10.000 3. _add_years ( date_exp, integer_exp ) 依据将 integer_exp 年添加至 date_exp 之后所生成的第一个参数,返回日期或日期时间。 示例:_add_years ( 2002-04-30 , 1 ) 结果:2003-04-30 示例:_add_years ( 2002-04-30 12:10:10.000 , 1 ) 结果:2003-04-30 12:10:10.000 4. _age (date_exp ) 返回从当前日期减去 date_exp 所得的数值。 该值的格式为 YYYYMMDD,其中 YYYY 代表年数,MM 代表月数,DD 代表天数。 示例:Today's date=2003-02-05 _age ( 1990-04-30 ) 结果:120906,即 12 年、9 个月、6 天 5. _day_of_week ( date_exp, integer ) 返回周内某日的对应值(1 到 7 之间),其中 1 为每周第一天,并由第二个参数(1 到 7 之间,1 代表星期一,7 代表星期日)指明。 注意,依据 ISO 8601 标准,每周第一天为星期一,即日值为 1。 在北美地区,每周第一天为星期日,即日值为 7。 示例:_day_of_week ( 2003-01-01, 1 ) 结果:3 6. _day_of_year ( date_exp ) 返回 date_ exp 中的日值在当年中的序数(1 到 366)。 亦称为 Julian 日。 示例:_day_of_year ( 2003-03-01 ) 结果:61 7. _days_between ( date_exp1, date_exp2 ) 返回表示两个日期表达式之间天数的正数或负数。 如果 date_exp1 < date_exp2,则结果为负数。 示例:_days_between ( 2002-04-30 , 2002-06-21 ) 结果:-52 8. _days_to_end_of_month ( date_exp ) 返回一个数值,指示在日期表达式所提供的月份中剩余的天数。 示例:_days_to_end_of_month ( 2002-04-20 14:30:22.123 ) 结果:10 9. _first_of_month ( date_exp ) 依据将 date_exp 转换成同年同月但将日值设为 1 的日期之后所得的参数,返回日期或日期时间。 示例:_first_of_month ( 2002-04-20 ) 结果:2002-04-01 示例:_first_of_month ( 2002-04-20 12:10:10.000 ) 结果:2002-04-01 12:10:10.000 10. _last_of_month ( date_exp ) 依据 date_exp 中月份内的最后一天所对应的参数,返回日期或日期时间。 示例:_last_of_month ( 2002-01-14 ) 结果:2002-01-31 示例:_last_of_month ( 2002-01-14 12:10:10.000 ) 结果:2002-01-31 12:10:10.000 11. _make_timestamp ( integer_exp1, integer_exp2, integer_exp3 ) 返回由 integer_exp1(年)、integer_exp2(月)及 integer_exp3(日)构成的时间戳。 示例: _make_timestamp ( 2002 , 01 , 14 ) 结果:2002-01-14 00:00:00.000 12. _months_between ( date_exp1, date_exp2 ) 返回表示 date_exp1 与 date_exp2 之间月数的正整数或负整数。 如果 date_exp1 < date_exp2,则返回负数。 示例:_months_between ( 2002-01-30, 2002-04-03 ) 结果:2 13. _week_of_year ( date_exp ) 依据 ISO 8601 标准,返回 date_exp 中的周在当年的序数,其中本年的周 1 是本年含有星期四的第一周,即 1 月 4 日所在的第一周。 示例:_week_of_year ( 2003-01-01 ) 结果:1 14. _years_between ( date_exp1, date_exp2 ) 返回表示 date_exp1 与 date_exp2 之间年数的正整数或负整数。 如果 date_exp1 < date_exp2,则返回负值。 示例:_years_between ( 2003-01-30, 2001-04-03 ) 结果:1 15. _ymdint_between ( date_exp1, date_exp2 ) 返回一个表示日期表达式 date_exp1 和 date_exp2 之间差值的数字。该值的格式为 YYYYMMDD,其中 YYYY 表示年数,MM 表示月数,DD 表示天数。 示例:_ymdint_between ( 1990-04-30 , 2003-02-05 ) 结果:120906,即 12 年、9 个月、6 天 块函数 此列表包含的函数用于访问集合的成员(通常在 Analysis Studio 的上下文中)。 1. _firstFromSet ( set_exp, numeric_exp_max , numeric_exp_overflow ) 返回在集中找到的前几个(不超过 numeric_exp_max + numeric_exp_overflow)成员。 如果超过 numeric_exp_max + numeric_exp_overflow,则只返回成员的最大数目。 2. _remainderSet (member_exp, set_exp , numeric_exp ) 当 set_exp set 的大小大于 numeric_exp 时,成员表达式将包括在返回的集中。 通用函数 1. completeTuple ( member { , member } ) 与“tuple”相似,它根据指定成员(它们必须来自不同的维度)确定单元格位置(交集)。 不过,completeTuple 暗指包括自变量中未另外指定的所有维度的默认成员,而非当前成员。 此单元格的值可通过“value”函数求得。 2. currentMember ( hierarchy ) 返回迭代过程中某个层级的当前成员。 如果指定层级不在所计算的表达式的上下文中,则假定为其默认成员。 3. abs ( numeric_exp ) 返回 numeric_exp 的绝对值。 负值的符号会改为正号。 例如:abs ( 15 ) 结果:15 例如:abs ( -15 ) 结果:15 4. ancestor ( member, level | integer ) 返回指定(命名)级别上指定成员的祖项,或返回以下级别上指定成员的祖项:指定成员上面指定数量的级别。 注:当存在多个此类祖项时,结果可能不一致。 5. ancestors ( member , level | index ) 返回某一成员在指定级别或高于该成员的级别中的所有祖项。 (在指定级别上,大多数数据源只支持一个祖项,而某些数据源则支持多个祖项。 因此结果是成员集。) 6. bottomCount ( set_exp , index_exp , numeric_exp ) 此函数根据在"set_exp"的每个成员中算得的"numeric_exp"值对集进行排序,然后返回具有最小"index_exp"值的成员。 7. bottomPercent ( set_exp , numeric_exp1 , numeric_exp2 ) 此函数与 bottomSum 类似,但阈值是“numeric_exp1”占合计的百分数。 8. bottomSum ( set_exp , numeric_exp1 , numeric_exp2 ) 此函数根据在“set_exp”的相应成员中算得的“numeric_exp2”进行排序,然后挑选出累加合计值至少为“numeric_exp1”的最小项。 9. caption ( level | member | set_exp ) 返回指定自变量的标题值。 10. cast ( expression, datatype_specification ) 将表达式转换为指定的数据类型。 某些数据类型允许指定长度和精度。 确保目标的类型和大小适当。 例如:cast ( '123' , integer ) 结果:123 示例:cast ( 12345 , VARCHAR ( 10 ) ) 结果:包含 12345 的字符串 11. ceiling ( numeric_exp ) 返回大于或等于 numeric_exp 的最小整数。 例如:ceiling ( 4.22 ) 结果:5 例如:ceiling ( -1.23 ) 结果:-1 12. character_length ( string_exp ) 返回 string_exp 包含的字符数。 例如:character_length ( 'Canada' ) 返回:6 13. children ( member ) 返回指定成员的子集。 closingPeriod ( level [, member ] ) 返回指定级别上某一成员的子项中的最后一个同胞。 通常与时间维度配合使用。 14. coalesce ( exp_list ) 返回第一个非空参数(或者如果所有参数都为空,则返回空参数)。 Coalesce 函数需要两个或更多个参数。 15. cousin ( member1 , member2 ) 返回 member2 的子项,该子项在 member2 下面的相对位置与 member1 在其父项下面的相对位置相同。 16. current_date 返回运行数据库软件的计算机上的当前日期。 例如:current_date 结果:2003-03-04 17. current_time 返回带有时区值的时间,它表示运行数据库软件的计算机的当前时间。 例如:current_time 结果: 16:33:11+05:00 18. current_timestamp 返回带有时区值的日期时间,它表示运行数据库软件的计算机的当前时间戳。 例如:current_timestamp 结果: 2003-03-03 16:40:15.535000+05:00 19. _format ( expr , keyword ) 将格式与表达式关联。 关键字可以是 PERCENTAGE_0, PERCENTAGE_1 或 PERCENTAGE_2。 示例: _format( [Unit Sale Price] / [Unit Price] , PERCENTAGE_2 ) 结果: 0.75123 显示为 75.12% 20. emptySet ( hierarchy ) 返回指定层级的空成员集。 21. generate ( set_exp1 , set_exp2 [ , ALL ] ) 此函数为“set_exp1”中的每个成员计算“set_exp2”,然后合并成结果集。 如果指定了 ALL,则结果中保留重复值。 22. defaultMember ( hierarchy ) 返回层级的默认成员。 23. descendants ( set_expr , level | distance [ , { self | before | beforewithmember | after } ] ) 返回指定级别(限定名称)或与根级别相距某一距离(整数 0..n)的级别上一组成员的子项集。 重复项将从集中删除。 可以指定多个选项(用空格隔开)以确定要返回的成员。 示例: descendants([national].[Line].[Line].[Line1]->:[PC].[Line (Root)].[Dishwashers], 2, SELF AFTER) 结果: AcmeWash MR AcmeWash AcmeWash HE 24. except ( set_exp1 , set_exp2 [,ALL] ) 返回那些属于“set_exp1”但不属于“set_exp2”的成员。 只有当可选关键字“ALL”用作第三个自变量时,才会保留重复项。 25. exp ( numeric_exp ) 返回 e 的 numeric_exp 次幂。 常数 e 是自然对数的底数。 另请参见 log。 例如:exp ( 2 ) 结果:7.389056 26. extract ( datepart , datetime_exp ) 返回一个整数,表示 datetime_exp 中的日期部分值(年、月、日、时、分和秒)。 例如:extract ( year , 2003-03-03 16:40:15.535 ) 结果:2003 例如:extract ( hour , 2003-03-03 16:40:15.535 ) 结果:16 27. filter ( set_exp , boolean_exp ) 返回按布尔条件过滤指定集后得出的集。 当且仅当“boolean_exp”的对应值为真时,结果中才包含每个成员。 28. firstChild ( member) 返回成员的第一个子项。 firstSibling ( member ) 返回成员父项的第一个子项。 29. floor ( numeric_exp ) 返回小于或等于 numeric_exp 的最大整数。 例如:floor ( 3.22 ) 结果:3 例如:floor ( -1.23 ) 结果:-2 30. head ( set_exp [ , index_exp ] ) 返回“set_exp”中的第一个要素“index_exp”。 “index_exp”的默认值为 1。 31. hierarchize ( set_exp ) 此函数用于对层级中某个集的成员进行排序。 在未指定其它排序条件时,级别中的成员按自然顺序(即成员在维度上的默认顺序)进行排列。 32. hierarchy ( level | member | set_exp ) 返回包含指定级别、成员或成员集的层级。 33. intersect ( set_exp1 , set_exp2 [ , ALL ] ) 返回两个输入集的交集。 只有当可选关键字“ALL”用作第三个自变量时,结果中才会保留重复项。 34. item ( set_exp , index ) 返回集中处于指定位置的成员。 集的索引从零算起。 35. lag ( member , index_exp ) 返回排在指定成员之前特定位数的同胞成员。 36. lastChild ( member ) 返回指定成员的最后一个子项。 37. lastPeriods ( integer_exp , member ) 返回同一级别中以指定成员结尾的成员集。 返回的成员数是“integer_exp”的绝对值。 如果“integer_exp”为负数,则返回指定成员后面的成员,包括指定成员。 通常与时间维度配合使用。 38. lastSibling ( member ) 返回指定成员的父项的最后一个子项。 39. lead ( member , index_exp ) 返回排在指定成员之后特定位数的同胞成员。 40. level ( member ) 返回成员的级别。 41. levels ( hierarchy , index ) 返回层级中与根级别相距某一距离(由“index”指定)的级别。 42. ln ( numeric_exp ) 返回 numeric_exp 的自然对数。 例如:ln ( 4 ) 结果:1.38629 43. localtime 返回一个时间值,表示运行数据库软件的计算机的当前时间。 示例: localtime 结果: 16:33:11 44. localtimestamp 返回一个日期时间值,表示运行数据库软件的计算机的当前时间戳。 示例: localtimestamp 结果: 2003-03-03 16:40:15.535000 45. lower ( string_exp ) 返回已将所有大写字符转换为小写字符的 string_exp。 例如:lower ( 'ABCDEF' ) 结果:'abcdef' 46. member ( value_exp [ , string1 [ , string2 [ , hierarchy ] ] ] ) 根据指定层级中的指定表达式定义成员。 “string1”用于识别由此函数创建的成员,它必须在查询中是唯一的,并且不同于同一层级中的任何其它成员。 “string2”用作成员标题;如果不指定,则标题为空。 如果未指定层级,则假定为度量维度。 注释: 如果所有计算均用作分组项,并且这些分组项的同胞项是其它计算或成员集,则所有计算均应通过此函数明确分配给某一层级,否则会得到无法预计的结果。 唯一的例外是,如果计算仅涉及同一层级的同胞成员,则不必分配。 这种情况下,假定计算属于此层级。 47. nestedSet ( set_expr1 , set_expr2 ) 返回在 set_expr1 当前成员的上下文中求得的一组 set_expr2 成员。 48. members ( hierarchy | level ) 返回层级或级别中的成员集。 如果返回层级中的成员,则结果中无法保证成员的顺序;要按某一个顺序列出成员,必须使用明确排序的函数(如 hierarchize)。 49. mod ( integer_exp1, integer_exp2 ) 返回 integer_exp1 除以 integer_exp2 所得的余数(模数)。 integer_exp2 不能为零,否则会出现异常情况。 例如:mod ( 20 , 3 ) 结果:2 50. nextMember ( member ) 返回包含指定成员的级别中的下一个成员。 51. octet_length ( string_exp ) 返回 string_exp 包含的字节数。 例如:octet_length ( 'ABCDEF' ) 返回:6 例如:octet_length ( '' ) 结果:0 52. openingPeriod ( level [ , member ] ) 在指定级别上某一成员的子项当中,返回第一个同胞成员。 通常与时间维度配合使用。 53. order ( set_exp , value_exp [ , ASC | DESC | BASC | BDESC ] ) 通过为指定集中的每个值计算“value_exp”而得出一组值,来排列指定集中的成员,并通过第三个参数进行修改。 有两种排序方法: 层级式(ASC 或 DESC)和非层级式(BASC 或 BDESC,此处 B 表示“打破层级”)。 层级式排序方法首先按照成员在层级中的位置来排列成员。 然后它根据“value_exp”排列每个成员的子项。 非层级式排序方法对集中的成员进行排序时不考虑层级。 如果没有明确指明,则默认为 ASC。 54. ordinal ( level ) 返回指定级别的序数值(表示与根级别的距离,从零算起)。 55. parallelPeriod ( level , int_exp , member ) 返回另一时段中与指定成员具有相同相对位置的成员。 此函数与“Cousin”函数类似,但与时间顺序更密切。 它先得出处于级别“level”的成员“member”的祖项(称为“祖项”);然后得出与“祖项”相距“int exp”个位置的“祖项”同胞,并返回该同胞的子项。该子项在该同胞下面的相对位置与指定成员在“祖项”下面的相对位置相同。 56. parent ( member ) 返回指定成员的父项成员。 57. periodsToDate ( level , member ) 返回与指定成员处于同一级别的同胞成员集,并受指定级别限制。 它先查找处于“level”级别的“member”成员的祖项,然后返回此祖项中与“member”成员处于同一级别的子项(直到包括“member”成员)。 通常与时间维度配合使用。 58. position ( string_exp , string_exp ) 返回一个整值,表示第一个 string_exp 在第二个 string_exp 中的位置,或者在未找到第一个 string_exp 时返回零。 例如:position ( 'C' , 'ABCDEF' ) 结果:3 例如:position ( 'H' , 'ABCDEF' ) 结果:0 59. power ( numeric_exp1, numeric_exp2 ) 返回 numeric_exp1 的 numeric_exp2 次幂。 如果 numeric_exp1 是负数,则 numeric_exp2 的结果必须为整数值。 例如:power ( 3 , 2 ) 结果:9 60. prevMember ( member ) 返回同一级别中直接排在指定成员前面的成员。 61. roleValue ( string [ , member | set_exp ] ) 返回与指定上下文中的某一角色(其名称“string”指定)相关的属性值。 只有当存在多个限定情况,并且可由其它上下文得出时,第二个自变量才可选用。 通过按角色(而非按查询项目 ID)访问属性,可以灵活地在不同的数据源和模型之间应用。 (对于按维度建模的关系数据源,应由建模者分配角色。) 为所有数据源类型的成员定义的固有角色包括: _businessKey、_memberCaption、_memberDescription、_memberUniqueName。 62. rootMembers ( hierarchy ) 返回层级的根成员。 63. subset ( set_exp, index_exp1 [ , index_exp2 ] ) 返回指定集中成员的子集,从“index_exp1”开始。 如果指定了计数“index_exp2”,则返回多个成员(如果存在)。 否则,将返回所有剩余成员。 64. unique ( set_expr ) 从指定集中删除所有重复项。 剩余的成员保持原来的顺序。 65. value ( tuple ) 返回由数组指定的单元格的值。 注意,度量维度的默认成员是默认度量。 66. _round ( numeric_exp, integer_exp ) 返回精确到小数点右侧 integer_exp 位的数字表达式。 注:integer_exp 必须为非负整数。 示例: _round ( 1220.42369, 2 ) 结果: 1220.42 67. set ( member { , member } ) 返回表达式中定义的成员列表。 成员必须属于同一层级。 68. siblings ( member ) 返回指定成员的父项的子项。 69. sqrt ( numeric_exp ) 返回 numeric_exp 的平方根。 numeric_exp 必须是非负数。 例如:sqrt ( 9 ) 结果:3 70. substring ( string_exp , integer_exp1 [ , integer_exp2 ] ) 返回 string_exp 的子字符串。该子字符串从 integer_exp1 位置开始连续 integer_exp2 个字符或者到 string_exp 的末尾(如果未指定 integer_exp2)。 string_exp 中的第一个字符处在位置 1。 例如:substring ( 'abdefg', 3, 2) 结果:'de' 71. tail ( set_exp [ , index_exp ] ) 返回“set exp”中最后的“index_exp”个要素。 “index_exp”的默认值为 1。 72. topCount ( set_exp , index_exp , numeric_exp ) 此函数根据在“set_exp”的每个成员中算得的“numeric_exp”值对集进行排序,然后返回具有最大“index_exp”值的成员。 73. topPercent ( set_exp , numeric_exp1, numeric_exp2 ) 此函数与 topSum 类似,但阈值是“numeric_exp1”占合计的百分数。 74. topSum ( set_exp , numeric_exp1 , numeric_exp2 ) 此函数根据在“set_exp”的相应成员中算得的“numeric_exp2”值进行排序,然后挑选出累加合计值至少为“numeric_exp1”的最大项。 75. trim ( [ [ TRAILING | LEADING | BOTH ] [ match_character_exp ] , ] string_exp ) 返回截去开头和/或尾随空格的 string_exp,或者返回截去 match_character_exp 指定的某些字符的 string_exp。 如果未指定第一个自变量,则默认为 BOTH,如果未指定第二个自变量,则默认为空白。 例如:trim ( TRAILING 'A' , 'ABCDEFA' ) 结果:'ABCDEF' 例如:trim ( BOTH ' ABCDEF ' ) 结果:'ABCDEF' 76. tuple ( member { , member } ) 根据指定成员(它们必须来自不同的维度)确定单元格位置(交集)。 默认情况下,包括来自所有维度(而非自变量中指定维度)的当前成员。 如果在计算上下文时未指定维度的当前成员,假定为该维度的默认成员。 此单元格的值可通过“value”函数求得。 77. union ( set_exp1 , set_exp2 [ , ALL ] ) 此函数返回“set_exp1”和“set_exp2”这两个集的并集。 只有当可选关键字“ALL”用作第三个自变量时,结果中才会保留重复项。 78. upper ( string_exp ) 返回已将所有小写字符转化为大写字符的 string_exp。 例如:upper ( 'abcdef' ) 结果:'ABCDEF' 宏函数 此列表包含可在宏内使用的函数。 一个宏可能包含一个或多个宏函数。 通过在宏的起始处和结尾处添加井字号 (#),可以将宏分隔开来。 井字号之间的任何内容都将被视为宏表达式,并在运行宏时执行。 1. value1 + value2 连接两个字符串。 示例:# '{' + $runLocale + '}'# 结果:{en-us} 2. CAMIDList ( [ 分隔符字符串 ] ) 以值列表(使用逗号分隔)的形式返回用户身份的各个部分(帐户名、组名和角色名)。 示例: #CAMIDList ( )# 结果: CAMID("::任何人"), CAMID(":创建者"), CAMID(":查询用户"), CAMID(":消费组件"), CAMID(":度量标准创建者") 3. CAMIDListForType(身份类型) 根据身份类型(帐户、组或角色)返回用户身份阵列。 它可以与宏函数 csv 或 join 一起使用。 示例:[qs].[userRole] IN ( #csv ( CAMIDListForType ( 'role' ) ) # ) 结果:[qs].[userRole] IN ( 'Administrator', 'developer' ) 4. CAMPassport ( ) 返回护照。 示例: #CAMPassport ( )# 结果: 111:98812d62-4fd4-037b-4354-26414cf7ebef:3677162321 5. CSVIdentityName ( %parameter_map_name [ , separator_string ] ) 使用当前已验证用户的身份信息在指定的参数映射中查找数据值。 用户身份的每一部分(账户名、组名、角色名)均在映射中用作键。 从映射中检索出的唯一值列表随后作为字符串返回,其中每一个值两侧均添加单引号,多个值则用逗号隔开。 示例:#CSVIdentityName ( %security_clearance_level_map )# 结果:'level_500' , 'level_501' , 'level_700' 6. CSVIdentityName ( %parameter_map_name [ , separator_string ] ) 使用当前已验证用户的身份信息在指定的参数映射中查找数据值。 用户身份的每一部分(账户名、组名、角色名)均在映射中用作键。 从映射中检索出的唯一值列表随后作为字符串返回,其中每一个值两侧均添加单引号,多个值则用逗号隔开。 示例:#CSVIdentityName ( %security_clearance_level_map )# 结果:'level_500' , 'level_501' , 'level_700' 7. array ( string_exp | array_exp { , string_exp | array_exp } ) 从参数列表中构建阵列。 示例: #csv ( 'x1' , 'x2' , array ( 'a1' , 'a2' ) )# 结果: 'x1' , 'x2' , 'a1' , 'a2' 8. csv ( array_exp [ , separator_string [ , quote_string ] ] ) 从阵列要素中构建由逗号分隔的值字符串。 (可选)可以指定分隔符和引号字符串。 默认分隔符为逗号 (,),默认引号字符为单引号 (')。 示例: #csv ( array ( 'a1' , 'a2' ) )# 结果: 'a1' , 'a2' 9. dq ( string_exp ) 在所传递的字符串两侧添加双引号。 示例: #dq ( 'zero' )# 结果:"zero" 10. grep ( pattern_string , array_exp ) 搜索与第一个自变量中指定的样式匹配的阵列要素。 它将返回符合样式的阵列要素。 示例: #csv ( grep ( 's' , array ( 'as', 'an', 'arts' ) ) )# 结果: 'as', 'arts' 11. join ( separator_string , array_exp ) 使用分隔符字符串来联接阵列要素。 示例: # sq ( join ( ' | | ' , array ( 'as', 'an', 'arts' ) ) )# 结果: 'as | | an | | arts' 12. prompt ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) 提示用户输入单个值。 只需 prompt_name 参数。 示例: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > #prompt('Starting CountryCode', 'integer', '10' )# 结果: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE > 150 13. promptmany ( prompt_name , datatype , defaultText , text , queryItem , trailing_text ) 提示用户输入一个或多个值。 只需 prompt_name 参数。 示例: select . . . where COUNTRY_MULTILINGUAL.COUNTRY IN ( #promptmany ( 'CountryName' ) # ) 结果: select . . . where COUNTRY_MULTILINGUAL.COUNTRY_CODE IN ('Canada' , 'The Netherlands' , 'Russia') 14. sb ( string_exp ) 在所传递的字符串两侧添加方括号。 示例:#sb ( 'abc' )# 结果:[abc] 15. sort ( array_exp ) 按字母顺序为阵列要素排序。 保留重复项。 示例: #csv ( sort ( array ( 's3', 'a', 'x' ) ) )# 结果: 'a', 's3', 'x' 16. split ( pattern_string, string_exp | array_exp ) 将阵列的字符串或字符串要素分割成各个单独的要素。 示例: #csv ( split ( '::', 'ab=c::de=f::gh=i' ) )# 结果: 'ab=c' , 'de=f', 'gh=i' 示例: #csv ( split ( '=' , split ( '::', 'ab=c::de=f::gh=i' ) ) )# 结果: 'ab' , 'c' , 'de' , 'f', 'gh' , 'i' 17. sq ( string_exp ) 在所传递的字符串两侧添加单引号。 示例:#sq ( 'zero' )# 结果:'zero' 18. substitute ( pattern_string, replacement_string, string_exp | array_exp ) 在阵列的字符串或字符串要素中搜索样式,并用其它文本替换找到的文本。 示例: #sq ( substitute ( '^cn=', '***', 'cn=help' ) )# 结果: '***help' 示例: #csv ( substitute ( '^cn=', '***', array ( 'cn=help' , 'acn=5' ) ) )# 结果: '***help' , 'acn=5' 示例: #csv ( substitute ( 'cn=', '', array ( 'cn=help' , 'acn=5' ) ) )# 结果: 'help' , 'a5' 19. unique ( array_exp ) 从阵列中删除重复条目。 保留要素的原有顺序。 示例: #csv ( unique ( array ( 's3', 'a', 's3', 'x' ) ) )# 结果: 's3', 'a', 'x' 20. field_one=urlencode(prompt('userValue')) URL 编码所传递的自变量。 它在指定 XML 连接字符串时非常有用。 urlencode(prompt('some_val')) %27testValue%27

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 15 金币 [ 分享文档获得金币 ]
2 人已下载

下载文档

相关文档