《谁说菜鸟不会数据分析(工具篇)--笔记.docx》由会员分享,可在线阅读,更多相关《谁说菜鸟不会数据分析(工具篇)--笔记.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、 Accessa) 函数计算i. DATADIFF1. DATADIFF(“参数”,起始时间,结束时间)2. 参数说明参数说明yyyy年q季度m月d天w周h时n分s秒3. 例句SELECT 用户ID,注册日期,DATEDIFF(“D”,注册日期,#2011-12-31#) AS 注册天数FROM 用户明细;ii. Access数据库常用函数函数类别常用函数说明日期Year()返回给定日期的年份Month()返回给定日期的月份Day()返回给定日期的天Date()返回系统日期DateDiff()计算两个给定日期的间隔,DateDiff(参数,起始日期,结束日期),参数详见参数表DataPar
2、t()返回给定时间的指定部分,DatePart(参数,日期),参数详见参数表数学Abs()返回数值的绝对值Int()返回数值的整数部分Round()将数值四舍五入到指定的小数位数字符Len()返回字符串的长度Mid()返回字符串从指定位置开始指定个数的字符Left()返回字符串从左边开始指定个数的字符Right()返回字符串从右边开始指定个数的字符b) 数值分组i. IIF函数法1. 与Excel中的IF函数用法及功能一样。在Access数据库中,IIF函数最多可进行13层嵌套2. IFF(表达式,表达式成立时返回的值,表达式不成立时返回的值)3. 例句a) SQLSELECT 用户ID,年龄
3、,IIF(年龄=20,”20岁及其以下”,IIF(年龄=30,”21-30岁”,IIF(年龄=40,”31-40岁”,“40岁以上”) AS 年龄分组FROM 用户明细;b) 结果用户ID年龄年龄分组1000002321-30岁1000011820岁及其以下1000022421-30岁1000063021-30岁1000102221-30岁1000112021-30岁1000124540岁以上1000132020岁及其以下1000152421-30岁1000162721-30岁1000174440岁以上1000194140岁以上1000202221-30岁ii. CHOOSE1. 与Excel
4、中的CHOOSE函数用法及功能一样。2. CHOOSE(参数,结果1,结果2,结果N)3. 说明:a) 参数可为表达式,如果参数或表达式返回的值为1,则函数CHOOSE返回结果1;如果参数或表达式返回的值为2,函数CHOOSE返回结果2,以此类推。b) 参数或表达式返回的值必须为1254的数字,如果小于1或者大于254,则Access数据库将返回错误值“#VALUE!”。c) 如果参数为小数,则在使用前将被截尾取整,即相当于Excel中的INT函数效果。4. 例句SELECT 用户ID,年龄,CHOOSE(年龄-1)/10+1,”10岁及其以下”,”11-20岁”,”21-30岁”,”31-4
5、0岁”,”40岁以上”) AS 年龄分组FROM 用户明细;5. 结果用户ID年龄年龄分组1000002321-30岁1000011820岁及其以下1000022421-30岁1000063021-30岁1000102221-30岁1000112021-30岁1000124540岁以上1000132020岁及其以下1000152421-30岁1000162721-30岁1000174440岁以上1000194140岁以上1000202221-30岁iii. SWITCH1. SWITCH(条件1,结果1,条件2,结果2,条件N,结果N)2. 说明a) 如果条件1为True,SWITCH将返回结
6、果1,如果条件2为True,SWITCH将返回结果2,以此类推。b) 参数由成对的条件表达式和结果值组成,条件表达式按照从左到右的顺序求值,将返回与第一个求职结果为True的表达式相对应的结果值。c) SWITCH函数在SQL语句中的表达式最多可以达到14个,如果多于14个,将提示错误。d) 如果所有表达式的结果值都不为True,SWITCH将返回Null。3. 例句SELECT 用户ID,年龄,SWITCH(年龄=20,”20岁及其以下”,年龄=30,”21-30岁”,年龄40,”40岁以上”) AS 年龄分组FROM 用户明细;4. 运行结果与IIF函数分组效果相同,但SWITCH函数会让
7、人感觉分组更清晰些。iv. PARTITION1. PARTATION(数值参数,开始值,结束值,组距)2. 说明:a) 数值参数为要根据范围进行计算的整数。b) 开始值必须为整数,并且不能小于0。c) 结束值也必须为整数,该数值不能等于或小于开始值。d) 组距也必须为整数,指定在整个数值范围内(在开始值与结束值之间)的分区大小。e) PARTITION返回的内容为每组的“下限:上限”。3. 例句SELECT 用户ID,年龄,PARTITION(年龄,1,100,20) AS 年龄分组FROM 用户明细;4. 结果用户ID年龄年龄分组1000002321:40100001181:2010000
8、22421:401000063021:401000102221:40100011201:201000124541:60100013201:201000152421:401000162721:401000174441:601000194141:601000202221:40v. 四个分组函数的优缺点比较数值分组函数优点缺点IIF可进行不等距分组语句冗长,极易出错IFF函数最多可进行13层嵌套CHOOSE分组可达254个只能进行等距分组SWITCH可进行不等距分组条件表达式最多达到14个PARTITION分组不限语句简单、清晰、明了只能进行等距分组c) 日期/时间分组i. FORMAT(日期/时间
9、,时间/日期格式参数)日期/时间格式参数说明:(冒号)时间分隔符/日期分隔符d根据需要以一位或两位数字表示一个月中的第几天(131)dddd星期的全称(SundaySaturday)w一周中的第几天(17)ww一年中的第几周(153)m根据需要以一位或两位数字表示一年中的月份(112)mmmm月份的全称(JanuaryDecember)q一年中的地级季度(14)y一年中的第几天(1366)yyyy完整的年份(01009999)h根据需要以一位或两位数字表示小时(023)n根据需要以一位或两位数字表示分钟(059)s根据需要以一位或两位数字表示秒(059)ii. 例句SELECT 订单编号,订购
10、日期,FORMAT(订购日期,”yyyy”) AS 年,FORMAT(订购日期,”q”) AS 季,FORMAT(订购日期,”m”) AS 月,FORMAT(订购日期,”d”) AS 日,FORMAT(订购日期,”dddd”) AS 星期,FORMAT(订购日期,”h”) AS 小时,FORMAT(订购日期,”n”) AS 分,FORMAT(订购日期,”s”) AS 秒FROM 订购明细;iii. 结果订单编号订购日期年季月日星期小时分秒1190322912011-9-2 8:17:002011392Friday81701190322922011-9-2 8:17:002011392Frida
11、y81701190322932011-9-2 8:17:002011392Friday81701190322942011-9-2 8:17:002011392Friday81701190322952011-9-2 8:17:002011392Friday81701190322962011-9-2 8:17:002011392Friday81701190322972011-9-2 8:17:002011392Friday81701190322982011-9-2 8:17:002011392Friday81701190322992011-9-2 8:17:002011392Friday81701
12、190323002011-9-2 8:17:002011392Friday81701190323012011-9-2 8:17:002011392Friday81701190323022011-9-2 8:17:002011392Friday81701190323032011-9-2 8:17:002011392Friday81701190323042011-9-2 8:18:002011392Friday81801190323052011-9-2 8:18:002011392Friday81801190323062011-9-2 8:18:002011392Friday81801190323
13、072011-9-2 8:18:002011392Friday81801190323082011-9-2 8:18:002011392Friday81801190323092011-9-2 8:18:002011392Friday81801190323102011-9-2 8:18:002011392Friday81801190323112011-9-2 8:18:002011392Friday81801190323122011-9-2 8:18:002011392Friday81801190323132011-9-2 8:18:002011392Friday8180d) 重复项查询i. Co
14、unt就是计数的意思HAVING Count(用户ID)1对用户ID出现2次及以上的数据进行分组ii. 不重复项查询SELECT 用户ID,Count(用户ID) AS NumberOfDupsFROM 订购明细GROUP BY 用户IDHAVING Count(用户ID) = 1;iii. 数据去重查询Excel删除重复项功能1. GROUP BY子句SELECT 用户IDFROM 订购明细GROUP BY 用户ID;2. DISTINCTSELECT DISTINCT 用户IDFROM 订购明细;e) 简单统计i. Access常用统计函数统计函数说明Count()统计指定列中值的个数Su
15、m()计算数值型数据的总和Avg()计算数值型数据的平均值Max()筛选出数据的最大值Min()筛选出数据的最小值StDev()计算数据型数据的标准差Var()计算数值型数据的方差ii. 例句SELECTCount(订单编号) AS 订单总数Sum(订购金额) AS 订单金额总额Avg(订购金额) AS 平均订单金额FROM 订购明细;f) 分组统计i. 例句1SELECTCount(订单编号) AS 订单总数Sum(订购金额) AS 订单金额总额Avg(订购金额) AS 平均订单金额FROM 订购明细GROUP BY 产品;ii. 例句2SELECT FORMAT(订购日期,”h”) AS 时段Count(订单编号) AS 订单数FROM 订购明细GROUP BY FORMAT(订购日期,”h”);