Nokia Siemens Networks,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,*,Nokia Siemens Networks,*,Nokia Siemens Networks,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,Nokia Siemens Networks,2010-07-11,GSM/EGPRS KPI,脚本介绍和实践,目录,概述,SQL,语句介绍,GSM KPI,提取举例,练习,目录,概述,SQL,语句介绍,GSM KPI,提取举例,练习,概述,优化过程中熟练应用,KPI,提取脚本,可以有效提升工作效率,希望通过这次交流,大家能够掌握,KPI,提取,SQL,脚本的基本语句结构,可以根据自己的需要修改一些,SQL,脚本,能够熟练应用一些常用的,SQL,指令目录,概述,SQL,语句介绍,GSM KPI,提取举例,练习,SQL,语句介绍,SQL,脚本常用指令,select formwhereorder by,select,后面是指要选择的列,form,表名,where,后面是对行进行选择限制,order by,子句排序行,ASC:,升序排序,默认,DESC:,降序排序,ORDER BY,子句在,SELECT,语句的最后,SQL,语句介绍,Select,列别名:,改变列标题的名字,可用于计算结果,紧跟在列名后面,在列名和别名之间可以有选项,AS,关键字,如果别名中包含有空格、或者特殊字符、或者大小写敏感,要求用,双引号,选择所有的列,:,select*from dept;,列别名举例,:SELECT last_name AS name,commission_pct comm,FROM e;,SQL,语句介绍,Select,连字运算符:,连接列或者字符串到其它的列,用两个竖线表示,(|),构造一个字符表达式的合成列,举例:,SELECTlast_name,|,job_id AS Employees,ROM employees;,SQL,语句介绍,WHERE,字符串和日期,字符串和日期的值放在单引号中,字符值区分大小写,日期值是格式敏感的,日期的默认格式是,DD-MON-RR.,SELECT last_name,salary,FROM e,WHERE salary=,SQL,语句介绍,WHERE,后的逻辑条件,举例:,SELECT employee_id,last_name,job_id,salary,FROM e,WHERE salary=10000,AND job_id LIKE%MAN%;,In(list),:,把指定的一一列出,Select empno,ename,sal,mgr from e,Where mgr in(7902,7566,7788);,Like:,_,匹配单个字符,,%,匹配多个字符。
Select ename from e,Where ename like _A%;,SQL,语句介绍,显式数据类型转换,SQL,语句介绍,条件表达式,在,SQL,语句中提供,IF-THEN-ELSE,逻辑的使用,两种用法:,CASE,表达式,DECODE,函数,举例:,SELECT last_name,job_id,salary,DECODE(job_id,IT_PROG,1.10*salary,ST_CLERK,1.15*salary,SA_REP,1.20*salary,salary),REVISED_SALARY,FROM e;,SELECT last_name,job_id,salary,CASE job_id WHEN IT_PROG THEN 1.10*salary,WHEN ST_CLERK THEN 1.15*salary,WHEN SA_REP THEN 1.20*salary,ELSE salary END REVISED_SALARY,FROM e;,SQL,语句介绍,使用表别名,使用表别名简化查询,使用表别名改善性能,.,SQL,语句介绍,多表的连接,为了连接,n,个表,你最少需要,n-1,个连接条件。
例如,为了连接,3,个表,最少需要两个连接,EMPLOYEES,DEPARTMENTS,LOCATIONS,WHERE employees.department_id=departments.department_id;,WHERE departments.location_id=location.location_id,SQL,语句介绍,CREATE TABLE,语句,必须有:,CREATE TABLE,权限,一个存储区域,指定:,表名,列名、列数据类型和列的大小,CREATE TABLE,schema,.,table,(,column,datatype,DEFAULT,expr,.);,Group by、having子句,使用,Group by,语句可以让,SUM,、,AVG,等这些函数对于同一组的数据起作用,,Having,子句可以筛选组后的各组数据举例:,Select deptno,avg(sal)from emp group by deptno;,Select deptno,job,avg(sal)from emp group by deptno,job;,Select deptno,avg(sal)from emp,group by deptno having avg(sal)2000;,Select max(avg(sal)from emp group by deptno;,没有使用,group functions,的列,必须出现在,group by,子句中,而且不能使用别名。
Where,子句中不能使用,group functions,对结果的筛选要使用,having,子句group functions,可以嵌套目录,概述,SQL,语句介绍,GSM KPI,提取举例,练习,脚本示例,在,omc,上运行命令:,使用,Start d:sqltraffic.sql,或者,d:sqltraffic.sql,也可以直接进入到该目录下运行,start traffic.sql,来运行脚本GSM KPI,提取举例一,话务量的提取,公式:话务量,=ave_busy_tch/res_av_denom14,表:,p_nbsc_res_avail,小区级,Create,traffic table as,Celect,to_char(period_start_time,yyyymmdd)Sdate,to_char(period_start_time,hh24)Stime,bsc.name bsc_name,c_bts.cell_id cell id,bts.object_instance bts_id,bts.name bts_name,sum(decode(res_av_denom14,0,0,ave_busy_tch/res_av_denom14)traffic,from,p_nbsc_res_avail a,objects bsc,objects bcf,objects bts,c_bts,GSM KPI,提取举例一,where,bts.object_class=4 and,bsc.object_class=3 and,bcf.object_class=27 and,bts.parent_int_id=bcf.int_id and,bcf.parent_int_id=bsc.int_id and,c_bts.int_id=bts.int_id and,c_bts.conf_name=and,bsc.name not like For%and,bsc.name not like BSC 0,c_bts.int_id=a.bts_int_id(+),to_char(period_start_time,yyyymmddhh24)=&2010081510and,to_char(period_start_time,yyyymmddhh24)=&2010081510and,to_char(period_start_time,yyyymmddhh24)&2010081511 and,group by,bsc.object_instance,bsc.name,to_char(period_start_time,yyyymmdd),to_char(period_start_time,hh24),目录,概述,SQL,语句介绍,GSM KPI,提取举例,练习,练习,熟悉,KPI,统计公式,分别编写一个小区级与,BSC,级的掉话率,SQL,脚本,End,。