您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > GSMKPI脚本介绍
1©NokiaSiemensNetworksNokiaSiemensNetworks2010-07-11GSM/EGPRSKPI脚本介绍和实践2©NokiaSiemensNetworks目录概述SQL语句介绍GSMKPI提取举例练习3©NokiaSiemensNetworks目录概述SQL语句介绍GSMKPI提取举例练习4©NokiaSiemensNetworks4©NokiaSiemensNetworks概述优化过程中熟练应用KPI提取脚本,可以有效提升工作效率,希望通过这次交流,大家能够掌握KPI提取SQL脚本的基本语句结构,可以根据自己的需要修改一些SQL脚本,能够熟练应用一些常用的SQL指令。5©NokiaSiemensNetworks目录概述SQL语句介绍GSMKPI提取举例练习6©NokiaSiemensNetworks6©NokiaSiemensNetworksSQL语句介绍SQL脚本常用指令select……form……where……orderbyselect后面是指要选择的列form表名where后面是对行进行选择限制orderby子句排序行–ASC:升序排序,默认–DESC:降序排序ORDERBY子句在SELECT语句的最后7©NokiaSiemensNetworks7©NokiaSiemensNetworksSQL语句介绍Select列别名:•改变列标题的名字•可用于计算结果•紧跟在列名后面–在列名和别名之间可以有选项AS关键字•如果别名中包含有空格、或者特殊字符、或者大小写敏感,要求用双引号选择所有的列:select*fromdept;列别名举例:SELECTlast_nameASname,commission_pctcommFROMe;8©NokiaSiemensNetworks8©NokiaSiemensNetworksSQL语句介绍Select连字运算符:•连接列或者字符串到其它的列•用两个竖线表示(||)•构造一个字符表达式的合成列举例:SELECTlast_name||job_idASEmployeesROMemployees;9©NokiaSiemensNetworks9©NokiaSiemensNetworksSQL语句介绍WHERE字符串和日期•字符串和日期的值放在单引号中•字符值区分大小写,日期值是格式敏感的•日期的默认格式是DD-MON-RR.SELECTlast_name,salaryFROMeWHEREsalary=3000;在写脚本时我们对时间经常会用的以下的筛选:to_char(period_start_time,'yyyymmdd')=2010081010©NokiaSiemensNetworks10©NokiaSiemensNetworksSQL语句介绍WHERE后的逻辑条件举例:SELECTemployee_id,last_name,job_id,salaryFROMeWHEREsalary=10000ANDjob_idLIKE'%MAN%';In(list):把指定的一一列出Selectempno,ename,sal,mgrfromeWheremgrin(7902,7566,7788);Like:'_'匹配单个字符,'%'匹配多个字符。SelectenamefromeWhereenamelike'_A%';11©NokiaSiemensNetworks11©NokiaSiemensNetworksSQL语句介绍显式数据类型转换12©NokiaSiemensNetworks12©NokiaSiemensNetworksSQL语句介绍条件表达式在SQL语句中提供IF-THEN-ELSE逻辑的使用两种用法:•CASE表达式•DECODE函数举例:SELECTlast_name,job_id,salary,DECODE(job_id,'IT_PROG',1.10*salary,'ST_CLERK',1.15*salary,'SA_REP',1.20*salary,salary)REVISED_SALARYFROMe;SELECTlast_name,job_id,salary,CASEjob_idWHEN'IT_PROG'THEN1.10*salaryWHEN'ST_CLERK'THEN1.15*salaryWHEN'SA_REP'THEN1.20*salaryELSEsalaryENDREVISED_SALARYFROMe;13©NokiaSiemensNetworks13©NokiaSiemensNetworksSQL语句介绍使用表别名•使用表别名简化查询•使用表别名改善性能.14©NokiaSiemensNetworks14©NokiaSiemensNetworksSQL语句介绍•多表的连接为了连接n个表,你最少需要n-1个连接条件。例如,为了连接3个表,最少需要两个连接EMPLOYEESDEPARTMENTSLOCATIONSWHEREemployees.department_id=departments.department_id;WHEREdepartments.location_id=location.location_id15©NokiaSiemensNetworks15©NokiaSiemensNetworksSQL语句介绍CREATETABLE语句必须有:CREATETABLE权限一个存储区域指定:表名列名、列数据类型和列的大小CREATETABLE[schema.]table(columndatatype[DEFAULTexpr][,...]);16©NokiaSiemensNetworks16©NokiaSiemensNetworksGroupby、having子句使用Groupby语句可以让SUM、AVG等这些函数对于同一组的数据起作用,Having子句可以筛选组后的各组数据。举例:•Selectdeptno,avg(sal)fromempgroupbydeptno;•Selectdeptno,job,avg(sal)fromempgroupbydeptno,job;•Selectdeptno,avg(sal)fromempgroupbydeptnohavingavg(sal)2000;•Selectmax(avg(sal))fromempgroupbydeptno;没有使用groupfunctions的列,必须出现在groupby子句中,而且不能使用别名。Where子句中不能使用groupfunctions。对结果的筛选要使用having子句。groupfunctions可以嵌套。17©NokiaSiemensNetworks目录概述SQL语句介绍GSMKPI提取举例练习18©NokiaSiemensNetworks18©NokiaSiemensNetworks脚本示例在omc上运行命令:使用Startd:\sql\traffic.sql或者@d:\sql\traffic.sql也可以直接进入到该目录下运行starttraffic.sql来运行脚本。19©NokiaSiemensNetworks19©NokiaSiemensNetworksGSMKPI提取举例一话务量的提取公式:话务量=ave_busy_tch/res_av_denom14表:p_nbsc_res_avail小区级CreatetraffictableasCelectto_char(period_start_time,'yyyymmdd')Sdate,to_char(period_start_time,'hh24')Stime,bsc.namebsc_name,c_bts.cell_idcellid,bts.object_instancebts_id,bts.namebts_name,sum(decode(res_av_denom14,0,0,ave_busy_tch/res_av_denom14))trafficfromp_nbsc_res_availa,objectsbsc,objectsbcf,objectsbts,c_bts20©NokiaSiemensNetworks20©NokiaSiemensNetworksGSMKPI提取举例一wherebts.object_class=4andbsc.object_class=3andbcf.object_class=27andbts.parent_int_id=bcf.int_idandbcf.parent_int_id=bsc.int_idandc_bts.int_id=bts.int_idandc_bts.conf_name='ACTUAL'andbsc.namenotlike'For%'andbsc.namenotlike'BSC0‘c_bts.int_id=a.bts_int_id(+)to_char(period_start_time,'yyyymmddhh24')=&2010081510andto_char(period_start_time,'yyyymmddhh24')&2010081511andgroupbybsc.name,c_bts.cell_id,bts.object_instance,bts.name,to_char(period_start_time,'yyyymmdd'),to_char(period_start_time,'hh24')21©NokiaSiemensNetworks21©NokiaSiemensNetworksGSMKPI提取举例二话务量的提取BSC级(与CELL级的差别)CreatetraffictableasCelectto_char(period_start_time,'yyyymmdd')Sdate,to_char(period_start_time,'hh24')Stime,bsc.object_instancebsc_id,bsc.namebsc_name,sum(decode(res_av_denom14,0,0,ave_busy_tch/res_av_denom14))trafficfromp_nbsc_res_availa,objectsbsc,objectsbcf,objectsbts,c_btswherebts.object_class=4andbsc.object_class=3andbcf.object_class=27andbts.parent_int_id=bcf.int_idandbcf.parent_int_id=bsc.int_idandc_bts.int_id=bts.int_idand22©NokiaSiemensNetworks22©NokiaSiemensNetworksGSMKPI提取举例二话务量的提取BSC级bsc.namenotlike'For%'andbsc.namenotlike'BSC0‘c_bts.int_id=a.bts_int_id(+)to_char(period_start_time,'yyyymmddhh24')=&2010081510andto_char(period_start_time,'yyyymmddhh24')&2010081511andgroupbybsc.object_instance,bsc.name,to_char(period_start_time,'yyyymmdd'),to_char(period_start_time,'hh24')23©NokiaSiemensNetworks目录概述SQL语句介绍GSMKPI提取举例练习24©NokiaSiemensNetworks24©NokiaSiemensNetworks练习•熟悉KPI统计公式•分别编写一个小区级与BSC级的掉话率SQL脚本25©Nokia
本文标题:GSMKPI脚本介绍
链接地址:https://www.777doc.com/doc-837379 .html