1、第10章数据分析高级应用案例章节内容 10.1动态分析 10.2关联分析 10.3线性回归分析210.1 动态分析,静态分析方法数据分析中目标导向的参数是固定的静态分析方法的缺点要达到不同的目标,每次都需要调整参数,手工操作,比较麻 烦;不能够在多个感兴趣的分析目标之间快速切换和对比。310.1动态分析动态分析关键思路:首先确定数据分析中目标导向的参数,然后将这些参数所有可 能的取值转化为数据表之外的辅助表;通过报表中的切片器让分析人员可以通过可视化的方式为参数 选择义前的倡;将得到的参数值用于核心度量值DAX公式的构造 最终完成计算和显示,达到分析的目标.410.1动态分析动态分析方法参数表
2、 What-if 参数510.1动态分析一一参数表参数爹数春:分析人员手工构造的包括参数化度量值所有可能取值的 褊助薮据表。II爨球雌媒前rp 中.,DAX)!.鬣麝摊懿融牌以媾祭公机舞期晚解 取值,从而根据用户的操作来进行动态分析。610.1动态分析一一参数表案例:使用参数表快速切换基于多个不同度量值指标的分析。(1)构造了“每平方米均价”和“二手房数量”两个度量值作为分析的量 化指标,因此可以使用这两个度量值的名称作为参数表ANALYSISMETRICS中 唯一列Metric的数据X V 1 ANALYSISMETRICS=DataTabh口Metric,STRING,2 每平米均价,3”
3、二手房数量4)1_Li_Metric 日二手房数量710.1动态分析一一参数表案例:使用参数表快速切换基于多个不同度量值指标的分析。(2)在当前报表页中放置一个切片器对象,使用参数表ANALYSISMETRICS中 唯一的列Metric作为切片器对象的“字段”属性值。Y E3A T Q字段Metric X钻取跨报表关。一保留所有筛选器g T做p搜索人常规轮廓线颜色 轮廓线粗细1 F开一在此处添加钻取字段方向水平810.1动态分析一一参数表案例:使用参数表快速切换基于多个不同度量值指标的分析。(3)构造一个能够根据参数表筛选器上下文决定的度量值“量化分析指 标”,从而可以根据用户对切片器的选择,
4、实现动态的度量值指标分析。量化分析指标二IF(HASONEVALUE(ANALYSISMETRICSMetric),SWITCH(VALUES(ANALYSISMETRICSMetric),“每平方米均价”/每平方米均价L”二手房数量”/二手房销售数量LBLANK(),每平方米均价)910.1动态分析一一参数表案例:使用参数表快速切换基于多个不同度量值指标的分析。(4)在当前报表页中设置两个簇状条形图,分别用toilets和equipment列作为轴;设置两个簇状柱形图,分别用“房型”和direction列作为轴;再设置一个折线图对 象,使用buildingyear作为轴。同时,将以上5个可视
5、化对象的“值”属性都设置为 步骤(3)中构造的“量化分析指标”度量值。量化分析指标(按equipment)量化分忻指标量化分析指标(按toilets)2千。干 2千 4千量化分析指玩量化分析指标(按房型)量化分析指标(按buildingyear)400茱2000-1960量化分析指标(按direction)4千东南西东北西direction1010.1动态分析一一参数表案例:使用参数表快速切换基于多个不同度量值指标的分析。(5)通过对切片器对象中复选框的选择,可以方便地实现基于“每平方米 均价”或“二手房数量”等不同度量值指标的数据分析。二手房数是每平米均价量化分析指标(按equipment)
6、豪装中海精装简装量化分析指标(按房型)。千 50千量化分析指标量化分析指标(按toilets)量化分析指标(按buildingyear)量化分析指标(按direction)集眄宓R3e。千 50千星化分析指标501110.1动态分析-What-if参数 Power BI在建模选项卡中提供了一个“新建参数”功能(What-if 参数),可以自动产生的一个序列用于生成参数替换对应的所有 可能取值,帮助用户创建参数表和参数度量值。1210.1动态分析What-if参数案例:基于What-if参数的动态排名分析(1)按照小区对二手房均价进行排名。小区信息属于block表,二手房信息属于house表,两
7、张表之间通过blockjd字段 建立了联系。构造度量值:二手房小区销售均价排名=RANKX(ALL(blockblockname),每平米均价)添加一个矩阵可视化对象1310.1动态分析What-if参数案例:基于What-if参数的动态排名分析(2)矩阵对象本质是数据透视表,值为空的数据行不会显示出来,根 据这个原理构造只显示排名前5的小区信息所需的度量值。定制的二手房小区销售均价排名=VAR RANKBYBLOCKNAME=RANKX(ALL(blockblockname),每平方米均价)VAR CUSTOMEDRANK=IF(RANKBYBLOCKNAME=5,RANKBYBLOCKNA
8、ME,BLANK()RETURN CUSTOMEDRANK根据排名显示的二手房均价=VAR RANKBYBLOCKNAME=RANKX(ALL(blockblockname),每平方米均价)VAR CUSTOMEDPRICE=IF(RANKBYBLOCKNAME,每平方米均价,BLANK()RETURN CUSTOMEDPRICE 1410.1动态分析What-if参数案例:基于What-if参数的动态排名分析(2)基于定制度量值创建分析排名前5小区信息的矩阵对象Y K Elockname定制的二手房小区销售均价排名根据排名显示的二手房均价 鹿港花园194,200.00翠海玉景292,633.
9、33星岛国际390,500.00宏泰绿洲490,100.00星河景总计589,700.00J6 T Q行blockname X列在此处添加数据字段值定制的二手房小区销售上X 根据排名显示的二手房X1510.1动态分析What-if参数案例:基于What-if参数的动态排名分析如何动态分析排名前n的小区信息?将定制排名度量值公式中的5抽象为n 使用What-if参数创建n对应的参数表和切片器 修改定制排名度量值公式,使用切片器对参数表的筛选结果 结合矩阵可视化对象,达到动态分析的目标1610.1动态分析What-if参数案例:基于What-if参数的动态排名分析在“建模”选项卡中单击“新建参数”
10、按钮,在“模拟参数”对话 框中创建用于制定排名数量的参数表RANKARG。文件 幅管理关系关系uni r|帽i主页插入建模视图帮助外部工具格式数据/钻取1 i eh新建度量值快度总值新建列新建表计茸页面显新在以样尺母管理角色通过以下身份查看:bloc kname定制的二手屋 售均价排名模拟参数名称星河景 宏泰绿洲 星岛国际 翠海玉景 鹿港花园总计RANKARG数据类型I整数最小值增量5将切片器添加到此页默认值G A 问答设置 语言 语言架构最大值 w-安全性3参数表的本质RANKARG=GENERATESERIES(O,10,1)配套的度量值(可以修改默认名称“RANKARG值”VALUE_R
11、ANKARG=SELECTEDVALUE(RANKARGRANKARG,5)RANK犯3331710.1动态分析What-if参数案例:基于What-if参数的动态排名分析(3)修改动态排名所需的度量值定制的二手房小区销售均价排名=VAR RANKCOUNT=RAN KARG VALUE_RAN KARGVAR RANKBYBLOCKNAME=RANKX(ALL(blockblockname),每平米均价)VAR CUSTOMEDRANK=IF(RANKBYBLOCKNAME=RANKCOUN1;RANKBYBLOCKNAME,BLANK()RETURN CUSTOMEDRANK根据排名显示的
12、二手房均价=VAR RANKCOUNT=RAN KARG VALUE_RAN KARGVAR RANKBYBLOCKNAME=RANKX(ALL(blockinfoblockname),house每平米均价)VARCUSTOMEDPRICE=IF(RANKBYBLOCKNAME=RANKCOUNThouse每平米均价,BLANK()RETURN CUSTOMEDPRICE1810.1动态分析What-if参数案例:基于What-if参数的动态排名分析(3)矩阵可视化对象和切片器配合,到达控制和显示动态排名的效果。文件 主页 插入 建模 视图 帮助 外部工具 格式X剪切 电复制 格式刷a a d
13、 a h a获取数据Exc el Power Bl SQL输入数据Dataverse最近使用的源 v 工作簿数据集Server”雌数据/钻取彭昌转换数据刷新葡旬曲囚曲 0 新建视觉对象文木框更多视觉对象 新建度呈值快度是值插入 计茸 敏感度围发布共享blockname定制的二手房小区销 根据排名显示的二手房 售均价排名 均价 子段 鹿港花园 翠海玉景 星岛国际 宏泰绿洲 星河景 新中府花园 西马景苑 东晶风景 总计1234567894,200.0092,633.3390,500.0090,100.0089,700.0088,100.0088,000.0087,450.00ua wo血颐固回巨昌
14、曲回pyi及 MlttG 国 R Q E-的因国回号 曲心目BS口 国的画Q同唱,页 第8页r RANKARG8字段RANKARG y X钻取跨报表关O-保留所有端母开一|Q搜索展2000至2020年日期表 噩二手房统计信息表 屐房价相关的度量值 雇面积最大的10套二手房 随 ANALYSISMETRICS 留 bloc k 剧 distanc e.metrobloc k 剧 house Eg housesales_c alendar魅 metrostation Ift PRICECONDTABLERANKARGV RANKARG国 VALUE.RANKARG瞄 RANK PARA T RAN
15、KPARA第10页 第11页第12页第13页第14页在此处添加钻取字段H福o第9页1910.2关联分析联分析可以发现数据变量之间的关联规律,可以用于指导实践或 决策。关联规则分析:通过将数据库中数据之间频繁出现的关联模式以 规则的方式表达,然后使用算法在数据库中进行关联规则挖掘。例如:购物篮分析以商品数据库为例,如果购买商品X的同时很大可能也会购买商品Y,则 可以构成一条关联规则 X=Y其中X称为前件,Y称为后件。2010.2关联分析支持度是指同时包含X和Y的样本占样本总数的比例 Support(X=Y)=P(X U Y)置信度是指同时包含X和Y的样本数占包含X的样本数的比例。Confiden
16、ce(X=Y)=P(X|Y)需要根据问题的背景知识,事先设定好支持度和置信度的阈值2110.2.2二手房数据库的关联分析实践每条二手房销售记录都包含多个条目,主要有面积、平米均价、房龄、房型、楼层、装修程度等等。目标:研究和房价关联的主要因素考虑将平米均价设置为预挖掘的关联规则的后件Y,其他因素作 为前件X,设置支持度为0.0 5,置信度为0.4,分析构成不同房价 等级的影响因素。2210.2.2二手房数据库的关联分析实践平米均价、房龄、建筑面积等数值型数据不利于关联规则的生成,因此需要将数值型条目对应的列属性数据值进行分类将其离散化,根据分类值再来进行关联分析。平米均价均价分类建筑面积面积分
17、类建造年代年代分类20000低价房100面积类130000高价房200300面积类3200020102000年代300面积类4201120202010年后2310.2.2二手房数据库的关联分析实践数值列的离散化具体实现:添加新的属性列。priceclass=if(houseunit_price30000,Si,=|qf)areaclass=switch(true(),housearea100,HR/b?100,housearea200/ffiR100,200,housearea300/ffiR 200,300,”面积大于300)ageclass=switch(true(),housebuild
18、ingyear1990/90ttl,housebuildingyear2000J90 年代,housebuildingyearY)=同时包含X和Y的二手房销售数量/二手房总销售数量 Confidence(X=Y)=同时包含X和Y的二手房销售数量/包含X的二手房销 售数量 X作为影响房价的因素,可以是单一的,例如面积分类,也可以 是复合的,例如面积分类+年代分类+房型等等,可以通过使用筛 选器对house装进行筛选实现。2710.2.2二手房数据库的关联分析实践二手房销售量度量值二手房销售量=DISTINCTCOUNT(houseno)包含X的二手房销售数量首先需要筛选出包含因素X的所有二手房销
19、售数据行,注意在DAX中筛选可以通过上下文环境实现,例如可视化对象、切片器等,这里的筛选上 下文是针对house表构造的;然后使用“二手房销售量”度量值在不同的上下文环境中可以计算得到相应的包含X/areaclass 二手房销售量面积100,200 面积200,300 面积小于100总计15411430204575B T领行areaclass X列在此处添加数据字段值二手房销售量 x 28V工10.2.2二手房数据库的关联分析实践同时包含X和Y的二手房销售数量通过House表对因素X进行筛选,通过PRICECONDTABLE表对房价类Y进彳亍筛选,共同构造同时包含X和Y的针对House表的筛选
20、上下文 VAR CUR秘色嬴?二 CALCULATETABLE(house,allChouse),USERELATIONSHIP(housefpriceclass,PRICECONDTABLEpriceclass)VAR RES=CALCULATE(二手房销售量,KEEPFILTERS(CURRENTDATA)RETURN RESpric edass areac lass面积100,200)低价房二手房销售量包含股二手房销售数量同时包含X和m二手房销售数量高价房二手房销售量包含丫的二手房销售数量中价房 同时包含X和Y的二手房销售数量二手房销售量154143917015412431763 154
21、1面积2003001443914243111 14I面积小于1003020439269302024311657 3020总计4575439439457524312431 4575_L.areac lasspric edass值二手房销售量 X包含丫的二手房销售数量X同时包含X和丫的二手房2%Y K行列7 XV X10.2.2二手房数据库的关联分析实践二手房总销售数量=CALCULATE(二手房销售量LREMOVEFILTERS(house)XY支持度=DIVIDE(同时包含X和Y的二手房销售数量/二手房总销售数 量)XY置信度=DIVIDE(同时包含X和Y的二手房销售数量/二手房销售量)301
22、0.2.2二手房数据库的关联分析实践使用矩阵对象,将感兴趣的house表中的房价影响因素属性放置在矩阵的行 属性上,将PRICECONDTABLE的房价类属性放置在矩阵的列属性上,将支持度和置信度度量值放置在矩阵的值属性上,则可以计算得到不同影响因素属性作为前件,房价*/七十匕八的二牛 弹土回川古坟 也知曾住priceclass areaclass高价房中价房总计XY支持度XY置信度XY支持度XY置信度XY支持度XY置信度XY支持度XY置信度E 面积100,2002000年代2010年后90年代90年代前B 面积200,3000.040.020.010.000.110.130.100.0320
23、00年代20W年后E面积小于1002000年代2010年后90年代90年代前总计0.060.030.030.000.000.100.090.130.130.020.020.100.170.080.070.020.000.000.000.000.360.080.090.130.060.530.500.440.510.861.000.791.000.670.550390.410.780.810.530.130.080.050.000.390.430390.110.000.000.240.100.090.030.010.370.210.340.190.130.020.000.000.000330.3
24、60.480.450.200.170.370.000.660.200.210.170.081.001.001.001.001.001.001.001.001.001.001.001.001.001.001.00priceclassXZ X个JV忆房行列值T Q一条有意义的结果关联规则可以是 面积小于100 AND 90年代=高房价3110.3线性回归分析回归分析的主要目的是研究具有因果关系的变量之间的定量联系将感兴趣的变量作为目标变量或者说因变量常与维奥段究因变量和对其具有线性影响作用的其他自变量之间具有什么样目标:根据自变量对因变量进行预测或者控制。例如,预测房价。使用 Power Bl D
25、esktop;取姐进行简单的沿疝 功能。93210.3线性回归分析以二手房数据库为例:创建折线图可视化对象,设置值属性为度 量值“每平来均彳介”,设置轴属性为“housesales_calander”表的 date列,使用“数据/钻取”选项卡中的钻取功能,调整时间轴的 粒度为日、月、季度、年等不同的级别,可以通过“展开下一个 级别”按钮一直调整为按照“年、季度、月份和日”显示“每平 米均价”数据的折线图。文件 主页 插入 建模 视图 帮助 外部工具 格式 数据/钻取国 二将向下钻取筛选器应用到:上:勾I唱t2p I视则表I题.|一 J向下钻取钻取出查找解显示 交互 钻取操作 数据组 AI10.
26、3线性回归分析通过“向上钻取”按钮调整为以月为时间粒度单位的二手房价格 分诉文件 主页 插入 建模 视图 帮助 外部工具 格式 数据/钻取视觉对象表将向下钻取筛选器应用到|个向上钻取展开下一级别 J向下钻取显示整页钻取查找异常AIlOoll数据组交互冬R米叶W钻取操作H组个J U A 目3410.3线性回归分析在折线图的“分析”功能选项卡中,通过“预测”功能,添加一条预测线,设置预测长度为3个点/月,置信区间可以使用默认值95%。通过“趋势线”功能,添加一条趋势线。4口召分析?为A号QP搜索人预测1预测1 X预测长度忽略最后点置信区间195%“|嚏口及分析?法,B号二p搜索入趋势线1趋势线1 X颜色 透明度 o%O-样式个心口 A Y K-28千26千季度和月份)千 千 千 千 千8 6 4 2 03 3 3 3 3201阵1月2018年7月201昨1月年2019年7月202眸1月202阵7月35