1、 QlikView 常用函数 目 录1. 基本统计函数.3 1.1. SUM 函数. 3 1.2. MIN 函数 3 1.3. MAX 函数 4 1.4. Only 函数4 1.5. Mode 函数 4 1.6. firstsortedvalue 函数.4 2. 字符串统计函数.5 2.1. MinString 函数. 5 2.2. MaxString 函数.5 2.3. Concat 函数 5 3. 计数统计函数.6 3.1. Count 函数 6 3.2. NumericCount 函数 6 3.3. TextCount 函数. 6 3.4. NullCount 函数.6 4. 统计函数.
2、 7 4.1. Avg 函数. 7 4.2. stdev 函数. 7 4.3. fractile 函数 7 4.4. skew 函数8 5. 财务统计函数.8 5.1. Irr 函数 8 5.2. Xirr 函数. 8 5.3. Npv 函数. 9 5.4. Xnpv 函数. 9 6. 高级统计函数.9 6.1. Aggr 函数9 7. 基础算数函数. 10 7.1. Div 函数 10 7.2. mod 函数.10 7.3. fmod 函数. 10 7.4. ceil 函数 11 7.5. floor 函数 11 7.6. round 函数.11 7.7. fabs 函数. 121.基本统计
3、函数 1.1. SUM 函数 sum ( set_expression distinct total expression ) 在所有符合集合表达式的记录范围内,按表达式分类求和。Examples: sum( Sales ) 针对某字段求和 sum( Price * Quantity ) 表达式求和sum( distinct Price ) 不同的价格的求和,过滤掉相同价格。sum( Sales ) / sum( total Sales ) 指定范围内统计销售额后,再除以全部销售总额,结果 是一个比率。 sum( Sales ) / sum( total Sales ) 指定范围内统计销售额后
4、,再除以按月统计的销售总额,结果是一个比率。sum( Sales ) / sum( total Sales ) 指定范围内统计销售额后,再除以按月、组统计的销售总额,结果是一个比率。sum( Sales ) / sum( total Sales ) 指定范围内统计销售额后,再除以按月、周下钻组统计的销售总额,结果是一个比率。sum( Sales ) / sum( 1 Total Sales ) 指定范围内统计销售额后,再除以全部记录的销售总额,结果是一个比率。 sum(BM01 Sales) 返回bookmark:BM01定义范围的销售总额。sum($Sales) 返回2007、2008年的销
5、售总额 与如下公式效果一样 Sum(if(Year=2007 or Year=2008,Sales) 1.2. MIN 函数 min (set_expression distinct total expression , rank) 返回表达式第几小的值,当rank默认为1时,结果是表达式的最小值。Examples: min( Sales ) 指定范围内统计最小的销售额。 min( Sales, 2) 指定范围内统计第二小的销售额。min( Price*Quantity ) min( total Sales ) 全部选定范围内统计第二小的销售额。min( 1 total Sales ) 全部范
6、围内(用户选择将对统计范围不产生影响)统计第二小的 销售额。 min( total Sales )MAX 函数 1.3. max ( set_expression distinct total expression , rank) 返回表达式第几大的值,当rank默认为1时,结果是表达式的最大值。 Examples: max( Sales ) max( Sales, 2) max( Price*Quantity ) max( total Sales ) max( 1 total Sales ) max( total Sales ) 1.4. Only 函数 only ( set_express
7、ion distinct total expression ) 返回仅有的一个值,常应用于分组汇总时,如果仅有一个值,则返回,否则返回NULL。Examples: only( Sales ) only( Price*Quantity ) only( total Salesman ) only( 1 total Sales ) only( total Salesman ) 1.5. Mode 函数 mode( set_expression distinct expression ) 返回出现频率最多的那个值。如果有两种以上的可能值,则返回NULL。Examples: mode( Product
8、) mode( X*Y/3 ) 1.6. firstsortedvalue 函数 firstsortedvalue ( set_expression distinct total expression ,sortweight,rank ) 返回各分组中按照sortweight表达式排序的第n(Rank指定)小的值。(排序由小到大)Examples: firstsortedvalue ( PurchasedArticle, OrderDate ) firstsortedvalue ( PurchasedArticle, OrderDate, -2 ) 返回按照OrderDate字段值排序的倒数第
9、二个值。 firstsortedvalue ( A/B, X*Y/3 ) firstsortedvalue ( distinct PurchasedArticle, OrderDate ) firstsortedvalue ( total PurchasedArticle, OrderDate ) firstsortedvalue ( total PurchasedArticle, OrderDate ) 2.字符串统计函数 2.1. MinString 函数 MinString( set_expression total expression,rank ) 请参考MIN函数Examples:
10、 MinString( Currency ) MinString( Left(abc,2 ) ) MinString( total Currency ) MinString( total Currency ) 2.2. MaxString 函数 MaxString( set_expression total expression ) 请参考MAX函数Examples: MaxString( Currency ) MaxString( Left( abc,2 ) ) MaxString( total Currency ) MaxString( total Currency ) 2.3. Conc
11、at 函数 concat ( set_expression distinct total expression, delimiter,sort-weight ) 使用分隔符将表达式分隔成一组数据,并且按照sort-weight表达式有小到大排序。Examples: concat( Code, ; ) concat( FirstName ) concat( total Name, ; , Date ) concat( total Name, ; , Date) 3.计数统计函数3.1. Count 函数 count( set_expression distinct total expressio
12、n ) 统计表达式的次数。按照total 逐级分组统计。Examples: count( Sales ) count( Price*Quantity ) count( distinct Price ) 3.2. NumericCount 函数 NumericCount ( set_expression distinct total expression| field ) 参考Count函数Examples: NumericCount( Sales ) NumericCount( Price*Quantity ) NumericCount( distinct Price ) NumericCou
13、nt( Sales ) / NumericCount( total Sales ) 3.3. TextCount 函数 TextCount ( set_expression distinct total expression |field ) 参考Count函数Examples: TextCount( Sales ) TextCount( Price*Quantity ) TextCount( distinct Price ) 3.4. NullCount 函数 NullCount ( set_expression distinct total expression |field ) 统计表达
14、式中空值的数量;Examples: NullCount( Sales ) 销售量为空的数量 NullCount( Price*Quantity ) NullCount( distinct Price ) 销售价格为空的数量4.统计函数4.1. Avg 函数 avg ( set_expression distinct total expression | field ) 平均值Examples: avg( Sales ) avg( X*Y/3 ) avg( distinct Price ) avg( total Sales ) avg( 1 total Sales ) avg( total Pr
15、ice ) 4.2. stdev 函数 stdev( set_expression distinct total expression | field ) 根据 group by 分组的条件,返回表达式 expression 中的样本标准偏差值。如果在表达式前加 distinct 关键字,所有重复的记录将不做计算。 Examples: stdev( Sales ) stdev( X*Y/3 ) stdev( distinct Price ) stdev( total Sales ) stdev( 1 total Sales ) stdev( total Sales ) 4.3. fractil
16、e 函数 fractile ( set_expression distinct total expression,fractile ) 根据 group by 分组的条件,返回表达式 expression 中的以分位数作为分位位置统计的值。 Examples: fractile( Sales, 0.75 ) fractile( X*Y/3, 0.9 ) fractile( total Price, 0.25 ) fractile( total Price ) 4.4. skew 函数 skew( set_expression distinct total expression | field
17、) 根据 group by 分组的条件,返回表达式 expression 中的偏移值。如果在表达式前加 distinct 关 键字,所有重复的记录将不做计算。 Examples: skew( Sales ) skew( X*Y/3 ) skew( distinct Price ) skew( total Sales ) skew( 1 total Sales ) skew( total Sales ) 5.财务统计函数 5.1. Irr 函数 irr( set_expression distinct total expression ) 根据 group by 分组的条件,返回根据表达式 ex
18、pression 的现金流的内部收益率。这些现金流不 一定要是平均的,甚至可以是年现金流。但是这些现金流必须定期存在,比如每月或者每年。 内部收益率是指投资实际支付(negative)和达到的收入(positive)的比值。函数至少需要一 个 negative 和一个 positive 值。不统计文本值,空值和丢失的值。 Examples: irr( Payments ) irr( X*Y/3 ) irr( total Payments ) irr( total Payments ) 5.2. Xirr 函数 xirr ( set_expression distinct total value
19、expression, dateexpression ) 根据 group by 分组的条件,返回一组现金流的内部收益率,这些现金流不一定是定期发生的。 所有支付都基于 365 天/年。不统计文本值,空值和丢失的值。 Examples: xirr( Payments, Dates ) xirr( A/B, X*Y/3 ) xirr( total Payments, Dates ) xirr( total Payments, Dates) 5.3. Npv 函数 npv ( set_expression distinct total rate, expression ) 根据 group by
20、分组的条件,返回指定根据一系列定期的现金流(支付 negative 和收入 positive) 和贴现率而定的投资净现值。结果根据默认的钱币格式格式化。利率是每个时期的利率。支付 和收入假设发生在每个时期的最后。不统计文本值,空值和丢失的值。 Examples: npv( 0.1, Payments ) npv( 0.1, X*Y/3 ) npv( total 0.1, Payments ) npv( total 0.1, Payments ) 5.4. Xnpv 函数 xnpv ( set_expression distinct total rate, valueexpression,dat
21、eexpression ) 根据 group by 分组的条件,返回一个时间表的现金流量(不一定定期)的汇总净现值。结果根 据默认的钱币格式格式化。利率是每个时期的利率。所有支付都基于 365 天/年。不统计文本 值,空值和丢失的值。 Examples: xnpv( 0.1, Payments, Dates ) xnpv( 0.1, A/B, X*Y/3 ) xnpv(total 0.1, Payments, Dates ) xnpv(total 0.1, Payments, Dates) 6.高级统计函数 6.1. Aggr 函数 aggr ( distinct | nodistinct s
22、et_expression expression , dimension ) 返回一个表达式值的集合, 表达式按维度计算. 每个维度都必须是一个单字段. 不可以是表达 式 (即计算维度). Examples: aggr( sum(Sales), Country)aggr( nodistinct sum(Sales), Country ) aggr( sum(Sales), Country, Region ) count( aggr( sum(Sales), Country ) 7.基础算数函数 7.1. Div 函数 div( x1 , x2 ) 整除函数Examples: div( 7,2
23、) returns 3 div( 9,3 ) returns 3 div( -4,3 ) returns -1 div( 4,-3 ) returns -1 div( -4,-3 ) returns 1 7.2. mod 函数 mod( x1 , x2 ) 求余函数. 两个参数都必须为整数,其余数也必须大于等于0. x2 必须大于零. 否则结果为NULL Examples: mod( 7,2 ) returns 1 mod( 9,3 ) returns 0 mod( -4,3 ) returns 2 mod( 4,-3 ) returns NULL mod( -4,-3 ) returns N
24、ULL 7.3. fmod 函数 fmod( x1 , x2 ) 求余函数. 两个参数都必须为整数,其结果就是整除后的余数.Examples: fmod( 7,2 ) returns 1 fmod( 9,3 ) returns 0 fmod( -4,3 ) returns -1 fmod( 4,-3 ) returns 1 fmod( -4,-3 ) returns -1 7.4. ceil 函数 ceil( x , base , offset ) 进位函数.只要有小数位就进1Examples: ceil( 2.4 ) returns 3 ceil( 2.6 ) returns 3 ceil(
25、 3.88 , 0.1 ) returns 3.9 ceil( 3.88 , 5 ) returns 5 ceil( 1.1 , 1 , 0.5 ) returns 1.5 7.5. floor 函数 floor( x , base , offset ) 取整数位,舍弃小数位Examples: floor( 2.4 ) returns 2 floor( 2.6 ) returns 2 floor( 3.88 , 0.1 ) returns 3.8 floor( 3.88 , 5 ) returns 0 floor( 1.1 , 1 , 0.5 ) returns 0.5 7.6. round 函数 round( x , step , offset ) 四舍五入函数Examples: round( 2.4 ) returns 2 round( 2.6 ) returns 3 round( 2.5 ) returns 3 round( 3.88 , 0.1 ) returns 3.9 round( 3.88 , 5 ) returns 5 round( 1.1 , 1 , 0.5 ) returns 1.5 7.7. fabs 函数 fabs( x ) 取绝对值Examples: fabs( 2.4 ) returns 2.4 fabs( -3.8 ) returns 3.8