PowerBI数据分析与可视化概述PPT完整全套教学课件_第1页
PowerBI数据分析与可视化概述PPT完整全套教学课件_第2页
PowerBI数据分析与可视化概述PPT完整全套教学课件_第3页
PowerBI数据分析与可视化概述PPT完整全套教学课件_第4页
PowerBI数据分析与可视化概述PPT完整全套教学课件_第5页
已阅读5页,还剩622页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据分析与可视化概述13-6月-23第1章数据分析与可视化概述第2章数据获取第3章M语言数据建模与处理(1)第3章M语言数据建模与处理(2)第4章DAX语言数据处理(1)第4章DAX语言数据处理(2)第5章数据分析可视化(1)第5章数据分析可视化(2)第6章数据分析报表第7章PowerBI移动版数据部署第8章自助售货机综合案例(1)第8章自助售货机综合案例(2)1认识常用的数据可视化工具目录认识数据分析2认识PowerBI3广义数据分析:指依据一定的目标,通过统计分析、聚类、分类等方法发现大量数据中的目标隐含信息的过程。广义数据分析包括狭义数据分析和数据挖掘。掌握数据分析的概念狭义的数据分析:指根据分析目的,采用对比分析、结构分析、相关分析和描述性分析等分析方法,对收集的数据进行处理与分析,提取有价值的信息,发现数据中隐藏的关系,最终得到一个特征统计量结果的过程。数据挖掘:是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,通过应用聚类模型、分类模型、预测模型和关联规则等技术,挖掘潜在价值的过程。掌握数据分析的概念掌握数据分析的概念掌握狭义数据分析的流程需求分析一词来源于产品设计,主要是指从用户提出的需求出发,挖掘用户内心的真实意图,并转化为产品需求的过程。产品设计的第一步就是需求分析,也是最关键的一步,因为需求分析决定了产品方向,错误的需求分析可能导致在产品实现过程中走入错误方向,甚至对企业造成损失。需求分析也是数据分析环节的第一步,也是非常重要的一步,决定了后续的分析方向和方法。数据分析中的需求分析的主要内容是,根据业务、生产和财务等部门的需要,结合现有的数据情况,提出数据分析需求的整体分析方向、分析内容,最终和需求方达成一致意见。掌握狭义数据分析的流程1.需求分析数据获取是数据分析工作的基础,是指根据数据分析的需求获取相关原始数据的过程。数据获取主要有两种途径:直接来源与间接来源。

直接来源通常指来源于本人或者第一方获取的第一手数据,包括但不限于业务记录、调查结果和实验结果等等。

间接来源指来源于他人获取的第二手数据,基于别人的调查或实验的结果,通常由一些权威的公司或政府部门提供。数据可能由不同种类的载体提供,包括Excel文件,Web数据和数据库等。在数据分析过程中,具体使用哪种数据获取方式,依据需求分析的结果而定。掌握狭义数据分析的流程2.数据获取数据预处理是指对数据进行数据集成、数据清洗、数据变换和数据归约,并用于分析建模这一过程的总称。数据集成可以将多张互相关联的数据合并为一张。数据清洗用于修整数据中包含的不完整数据、含噪声数据和不一致数据。数据变换则可以通过规范化、逆透视列等技术处理数据,将数据转换成适合于分析的形式。数据规约通过字段规约、数据提取与数据泛化,在尽可能保持数据原貌的前提下,最大限度地精简数据量,满足后续数据可视化与建模的数据要求。在数据分析的过程中,数据预处理的各个过程互相交叉,并没有明确的先后顺序。掌握狭义数据分析的流程3.数据预处理数据建模是指建立数据间的逻辑关系和进行数据操作的过程。数据建模通过建立表间关系处理多个数据表的链接关系。建模中的数据通常存储在表、列与度量值中。其中,新产生的“计算列”与“计算表”为直接引用其它列数据或其它表数据的运算结果,而度量值则是存放在一定的筛选条件下对数据源进行聚合运算结果的单个数据。掌握狭义数据分析的流程4.数据建模数据建模中排序将数据按照期望的顺序进行排列,能够在后续的可视化步骤中更好的展示数据关于序列的变化规律。而分组则能将数据进行分段切割,用于展示数据不同间隔间的差异。掌握狭义数据分析的流程4.数据建模数据可视化定义:通过图表直观的展示数据间的量级关系,其目的是将抽象信息化为具体的图形,将隐藏于数据中的规律直观地展现出来。通过数据可视化可进行的分析包含对比分析、结构分析、相关性分析、描述性分析等。常用的类型:条形图、柱形图、散点图、折线图、饼图、环形图、瀑布图、漏斗图、地图等。需要选择合适的图表进行可视化展示。掌握狭义数据分析的流程5.数据可视化部署是指将数据分析结果与结论应用至实际生产系统的过程。根据需求的不同,部署阶段可以是一份包含了现状具体情况的数据分析报表,也可以是将分析模型部署在整个生产系统。在多数项目中,数据分析师提供的是一份数据分析报告或者一套解决方案,实际执行与部署的是需求方。掌握狭义数据分析的流程6.数据部署客户分析主要是根据客户的基本数据信息进行商业行为分析。步骤如下:首先界定目标客户,根据客户的需求、目标客户的性质、所处行业的特征以及客户的经济状况等基本信息,使用统计分析方法和预测验证法分析目标客户,提高销售效率。其次了解客户的采购过程,根据客户采购类型、采购性质进行分类分析,制定不同的营销策略。了解数据分析应用场景1.客户分析(CustomerAnalytics)最后还可以根据已有的客户特征进行客户特征分析、客户忠诚分析、客户注意力分析、客户营销分析和客户收益率分析。通过有效的客户分析能够掌握客户具体行为特征,将客户细分,使得运营策略达到最优,提升企业整体效益等。了解数据分析应用场景1.客户分析(CustomerAnalytics)囊括产品分析、价格分析、渠道分析、广告与促销分析这4类分析。产品分析主要是竞争产品分析,通过对竞争产品的分析制定自身产品策略。价格分析又可以分为成本分析和售价分析。成本分析的目的是降低不必要成本。售价分析的目的是制定符合市场的价格。渠道分析是指对产品的销售渠道进行分析,确定最优的渠道配比。广告与促销分析则能够结合客户分析,实现销量的提升、利润的增加。了解数据分析应用场景2.营销分析(SalesandMarketingAnalytics)社交媒体分析是以不同的社交媒体渠道生成的内容为基础,实现不同社交媒体的用户分析、访问分析和互动分析等。用户分析主要根据用户注册信息、登录平台的时间点和平时发表的内容等用户数据,分析用户个人画像和行为特征;访问分析则是通过用户平时访问的内容分析用户的兴趣爱好,进而分析潜在的商业价值;互动分析根据互相关注对象的行为预测该对象未来的某些行为特征。同时,社交媒体分析还能为情感和舆情监督提供丰富的资料。了解数据分析应用场景3.社交媒体分析(SocialMediaAnalytics)大规模网络安全事件(例如,2017年5月席卷全球的WannaCry病毒)的发生,让企业意识到网络攻击发生时预先快速识别的重要性。传统的网络安全主要依靠静态防御,处理病毒的主要流程是发现威胁、分析威胁和处理威胁,往往在威胁发生以后才能做出反应。新型的病毒防御系统可使用数据分析技术,建立潜在攻击识别分析模型,监测大量网络活动数据和相应的访问行为,识别可能进行入侵的可疑模式,做到未雨绸缪。了解数据分析应用场景4.网络安全(CyberSecurity)设备管理同样是企业关注的重点。设备维修一般采用标准修理法、定期修理法和检查后修理法等方法。标准修理法可能会造成设备过剩修理,修理费用高检查后修理法解决了修理费用成本问题,但是修理前的准备工作繁多,设备的停歇时间过长。目前企业能够通过物联网技术收集和分析设备上的数据流,包括连续用电、零部件温度、环境湿度和污染物颗粒等无数潜在特征,建立设备管理模型,从而预测设备故障,合理安排预防性的维护,以确保设备正常作业,降低因设备故障带来的安全风险。了解数据分析应用场景5.设备管理(PlantandFacilityManagement)物流是物品从供应地向接收地的实体流动,是将运输、储存、装卸搬运、包装、流通加工、配送和信息处理等功能有机结合起来而实现用户要求的过程。用户可以通过业务系统和GPS定位系统获得数据,使用数据构建交通状况预测分析模型,有效预测实时路况、物流状况、车流量、客流量和货物吞吐量,进而提前补货,制定库存管理策略。了解数据分析应用场景6.交通物流分析(TransportandLogisticsAnalytics)身份信息泄露及盗用事件逐年增长,随之而来的是欺诈行为和交易的增多。公安机关、各大金融机构、电信部门可利用用户基本信息、用户交易信息和用户通话短信信息等数据,识别可能发生的潜在欺诈交易,做到提前预防、未雨绸缪。以大型金融机构为例,通过分类预测对非法集资和洗钱的逻辑路径进行分析,找到其行为特征。聚类分析方法可以分析相似价格的运动模式。例如对股票进行聚类,可能发现关联交易及内幕交易的可疑信息。关联分析可以监控多个用户的关联交易行为,为发现跨账号协同的金融诈骗行为提供依据。了解数据分析应用场景7.欺诈行为检测(FraudDetection)1认识常用的数据可视化工具目录认识数据分析2认识PowerBI3数据可视化工具的特性特性操作简单实时更新多种数据源多维度展现按照基于的语言大体可分为如下3类:数据可视化工具的分类无需编程语言的工具TableauFineReportPowerBIRawInfogram等基于JavaScript实现的工具Chart.js、D3EChartsFusionCharts等基于其他语言实现的工具基于PHP的jpGraph基于Java的Processing基于Python的NodeBox、R、Weka等。3PowerBI2FineReport1Tableau常用的数据可视化工具Tableau是桌面系统中最简单的商业智能工具之一,它不强迫用户编写自定义代码,新的控制台可由用户自定义配置。Tableau的灵活易用让业务人员能够一同参与报表开发与数据分析进程,通过自助式可视化分析深入挖掘商业洞察与见解。常用的数据可视化工具TableauTableau的特点:常用的数据可视化工具Tableau1.极速高效2.简单易用,学习成本低3.可连接多种数据源,轻松实现数据融合4.高效接口集成,具有良好可扩展性,提升数据分析能力FineReport报表软件是一款由纯Java编写的、集数据展示(报表)和数据录入(表单)功能于一身的企业级web报表工具,它具有“专业、简捷、灵活”的特点和无码理念,仅需简单的拖拽操作便可以设计复杂的报表,搭建数据决策分析系统。常用的数据可视化工具FineReportFineReport的特征:常用的数据可视化工具FineReport1.功能全面且专业2.设计报表简单高效,学习成本低3.行业积累丰富PowerBI是一套商业分析工具,用于在组织中提供见解。可连接数百个数据源、简化数据准备并提供即时分析。生成美观的报表并进行发布,供组织在Web和移动设备上使用。每个人都可创建个性化仪表板,获取针对其业务的全方位独特见解。在企业内实现扩展,内置管理和安全性。常用的数据可视化工具PowerBIPowerBI的特征:常用的数据可视化工具PowerBI1.在一个窗格中查看所有信息2.让细节更生动3.将数据转换为决策4.共享最新信息5.在网站上分享见解1认识常用的数据可视化工具目录认识数据分析2认识PowerBI3PowerBI的下载第一步:进入PowerBI官方网站,单击“高级下载选项”后打开PowerBIDesktop下载页面。PowerBI的下载第二步:单击“下载”按钮,弹出“选择您要下载的程序”对话框,根据自己的计算机系统选择合适的安装包。PowerBI的下载第三步:单击“Next”按钮,选择文件的保存路径,这里选择“下载”文件夹。PowerBI的安装第一步双击下载的“PBIDesktop_x64.mis”文件,弹出安装向导对话框,单击“下一步”按钮。第二步跳转至“软件许可对话框”,勾选“我接受许可协议中的条款”复选框第三步弹出“目标文件夹”对话框,单击“更改”按钮,指定安装位置,之后单击“下一步”按钮。第四步在弹出的“准备安装对话框”中,默认勾选“创建桌面快捷键”复选框,单击“安装”按钮。第五步弹出“安装完成对话框”,单击“完成”按钮,PowerBIDesktop的安装过程到此结束。PowerBIDesktop界面PowerBIDesktop界面顶部导航栏主要包括“文件”“开始”“视图”“建模”等选项卡,用于数据可视化操作。报表画布显示工作内容的区域,创建可视化效果时,在画布中会生成和显示这些可视化效果。报表编辑器由“可视化”“筛选器”“字段”3个窗格组成。PowerBIDesktop中有报表视图、数据视图和关系视图3种。PowerBI视图报表视图:可以创建任何数量的具有可视化内容的报表页、可视化内容可以移动,也可以进行复制、粘贴、合并等操作。PowerBI视图数据视图:显示的数据是其加载到模型中的样子,便于浏览、检查和编辑PowerBIDesktop模型中的数据。PowerBI视图功能区公式栏数据视图图标数据网格搜索字段列表关系视图:显示模型中的所有表、列与关系,尤其适用于包含许多表且关系复杂的模型。例如,员工任务表与员工销售表之间的关系。PowerBI视图报表视图界面有3个窗格:“可视化”“筛选器”“字段”。PowerBI窗格“可视化”窗格:可选择可视化效果,在“可视化”窗格的下方会显示“字段”图标、“格式”图标、“分析”图标。PowerBI窗格“筛选器”窗格:主要用于查看、设置和修改数据,根据所选择的可视化效果的类型,具体选项将会有所差异。PowerBI窗格“字段”窗格:显示数据中的表和字段,用于创建可视化效果。PowerBI窗格数据获取13-6月-231获取数据目录认识数据来源2直接来源间接来源数据获取方式数据来源了解直接数据来源1.直接数据来源获取的基本途径直接来源就是来源于本人或本公司直接记录、调查或实验的结果,又称为第一手数据。最简单的直接来源数据是委托调查公司所持有的Excel文件或数据库的数据。由于这些数据多数已经按一定的规范来存放,后期处理都会非常简单。但在某些情况下,直接来源数据需要数据分析公司使用调查方式来获取。在数据分析部门主管接到数据分析任务后,先与市场调查人员(规模较小公司的数据分析人员和市场调查人员通常是隶属于同一个部门)明确调研目的、确定调研对象、选择调查方法、确定调查进度和人员需求和确定调研预算。这种调查问卷获取数据的方法又称为抽查法。采用这种方法可省时省力,但由于调查局限在一定的范围,未调查部分出现的问题也不能反映出来。这种调查问卷获取数据的方法又称为抽查法。了解直接数据来源2.调查问卷介绍调查问卷的构成了解直接数据来源调查问卷的构成问卷标题问卷说明调查内容结束语2.调查问卷介绍调查问卷的调查途径了解直接数据来源网上调查发送邮件问卷调查网站现场调查IPAD纸张问卷电话调查电话沟通2.调查问卷介绍间接来源:来源于别人调查或实验的数据,又称为第二手数据。下表列出一些常用的提供统计数据的网站,其中部分网站甚至提供数据分析可视化服务。了解间接数据来源网站名称网址领域国家数据/国内经济数据、国情国力普查计划等方面的统计中华人民共和国民政部/社会救助、救灾工作、社会团体、基金会、民办非企业单位登记管理等方面的数据展示。文字数据收录在《中国民政统计年鉴》美国政府公开数据/美国经济数据、国情国力普查计划等方面的统计Alexa/提供中文网站排名查询、网站流量查询、网站访问量查询、网站页面浏览量查询服务UCI数据库/ml/datasets.html机器学习算法使用的测试数据库间接数据获取的基本途径情况渠道情况1:个人和商业公司的力量有限报纸、书籍、统计年鉴、相关网站及专业调查公司等情况2:调查的领域专业性较强1.查阅相关的专业性网站2.使用搜索引擎的高级搜索功能1获取数据目录认识数据来源2商务数据很多时候会以Excel的格式保存。例如,获取本机上一份名为“客户信息表”的Excel数据,达到的“字段”窗格效果如下图所示,实现步骤如下。获取Excel数据(1)在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Excel”命令。如下图所示。(2)在本机上找到“客户信息表.xlsx”文件,并选中后,单击“打开”按钮。获取Excel数据(3)在弹出的“导航器”对话框中,勾选“显示选项”中的“客户信息表”,单击“加载”按钮,如下图所示。(4)此时回到报表视图,在“字段”窗格就出现“客户信息表”,如右图。获取Excel数据在日常的工作中,数据经常以网络的形式展示出来,因此,获取Web数据也是获取数据重要途径之一。例如,获取百度百科上的一组Web数据,达到的“字段”窗格效果如下图所示,实现步骤如下。获取Web数据(1)在百度搜索“NBA季后赛得分榜”后,搜索排名第一的数据是百度百科的数据。其界面如下图所示。获取Web数据(2)在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Web”命令,如下图所示。获取Web数据(3)在弹出的“从Web”对话框中,勾选“基本”单选框,“URL”中填写本网页的网址,如下图所示,完成后单击“确定”按钮。获取Web数据(4)在弹出的“访问Web内容”对话框中,单击“连接”按钮,如下图。获取Web数据(5)在弹出的“导航器”对话框中,勾选“显示选项”中的“Table0”表,单击“加载”按钮,如左下图所示。这时回到报表视图,“字段”窗格就出现“Table0”数据表,如右下图所示。获取Web数据(6)右键单击“字段”窗格中的“Table0”,选择“重命名”,将其重命名为“NBA季后赛得分表”,得到的效果如左下图所示。(7)在“开始”选项卡的“外部数据”组中,单击“刷新”命令获取最新数据,如右下图所示。获取Web数据MySQL是一款应用广泛的关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下的产品。由于其体积小、速度快、总体拥有成本低和开放源码等特点,一般中小型网站的开发都选择MySQL作为网站数据库。例如,获取MySQL中“schemas”为businessdb,“table”为user的数据,得到的“字段”窗格效果如下图所示,实现步骤如下。获取MySQL数据(1)将数据导入数据库。在DOS命令提示符窗口输入netstartmysql命令启动MySQL数据库。在MySQL数据库中新建一个名为“businessdb”的空数据库,之后使用可视化工具(Navicat)运行“businessdb.sql”文件将数据导入“businessdb”数据库中。(2)在“开始”选项卡中,依次单击“获取数据”“更多…”命令,在弹出的“获取数据”对话框中选择“MySQL数据库”,单击“连接”按钮。如右图所示。获取MySQL数据(3)此时MySQL数据库提示需要安装组件,单击对话框中的“了解详细信息”超链接,如左下图所示。(4)超链接指向MySQL数据库的官方下载网站,找到Connector/NET组件,网站会自动显示最新的组件版本,根据使用者的软硬件配置选择合适的选项后,单击“Download”命令,如右下图所示。获取MySQL数据(5)安装完成后,重启PowerBI软件,重新完成步骤(2)的操作,在左下图所示的“MySQL数据库”对话框中,设置“服务器”为localhost,“数据库”为businessdb,单击“确定”按钮。(6)在新弹出的“MySQL数据库”对话框中,单击左侧的“数据库”选项,输入MySQL的用户名与密码,单击“连接”按钮,如右下图所示。获取MySQL数据(7)在弹出的“加密支持”对话框中,单击“确定”按钮,如左下图所示。(8)在“导航器”对话框中,勾选“显示选项”的“businessdb.user”,单击“加载”按钮,如右下图所示获取MySQL数据(9)此时回到报表视图,在“字段”窗格就出现“客户信息表”,如下图所示。获取MySQL数据

M语言数据预处理13-6月-231集成数据目录认识PowerQuery和M语言2清洗数据3PowerQuery是一种用于数据抽取(DataExtraction)、数据转换(DataTransformation)和数据加载(DataLoading)的数据预处理工具。数据抽取、数据转换和数据加载这3种操作在数据分析可以简称为ETL。通常情况下,在整个数据分析项目中,ETL会占据约三分之一的时间。在数据抽取阶段,经常会处理不同数据源的数据,这时需要完成集成数据任务。在数据转换阶段,需要处理不完整数据、含噪声的数据和不一致的数据,同时将数据转换成方便后期分析的格式,这时需要完成清洗数据、变换数据和归约数据等任务。了解PowerQuery和M语言最后这些处理好的数据加载到数据仓库。各数据任务并没有固定的先后顺序。了解PowerQuery和M语言PowerQuery适用于Excel2010以上版本,在Excel2010以及Excel2013中需要下载插件安装加载后使用,在Excel2016版本中,PowerQuery被内置在“数据”选项卡的“新建查询”命令中(PowerQuery在Excel2016中称为“获取和转换”),如左下图所示。而在PowerBI中则通过“开始”选项卡的“外部数据”组中的“编辑查询”命令实现PowerQuery的所有功能,如右下图所示。了解PowerQuery和M语言Excel在处理百万行级别以上数据的情况下,会产生内存问题导致频繁死机。在PowerQuery中,数据分析的数据量不再受限于数据的行数,而是由内存决定。PowerQuery既可以快速关联并整合多种来自不同数据源的数据信息,还可以像数据库管理操作一样对表结构及其中的数据进行加工整理。了解PowerQuery和M语言PowerQuery编辑器里的每一个操作步骤叫一个“查询”。“查询”的代码可以通过单击PowerQuery编辑器的“开始”选项卡中“查询”组中的“高级编辑器”命令实现。每个“查询”以“let”开始,以“in”结束,“高级编辑器”对话框的每一行代码对应“查询设置”窗格的“应用的步骤”的每一个步骤,如下图所示。“in”下一行的“删除的列”对应“应用的步骤”的最后一个步骤的名称。使用M语言获取网络分页数据PowerQuery的赋值表达式形如Page=(xasnumber),意思将数值类型(用number表示)“x”的值赋值给Page。而PowerQuery的所有“查询”均通过PowerQuery函数实现,例如,Text.From(x)是将参数x变为文本型,Text.From(1)相当于文本型的“1”。使用M语言获取网络分页数据中国财经信息网是一家提供全球股票与基金走势数据的大型网站。以国内的A股股票为例(网址为/quoteList.aspx?sortcol=stockcode?sortway=asc&pageindex=1§ypeid=1),由于其数据比较多,需要数十个分页,每个分页100条数据才能完全显示,左下图为2018年度各分页的超链接和第一页的前5条数据。现在需要将这数十页的数据整合至PowerBI中的股票数据表中存放,“字段”窗格显示各字段的效果如右下图所示,实现步骤如下。使用M语言获取网络分页数据(1)分析网址。该数据的网址/quoteList.aspx?sortcol=stockcode?sortway=asc&pageindex=1§ypeid=1中,pageindex=1表示当前的页码,在这个页码数字的位置将网址分为3个部分,第1部分为:/quoteList.aspx?sortcol=stockcode?sortway=asc&pageindex=;第2部分为:1;第3部分为:§ypeid=1。使用M语言获取网络分页数据(2)获取数据。在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Web”命令。在弹出的“从Web”对话框中,勾选“高级”单选框,“URL部分”的设置通过单击“添加部件”按钮增加至3个部件后,根据步骤(1)中网址的3个部分依次填入,如下图所示,其它参数保持默认值,最后单击“确定”按钮。使用M语言获取网络分页数据(3)编辑类型有误的数据。在“导航器”对话框中,勾选“显示选项”的Table0,如左下图所示,发现Tabel0表格“代码”字段的格式显示不正确,所以需要进行编辑。单击图38中的“编辑”按钮,在弹出的PowerQuery编辑器中,右键单击“代码”字段,依次选择“更换类型”“文本”命令,得到的效果如右下图所示。使用M语言获取网络分页数据(4)编辑代码能查询各页的数据。在PowerQuery编辑器中,在“开始”选项卡的“查询”组中,单击“高级编辑器”命令。在第一行的前面添加一行代码,即letPage=(xasnumber)=>;第3行代码中,控制页码的文本型“1”替换为Text.From(x);最后的部分添加两行代码,即in和Page,Page前空4格仅起格式规范作用,如左下图所示。单击“完成”按钮后,得到的效果如右下图所示。使用M语言获取网络分页数据(5)重命名该“查询”。右键单击左边“查询”窗格下的“Table0”,选择“重命名”,将其重命名为“股票”,得到的效果如下图所示。使用M语言获取网络分页数据(6)将页码的存储在新的“查询”中。右键单击左边“查询”窗格的空白处,依次选择“新建查询”“空查询”命令,如左下图所示。在公式栏中输入:={1..36},然后按回车键,如右下图所示。使用M语言获取网络分页数据(7)将页码的存储格式由“查询”变成“表”。在“转换”选项卡的“转换”组中,单击“到表”命令,在弹出的对话框中直接单击“确定”按钮,得到的效果如下图所示。使用M语言获取网络分页数据(8)将页码与对应页码的股票数据关联起来,进行如下操作。①在“添加列”选项卡的“常规”组中,单击“调用自定义函数”命令。②弹出“调用自定义函数”对话框后,将“功能查询”设为“股票”,此时“新列名”也自动设为“股票”,如下图所示。使用M语言获取网络分页数据③单击“确定”按钮,得到的效果如左下图所示。注意:此时导入的数据比较多,等待时间较长。④单击左下图中的“股票”字段右边的双方向箭头图标,在弹出的对话框中单击“加载更多”超链接,取消勾选“使用原始列名作为前缀”,如右下图所示。使用M语言获取网络分页数据⑤单击“确定”按钮,得到的效果如下图所示。使用M语言获取网络分页数据(9)查阅加载错误。单击“文件”选项卡并选择“关闭并应用”命令,此时在“应用查询更改”对话框中提示“已加载3541行。5个错误。”,如图左下所示,单击对话框中的“查看错误”按钮即可查看错误。注意:股票的市盈率是会变化的,所以错误数也会变化的。打开PowerQuery编辑器可以发现,“市盈率”字段中均显示为“Error”,单击“Error”后提示右下图所示的错误详细信息,其意思是,原始数据是文本类型“正无穷大”,与任务中设置“市盈率”字段为数值型冲突。使用M语言获取网络分页数据(10)处理加载错误。在左边的“查询”窗格中,依次单击“查询1”,右键单击“市盈率”字段选择“替换错误”命令,在弹出的左下图所示的“替换错误”对话框中输入“值”为9999,单击“确定”按钮。删除“Column1”字段,此时PowerBI获取了所有的网页数据。(11)单击“文件”选项卡并选择“关闭并应用”命令,切换至视图。将“字段”窗格的“查询1”重命名为“股票数据表”,得到的效果如右下图所示。使用M语言获取网络分页数据1集成数据目录认识PowerQuery和M语言2清洗数据3数据集成是指通过应用间的数据交换从而达到集成,主要解决数据的分布性和异构性的问题,数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。在数据集成时,有许多问题需要考虑的,常见的问题如下。(1)实体识别问题。例如,某个数据表有“姓名”字段,另一个数据表有“名字”字段,是否指的是同一个实体?通常,数据库或数据仓库会有这些字段含义的描述,帮助避免数据集成时发生错误,这些相关的描述称之为元数据(Metadata)。元数据的定义是数据及信息资源的描述性信息。(2)数据冗余问题。如果一个字段可以由其它一个或多个字段导出,那么这个字段就是冗余字段。例如“销售额”字段,它可以由每条记录的销售商品单价乘以数量,然后求和而得到。两个数据源分别收集了同一条数据,在数据集成后,需要检测与处理这些重复的数据,这种检测与处理的操作叫“去重”操作。了解数据集成(3)数据值冲突的检测与处理。对于现实世界的同一实体,不同数据源的字段可能不同。例如调查人员的拼音名时,可能是姓在前,也可能是名在前;而有些拼音是首字母大写,也有些是全部大写或全部小写。又例如,重量也可能以千克数为单位,也有些可能以斤为单位,甚至国外的以磅为单位。另外,各国的货币价值也不一致。处理这种度量上的差异,是数据集成的重要工作。了解数据集成在进行线下数据调查时,没有计算机进行必要的数据校验,数据填写经常会出现不规范的情况。主要原因可能是组织者没有对调查员进行必要的填写培训,也可能是调查员由于调查工作的枯燥而疏于指导被调查对象。左下表与右下表是两名调查员填写的信息表。实现两个数据来源的数据集成姓名出生年份拼音名姚泳仪1988YAOYONGyi林祺茵1985LinQiYin

叶晓钰1983YeXiaoYu林

柔1996Linrou王莹1982Wangying姓名出生年份拼音名

钟智强1990年zhiQiangZhong欧阳双喜1982年ShuangxiOuYang

司徒健彬1991年JianbinSiTu吴文伟1987年wenweiWu王莹1982年Wangying经过数据集成处理后,最终PowerQuery编辑器中数据表的效果如左下图所示,“字段”窗格中客户信息表的效果如右下图所示,实现步骤如下。实现两个数据来源的数据集成(1)获取数据。在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Excel”命令,获取“客户信息表1.xlsx”。在“导航器”对话框的显示选项中,勾选“客户信息表1.xlsx”中的“Sheet1”,如下图所示,单击“编辑”按钮。实现两个数据来源的数据集成(2)清除“客户信息表1”的“姓名”空格,进行如下操作。①在“PowerQuery编辑器”中,右键单击“姓名”字段,依次选择“拆分列”“按分隔符”命令。②弹出“按分隔符拆分列”对话框后,将“选择或输入分隔符”设为“空格”,勾选“每次出现分隔符”单选框,如下图所示。实现两个数据来源的数据集成③单击“确定”按钮,此时“PowerQuery编辑器”中的“姓名”字段分为3个字段,按住Ctrl键选中“姓名.1”“姓名.2”“姓名.3”这3个字段,右键单击选中区域,选择“合并列”命令。④弹出“合并列”对话框后,将“新列名”设为“姓名”,如下图所示。实现两个数据来源的数据集成⑤单击“确定”按钮,合并后的姓名列的效果如下图所示。实现两个数据来源的数据集成(3)处理“客户信息表1”“拼音名”字段的首字母大写问题。右键单击“拼音名”字段,依次选择“转换”“每个字词首字母大写”命令,得到的效果如下图所示。实现两个数据来源的数据集成(4)处理“客户信息表1”“拼音名”字段的空格问题。与处理“姓名”字段不同,“拼音名”字段除了需要去掉前后的空格之外,其中的每个拼音之间有且只有一个空格。具体步骤如下。①处理“拼音名”字段的前后空格。右键单击“拼音名”字段,依次选择“转换”“修整”命令。②确保每个拼音之间有且只有一个空格。右键单击“拼音名”,依次选择“拆分列”“按分隔符”命令,弹出“按分隔符拆分列”对话框后,将“选择或输入分隔符”设为“空格”,勾选“最左侧的分隔符”单选框,拆分“拼音名”字段的效果如下图所示。实现两个数据来源的数据集成③对“拼音名.2”字段重复本步骤①和步骤②的操作,此时生成“拼音名.2.1”和“拼音名.2.2”字段,拆分“拼音名.2”字段的效果如左下图所示。④右键单击“拼音名.2.2”字段,依次选择“转换”“修整”命令,处理字段中的空格的效果如右下图所示。实现两个数据来源的数据集成⑤在每个拼音之间添加一个空格。在“添加列”选项卡的“常规”组中,单击“自定义列”命令,将“新列名”设为“自定义”,“自定义列公式”设为“=”“”(注意:双引号中间有一个空格)。重复此次操作再生成一个“自定义.1”字段。拖动“拼音名.1”“自定义”“拼音名.2.1”“自定义.1”和“拼音名.2.2”这5列,排列各列顺序如下图所示。实现两个数据来源的数据集成⑥按住Ctrl键并同时选择并右键单击这5列,单击“合并列”命名,生成新的“姓名”字段的效果如下图示。最后单击“文件”选项卡并选择“关闭并应用”命令,退出PowerQuery编辑器。实现两个数据来源的数据集成(5)清除“客户信息表2”的“姓名”空格。导入“客户信息表2.xlsx”后,按照步骤(2)的方法,在PowerQuery编辑器中处理“客户信息表2”的“姓名”空格,得到的效果如下图所示。实现两个数据来源的数据集成(6)处理“客户信息表2”的“出生年份”格式。在“添加列”选项卡的“从文本”组中,依次单击“提取”“范围”命令,弹出“插入文本范围”对话框后,将“起始索引”设为“0”,“字符数”设为“4”,如左下图所示。单击“确定”按钮后,删除“出生年份”字段,并将新生成的“文本范围”字段重命名为“出生年份”字段,并将该字段类型设置为“整数”,此时效果如右下图所示。实现两个数据来源的数据集成(7)处理“客户信息表2”“拼音名”字段的首字母大写问题。按住步骤(3)的方法处理,得到的效果如下图所示。实现两个数据来源的数据集成(7)处理“客户信息表2”“拼音名”字段的首字母大写问题。按住步骤(3)的方法处理,得到的效果如左下图所示。(8)处理“客户信息表2”“拼音名”字段的空格问题。按住步骤(4)的方法处理,得到的效果如右下图所示。实现两个数据来源的数据集成(9)在“开始”选项卡的“组合”组中,单击“追加查询”命令,合并Sheet1和Sheet1(2)两个数据表,如左下图所示,单击“确定”按钮。(10)“去重”操作。这时在PowerQuery编辑器的数据表中有两条“王莹”的记录,经复查这两条是重复收集的信息。在“开始”选项卡的“减少行”组中,依次单击“删除行”“删除重复项”命令,即可删除最后一条重复的信息,此时效果如右下图所示。实现两个数据来源的数据集成(11)单击“文件”选项卡并选择“关闭并应用”命令,回到报表视图,在“字段”窗格中,右键单击“Sheet1”数据表,单击“隐藏”命令,再右键单击“Sheet1(2)”,单击“重命名”命令,将其重命名为“客户信息表”,最终PowerQuery编辑器中数据表的效果如左下图所示,“字段”窗格中客户信息表的效果如右下图所示。实现两个数据来源的数据集成1集成数据目录认识PowerQuery和M语言2清洗数据3数据清洗是在数据分析前对原始数据进行重新审查和校验的过程,目的在于清洗脏数据和降低数据维度,从而改善数据的质量和提高数据质量。脏数据一般指3类数据:不完整数据,含噪声数据和不一致数据。了解数据清洗不完整数据是指待分析的字段缺少数值,或仅包含聚集数据而没有具体数据。例如在“成绩表”中学生因缺考而没有填写其考试成绩,或者因免考而在该学生对应成绩的单元格中填写“免考”。主要有如下几种处理不完整数据的方法。(1)忽略不完整数据所在的记录。当不完整数据不是太多的时候,可以考虑使用该方法。但不完整数据所占的比例较大时,不建议使用。(2)人工填写空缺值。该方法很费时,并且当数据集很大,缺少很多值时,该方法可能行不能。了解数据清洗1.不完整数据(3)使用一个全局常量填充空缺值。将空缺的字段值用同一个常数替换。例如,空缺值是数字类型可用“0”来替换,空缺值是文本类型可用“数据不详”来替换。但是,这样的操作可能导致空缺值占了很大的范围,影响了数据分析的结果。因此,尽管该方法简单,但并不推荐使用。(4)使用字段的平均值填充空缺值。例如,假设某地区顾客的平均收入为10000元,则使用该数值替换“收入”字段的空缺值。(5)使用与给定字段同一类的所有样本的平均值。例如,消费到“白银”级别的顾客的年度平均消费额为26000元,则用该数值替换“白银”级别的顾客“总消费额”的空缺值。(6)使用最可能的值填充空缺值:可以用回归、贝叶斯或者判定树等算法来确定。了解数据清洗1.不完整数据含噪声数据指包含错误或存在偏离期望的孤立点值。例如学生的考试分数本应该是0~100分的范围,但出现110分的情况。在处理含噪声的数据时,需要平滑数据。以下是一些数据平滑技术。(1)分箱(binning)。假设有一组价格数据9、11、16、18、19、23、25、28、31。如果数据组没有排序,要先排序,然后并将他们平均分到等高的箱中,箱1数据为:9、11、16;箱2数据为:18、19、23;箱3数据为:25、28、31。这时就需要选择相应的平滑技术进行分箱:如果用箱平均值平滑技术分箱,箱中的每一个值这箱中的平均值替换,则替换后的箱1数据为:12、12、12;箱2的数据为:20、20、20;箱3的数据为:28、28、28。如果用箱边界分箱,那么箱中的最小值和最大值视为箱边界,中间的每一个值被最近的边界值替换,最小与最大值的中间值(例如箱2中的最小与最大值为18和23,其中间值为20),可以选最小值18替换中间值。这时,箱1数据为:9、9、16;箱2数据为:18、18、23;箱3数据为:25、25、31。了解数据清洗2.含噪声数据(2)聚类(Clustering)。检测并且去除孤立点,如下图所示,同一个圆圈内的叫一个聚类,落在聚类集合之外的值被称为“孤立点”。了解数据清洗2.含噪声数据(3)计算机和人工检查结合。计算机检测可疑数据,然后对数据进行人工判断。(4)回归(Regression)方程。通过让数据适应一个函数来平滑数据。对连续的数字型数据较好。如下图所示,数据集分布在一个线性函数的附近,可以通过最小二乘法来确定这个线性函数的方程式。了解数据清洗2.含噪声数据不一致数据是指同一事物在不同表的表述不一致,一般是人为的命名或数据代码不一致而造成的。例如某同学的信息在个人信息表中的学号是20161203001,而在成绩表中为了简化将学号写成161203001。了解数据清洗3.不一致数据利用PowerQuery清洗下表所示的成绩表(仅显示前10条数据)的脏数据,最终得到的效果如下图所示,实现步骤如下。实现成绩表的数据清洗班级名学号姓名成绩一班20161203001姚泳仪96

161203002林祺茵80

20161203003叶晓钰缺考

20161203004郭锦超

20161203007林远晴85

20161203010梁慧珊80

20161203013吴凤媚101

20161203014谢进好97

20161203015邝健敏75

20161203016赵欢伦90(1)获取数据。在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Excel”命令,获取“成绩表.xlsx”。在弹出的“导航器”对话框中,勾选“显示选项”中的“成绩表”,单击“编辑”按钮,如下图所示。实现成绩表的数据清洗(2)处理不完整的数据,进行如下操作。①处理空缺值。在“班级名”字段中,每个班只有第一个学生有班级名,其它均是空缺值。右键单击“班级名”字段,依次选择“填充”“向下”命令,得到的效果如下图所示。实现成绩表的数据清洗②处理没有具体数据的情况。成绩表中第4行的郭锦超等数名同学的成绩显示为NULL,是因为他们获得了免修资格没有参加本次考试,而根据本校的管理制度免修资格的课程应该是80分。而第3行的叶晓钰等数名同学的成绩显示为缺考,缺考的成绩按惯例应该是0分。所以需要统一处理这两种情况。实现成绩表的数据清洗a.选中“成绩”字段,在“转换”选项卡的“任意列”组中,单击“替换值”命令,将“要查找的值”设为“null”,将“替换为”设为“80”,如左下图所示,单击“确定”按钮即可将“null”替换为“80”。使用同样的操作将“缺考”替换为“0”,替换后的效果如右下图所示。实现成绩表的数据清洗b.统一“成绩”字段数据类型。右键单击“成绩”字段,依次选择“更改类型”“整数”命令(因为成绩管理业务上规定不能出现0.5分的得分,所以不选择“小数”类型),效果如下图所示。实现成绩表的数据清洗③单击“添加规则”按钮,在ElseIF语句中,将“运算符”设为“小于”,“值”设为“100”,单击“输出”文本框左边的下拉框,选择“选择列”,并设为“成绩”,如下图所示,单击“确定”按钮,回到PowerQuery编辑器。实现成绩表的数据清洗④删除“成绩”字段,将“期末成绩”字段重命名为“成绩”字段并将类型设置为“整数”,得到的效果如下图所示。实现成绩表的数据清洗(4)处理不一致的数据。第二行林祺茵等同学的学号前面缺少了“20”,处理的具体步骤如下。①设置“学号”字段为“文本”类型,如下图所示。实现成绩表的数据清洗②在“转换”选项卡的“文本列”组中,依次单击“格式”“添加前缀”命令,将弹出的“前缀”对话框的“值”设为“20”,如左下图所示,单击“确定”按钮。此时得到的效果如右下图所示。实现成绩表的数据清洗③选中“学号”字段,在“转换”选项卡的“文本列”组中,依次单击“拆分列”“按字符数”命令,弹出的“按字符数拆分列”对话框后,将“字符数”设为“11”,勾选“一次,尽可能靠右”单选框,如左下图所示,单击“确定”按钮,学号拆分的效果如右下图所示。此时操作结果将“学号”字段拆分成“学号.1”字段和“学号.2”字段。实现成绩表的数据清洗④选中“学号.1”字段,按Delete键删除该字段。重命名“学号.2”字段为“学号”,并更改类型为“文本”,得到的效果如下图所示。(5)单击“文件”选项卡并选择“关闭并应用”命令,保存数据回到报表视图。实现成绩表的数据清洗

M语言数据预处理13-6月-231归约数据目录转换数据2将字段按比例绽放,使之落入一个特定的区间,如[-1,1]或[0,1]之间。常用的规范化有最小-最大值规范化。假定某字段的最小值为min,最大值为max,最小-最大值规范化区域为[new_min,new_max]。那么最小-最大值规范化下的规范化值如(式3-1)所示。

(式3-1)例如,某字段规范化前取值区间为[-100,100],规范化后取值区间为[0,1],假设该字段某字段值为58,那么规范化后取值为0.79,如(式3-2)所示。 (式3-2)了解数据变换1.规范化逆透视列是Excel和PowerQuery中处理数据行列变换的一种特有操作。它将来自单行(单个记录)中多个列的值扩展为单个列中具有同样值的多个记录,使得数据能够在合适数据存储与合适数据分析的形式之间自由变换。例如为了方便显示数据,可能会出现如下表所示的按销量区域排列的产品销量表,这个表的第1列的列名是抽象概念的产品名称,第2~4列的列名是具体的区域名称,表中第2行第2列的数值型数据3654196指的是在广东省坚果的销量,其它数值型数据如此类推。了解数据变换2.逆透视列产品名称广东省北京市上海市坚果365419625433233221557肉干162654012543861123456鸭脖139324411875541098774花茶216816919676441899907现在使用逆透视列功能,将合适数据分析的数据表变换成如下表5所示的合适数据存储的产品销量表。了解数据变换2.逆透视列产品名称区域名称销售额坚果广东省3654196坚果北京市2543323坚果上海市3221557肉干广东省1626540肉干北京市1254386肉干上海市1123456鸭脖广东省1393244鸭脖北京市1187554鸭脖上海市1098774花茶广东省2168169花茶北京市1967644PowerQuery中,按数据类型进行数据提取可以使用Text.Remove函数,该函数的表达式如下。

Text.Remove(text,removeChars)该格式表示:返回在“text”参数中删除了“removeChars”参数的所有字符后的新字符串。“removeChars”参数可以是独立的字段,也可以指定列表字符集合。PowerQuery常用字符的参数如下表所示。实现数据提取参数概述{1..10}获取的结果是从1到10的list列表,即{1,2,3,4,5,6,7,8,9,10}{“0”..“9”}获取0到9的数字文本{“”..“~”}获取空格到“~”等特殊字符列表{“A”..“Z”}从A到Z的字符列表{“a”..“z”}从a到z的字符列表{“A“..“Z”,“a”..“z”}所有大小写英文字母{“一”..“龢”}所有汉字字符列表{“一”..“龢”,“0”..“9”}所有汉字字符列表和数字参数表中的参数可以自由组合,字母、汉字等字符列表中间用“..”连接,列表与列表之间或列表与某具体参数之间用英文状态下的逗号“,”隔开。在如下表所示的数据经过数据变换处理,最终数据表的效果如下图所示,具体实现步骤如下。实现数据提取产品归属产品信息坚果炭烧腰果18.5元,盐焗腰果19元,纸皮核桃23元肉干猪肉干11.5元,牛肉干15元鸭脖微辣鸭脖9元,香辣鸭脖9元花茶大麦茶20元,枸杞茶20元(1)获取数据。在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Excel”命令,导入“商品信息表.xlsx”,弹出“导航器”对话框后,勾选“商品信息表.xlsx”中的“产品信息”,如下图所示,单击“编辑”按钮。实现数据提取(2)设置标题。这时“产品信息表”的标题并没有自动辨认,如左下图所示。在“开始”选项卡的“转换”组中,单击“将第一行用作标题”按钮,得到的效果如右下图所示。实现数据提取(3)拆分“产品信息”字段。右键单击“产品信息”字段,依次选择“拆分列”“按分隔符”命令,弹出“按分隔符拆分列”对话框后,“选择或输入分隔符”的第一行自动设为“--自定义--”,第二行自动设为“,”。这时勾选“每次出现分隔符时”单选框,如左下图所示,单击“确定”按钮,得到的效果如右下图所示。实现数据提取(4)逆透视操作,转换表格。右键单击“产品归属”字段,选择“逆透视其它列”命令,并删除“属性”字段,得到的效果如下图所示。实现数据提取(5)设置转换后表格的新字段,具体步骤如下。①设置“价格”字段。选中“值”字段,在“添加列”选项卡的“常规”组中,单击“自定义列”命令,弹出“自定义列”对话框后,将“新列名”设为“价格”,“自定义列公式”设为“=Text.Remove([值],{”一“..”龢“,”“})”,表示将“值”字段中的文字与空格去掉,如左下图所示,单击“确定”按钮,得到的效果如右下图所示。实现数据提取②设置“产品名称”字段。选中“值”字段,在“添加列”选项卡的“常规”组中,单击“自定义列”命令,弹出“自定义列”对话框后,将“新列名”设为“产品名称”,“自定义列公式”设为“=Text.Remove([值],{”0“..”9“,”元“})”(注意:0到9在“值”字段中是文本型,所以需要写成“0”..“9”),表示将“值”字段中的数字文本和“元”字去掉,如左下图所示,单击“确定”按钮,得到的效果如右下图所示。实现数据提取(6)删除“值”字段,调换“产品名称”和“价格”字段的位置,PowerQuery编辑器如下图所示。实现数据提取1归约数据目录转换数据2字段归约又称为维归约、属性归约或属性子集选择,它通过删除不相关的字段(维度)减少数据量。通常使用字段选择的方法有粗糙集和决策树分类。了解数据归约1.字段归约记录归约又称为数据取样,是指通过用少量记录代表或替换原有记录来减小数据集的数据预处理方法。记录归约有抽样和数据泛化两种常用的方法。抽样(Sampling)是用数据的较小随机样本表示总体数据。对于含有N个记录的数据集D的样本,抽样选择的主要方法如下。简单随机选择n(n<N)个样本,样本抽样后不回放。简单随机选择n(n<N)个样本,样本抽样后回放,可能再次被抽取。聚类抽样:D中元组被分为M个互不相交的聚类中,则可在其中的m(m<M)个聚类上进行简单随机选择。了解数据归约2.记录归约分层抽样:若D被划分成互不相交的部分(称作“层”),则通过对每一层的简单随机选样就可以得到D的分层选样。例如对客户的年龄进行分层,分为“年轻”“中年”和“老年”这3层,在这3层中分别随机抽出几名顾客代表该层的数据进行分析。数据泛化(DataGeneralization)是将任务相关的数据集从较低的概念层抽象到较高的概念层的一个过程。字段需要数据泛化的原因是有概念分层且取值较多。某些字段的取值较多,不利于数据分析;另一方面,不是取值很多的字段都需要泛化,若某字段没有概念分层,则该字段不需要泛化,如客户ID字段。了解数据归约2.记录归约概念分层意味着某个概念可以有不同程度的分类,以“广东省广州市天河区”地址为例,这个地址的省级层次是“广东省”,市级层次是“广州市”,区级层次是“天河区”,越往概念层次高(这里的概念层次高是指行政级别高)的方向转换,地址的取值范围就越小。但是需要注意,不是泛化到越高的概念层次就越好,因为可能此时的取值范围太小反而不好分析。综上所述,进行数据泛化要符合两个条件:字段取值很多和字段有概念分层。数据泛化有两个主要作用:1、将研究对象的细节信息隐藏,保护隐私,用于数据脱敏;2、发现不同概念层次或高层概念上的规则。了解数据归约2.记录归约对数据集进行泛化前,需要对其中所有的字段进行分析。以下表为例,对客户信息表中的每个字段泛化分析如下。了解数据归约2.记录归约客户ID性别客户地址出生日期B0000001男广东省广州市天河区人民西路幸福小区1栋1单元201房1985/3/13B0000002男江苏省南京市玄武区中山大道颐景园山庄3栋2单元1202房1976/8/19B0000003女安徽省蚌埠市五河县长安大道紫东花园2栋4单元305房1981/11/17(1)客户ID:由于客户ID存在大量不同值,并且其没有泛化的操作必要,所以该字段不用泛化。(2)性别:由于性别只有两个不同值,所以该字段不用泛化。(3)客户地址:地址的门牌号和街道有许多值,而且存在概念分层,应当泛化至市级或省级,这样客户地址包含的不同取值才会较少,因此该字段需要泛化。(4)出生日期:该字段也有许多取值而且存在概念分层,这时的概念分层需要一定的转换,先将出生日期转换为年龄字段,再泛化为年龄分组字段,这样值也会大大减少,因此该字段需要泛化。了解数据归约2.记录归约字段的泛化程度需要控制。有些分析人员习惯让某些字段的泛化留在较低的抽象层,而有些分析人员愿意泛化到较高的抽象层。控制将字段泛化到多高的抽象层通常是相当主观的,如果字段泛化得太高,可能会导致泛化过度,而如果字段不泛化到足够高的层次,可能泛化不足,得到的规则可能也不含多少信息,因此泛化操作应当把握好尺度。了解数据归约2.记录归约数据压缩一般应用数据编码或变换技术,以便得到原数据的归约表示。若原数据可以由压缩数据重新构造而不丢失任何信息,则称为无损压缩。若只能重新构造原数据的近似表示,则该数据为有损压缩。常用的数据压缩方法有小波分析和主成分分析。了解数据归约3.数据压缩一般来说,存放在数据集的年龄数据是以下表的出生日期来存放,而在数据分析时却要显示为年龄的形式。因此需要对“年龄”字段进行泛化,其过程如下。(1)获取“出生日期”字段的数据。(2)将当前日期与“出生日期”字段的相减,结果向下取整获得“年龄”字段。在PowerBI中,这个步骤一般使用第4章介绍的DAX函数实现。(3)根据一定的业务规则将“年龄”字段分组成“年龄分组”字段,如“少年”“青年”“中年”和“老年”等。在PowerBI中既可以使用PowerQuery编辑器的“条件列”命令实现,也可以使用DAX函数实现。实现客户年龄泛化客户ID性别客户地址出生日期B0000001男广东省广州市天河区人民西路幸福小区1栋1单元201房1985/3/13B0000002男江苏省南京市玄武区中山大道颐景园山庄3栋2单元1202房1976/8/19B0000003女安徽省蚌埠市五河县长安大道紫东花园2栋4单元305房1981/11/17在已经计算出客户年龄的情况下,利用PowerQuery编辑器实现上述步骤(3)的客户年龄泛化操作,最终得到的效果如下图所示,实现步骤如下。实现客户年龄泛化(1)获取数据。在“开始”选项卡的“外部数据”组中,依次单击“获取数据”“Excel”命令,导入“客户信息表3.xlsx”。弹出“导航器”对话框后,勾选“显示选项”中的“客户信息表”,如下图所示,单击“编辑”按钮。实现客户年龄泛化(2)更换“客户ID”字段类型。右键单击“客户ID”字段,依次选择“更换类型”“文本”命令,得到的效果如下图所示。实现客户年龄泛化(3)归约数据。在“添加列”选项卡的“常规”组中,单击“条件列”命令。弹出“添加条件列”对话框后,将“新列名”设为“客户年龄分组”;在IF语句中,将“列名”设为“年龄”,“运算符”设为“小于或等于”,“值”设为“20”,“输出”设为“20岁及以下”;实现客户年龄泛化单击“添加规则”按钮,新建4行ElseIF语句。在前三行的ElseIF语句的中:将“列名”均设为“年龄”;“运算符”均设为“小于或等于”;“值”依次设为“30”“40”“50”;输出依次设为“20~30岁”“30~40岁”“40~50岁”;在最后一项的ElseIF语句中,将“列名”设为“年龄”,“运算符”设为“大于”,“值”设为“50”,输出设为“50岁及以上”,如上图所示。单击“确定”按钮后,在PowerQuery编辑器的效果如下图所示。实现客户年龄泛化

DAX语言数据建模13-6月-231新建数据表中的元素目录认识PowerPivot和DAX语言2PowerPivot指的是一组应用程序和服务,为使用Excel和PowerBI创建和共享商业智能提供了端到端的解决方案。使用PowerPivot可以快速地在桌面上分析大型数据集。在Excel中,PowerPivot是作为一个插件的形式运行,如下图所示;而在PowerBI中则可以直接使用PowerPivot的所有功能。换言之,其所有功能已经无缝融合在PowerBI中,不再是以插件的形式运行。了解PowerPivot和DAX语言PowerPivot可以用于创建数据模型,建立关系,以及创建计算。PowerPivot操作简单,处理大数据速度快,通过使用其内存中的引擎和高效的压缩算法,能以极高的性能处理大型数据集,处理百万行级别数据和几百行数据时的性能基本一致。其使用的语言为DAX语言。DAX语言可以处理的数据量由内存容量的上限决定。对比而言,在操作同样简单的Excel2007以上版本,当达到百万级数据处理量时,软件就会运行缓慢,并频繁死机,并不适合大数据处理。了解PowerPivot和DAX语言DAX语言全称数据分析表达式(DataAnalysisExpressions),是公式或表达式中可用来计算并返回一个或多个值的函数、运算符和常量的集合。DAX语言是一种新的公式语言,允许用户在PowerBI表中的“表”、“计算列”和“度量值”中定义自定义计算。DAX语言主要以函数的形式出现,既包含一些在Excel公式中使用的函数,也包含其他设计用于处理关系数据和执行动态聚合的函数。简而言之,DAX语言可通过模型中已有的数据创建和处理新信息。DAX语言的表达式不同于Excel公式的地方在于:DAX函数使用表和列而非范围,并且可允许对相关值和相关表进行复杂的查找。了解PowerPivot和DAX语言M语言与DAX语言均是公式语言,使用方便。M语言主要通过用户的可视化操作来实现功能,只有极少数的情况才需要修改代码;相对地,DAX语言可以使用“新建快速度量值”命令的提示功能完成80%的计算,其它不常用的函数仍然需要通过手动输入来完成。修改了DAX语言的代码后,不用刷新界面或者重新编译,直接或者间接使用了该代码的度量值、计算列、计算表及可视化图表均会相应地立即变化。SQL语言与DAX语言的关系类似产业链的上下游之间的关系。SQL的作用在于存储和检索数据,DAX语言专门进行数据建模。在PowerBI中的“建模”选项卡有10个命令组,分别是:关系,计算,模拟,排序,格式设置,属性,安全性,组,日历和问答。DAX语言主要包含3个部分:语法(Syntax),函数(Functions),上下文(Context)。了解PowerPivot和DAX语言DAX表达式由3个部分构成,从左到右分别为表达式的名称、赋值符号(=)和表达式的内容。表达式的内容一般以函数为主体,间或带有常量、数值或运算符(+、-、*、/、>=、&&)等。大多数DAX语言的函数需要一个或多个参数,这些参数可以包括表、列、表达式和值。但是有一些函数不需要任何参数,不过始终需要使用英文状态的空括号来表示空参数。例如PI函数,使用的时候表达式为“PI()”,而不是“PI”。此外,还可以在其他函数中嵌套函数。了解DAX语言的语法DAX语言的函数返回的结果可能是单个数据,单列或者一个表。例如基于下表所示的销售统计表,求总销售额的表达式如下。了解DAX语言的语法总销售额=SUMX('销售统计表',[价格]*[数量])产品名称价格数量盐焗腰果184纸皮核桃193猪肉干234牛肉干112炭烧腰果154在求总销售额的表达式中,需要注意以下几点。(1)“总销售额”是表达式的名称。表达式的名称可能是度量或者列的名称。由于这个表达式只是返回单个数据,所以它是一个度量值。如果返回的是一列数据,那么表达式的名称代表的是数据列;如果返回的是一个表,那么表达式的名称代表的是数据表。(2)“=”是赋值符号,是将其右边表达式运算的结果赋值给前面的度量名称,如这里的“总销售额”。(3)表达式等号右边的内容是SUMX函数,它的功能是在第一个参数的范围内对第二个参数的表达式先进行每行的运算,再进行求和。如果出现空白、逻辑值和文本等数据类型的值,这些值均不参与求和。其中,SUMX是函数的名称,后面有英文状态的括号,括号内可以存放参数,若括号内为空,则表示是无参数。如果表达式中有两个或两个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论