PowerBI技巧之Power BI(八)Power Query排除错误

合集下载

PowerBI技巧之49、Power Query-合并查询温故知新

PowerBI技巧之49、Power Query-合并查询温故知新

这一节我们来重温一下合并查询,介绍一个新的引入方式,废话不多说,直接看需求。

看上表,现需要统计各个等级的学生数量,我们利用Power Query这种方式的优势在于新增修改学生成绩条目以及等级情况条目的时候可以动态刷新。

执行效果如下:下面我们介绍一下如何动态的获取这两张表(用选择——“从表”的方式也是可以的):1、学生成绩表2、等级对应表我们不妨使用函数动态的去获取这两个表的信息。

在空白处写函数,具体如下:1、 =OFFSET($A$1,,,COUNTA($A:$A),2)2、 =OFFSET($G$1,,,COUNTA($G:$G),2)注意这里一定需要的是绝对位置。

然后再公式菜单下利用名称管理器进行新建。

对应如何引入到Power Query中,这里我们习惯使用空查询进行操作。

利用函数Excel.CurrentWorkbook()获取当前Excel中的所有表。

复制一份出来,进行扩展操作,效果如下:对“等级对应表”进行操作,将范围根据分隔符进行拆分列,然后扩展到每一个具体分数。

这个时候基础的两个表都已经整理完毕,可以进行合并操作了。

最后进行“分组依据”。

下面一个操作就是上一节的巩固,这里不再详述。

修改公式为:Table.Group(重命名的列, {"等级"}, {{"人数", each Table.RowCount(_), type number}, {"姓名", each bine([学生],"#(lf)"), type text}})加载到当前工作簿。

此时进行动态的添加,均可刷新成功!本节素材下载地址:/detail/zhongguomao/9754715思考:若是销量统计表,比如20000Kg~50000Kg为一个等级档,我们也用这种方法进行扩展么? —— 敬请留言。

powerbi编辑查询的三个步骤

powerbi编辑查询的三个步骤

PowerBI是一款功能强大的商业智能工具,可以帮助用户分析和可视化数据。

在使用PowerBI的过程中,编辑查询是一个非常重要的步骤,它可以帮助用户对数据进行清洗、转换和整合。

本文将介绍PowerBI编辑查询的三个主要步骤,帮助读者更好地掌握这一重要技能。

一、连接并导入数据1.1 启动PowerBI并新建数据源打开PowerBI Desktop软件,在“开始”页面点击“获取数据”按钮,然后选择要连接的数据源,比如Excel、数据库、Web数据等。

1.2 导入数据在成功连接数据源后,系统会显示数据源的预览信息,用户需要确认导入的表格或数据集,然后点击“加载”按钮,即可将数据导入PowerBI的数据模型中。

二、编辑查询2.1 打开查询编辑器在成功导入数据后,用户可以进入编辑查询的界面。

在PowerBI的菜单栏中点击“编辑查询”按钮,即可打开查询编辑器。

2.2 清洗数据在编辑查询中,用户可以对导入的数据进行清洗和整理。

比如删除不需要的列、处理空值、更改数据格式等。

用户可以通过在查询编辑器的菜单栏中选择相应的操作进行数据清洗。

2.3 新增列除了清洗数据外,用户还可以根据需要新增列。

在编辑查询中,用户可以使用PowerBI提供的函数或者自定义公式来创建新的列,从而满足特定的分析需求。

三、保存并应用更改3.1 保存更改在完成数据清洗和整理后,用户需要保存编辑查询所做的更改。

在编辑查询界面的菜单栏中点击“关闭并应用”按钮,系统会提示用户是否保存更改,用户需要确认保存。

3.2 应用更改到数据模型保存更改后,用户需要将编辑查询中的操作应用到PowerBI的数据模型中。

系统会自动将编辑查询中的更改应用到数据模型中的相应数据表中,用户可以在数据模型中看到最新的数据和结构。

PowerBI编辑查询的三个步骤包括连接并导入数据、编辑查询和保存并应用更改。

通过掌握这些步骤,用户可以更好地利用PowerBI对数据进行清洗、整理和分析,从而更好地支持业务决策和分析需求。

PowerBI技巧之power query批量整理txt资料信息

PowerBI技巧之power query批量整理txt资料信息

今天聊一下power query如何批量整理txt资料。

如下图,收集人员的信息。

然后变成后一张excel图里的一维表效果。

首先利用Folder.Files函数获取数据文件夹所有txt的二进制数据。

然后对二进制的数据list转化为数据表。

利用Csv.Document函数。

看下图。

{"Name","Value"}用于命名转化为table的表的标题。

“:”是作为分隔符拆分txt每一行。

第四参数为多出列的处理,有3个枚举常
量:ExtraValues.List,ExtraValues.Error,ExtraValues.Ignore,分别可以用0,1,2代替,意思就是如果源数据的列数超过指定列数,是返回列表还是报错还是忽略.主要用来应付异常情况。

最后一个是encoding 编码参数。

936对应中文简体,GBK编码。

这个时候我们需要对表进行横向的整理,想办法把第一列变为标题行。

利用Record.FromTable函数将每个表变成记录。

如下图:
再利用Table.FromRecords函数将记录变为以记录字段名为标题,值为行的表,如下图。

最后利用bine将多个表table元素构成list合并成一个表。

公式解析就说完了。

最后就发一下完整的公式:。

PowerBI技巧之【powerBI

PowerBI技巧之【powerBI

最近在研究powerBI
发现了RELATED和RELATEDTABLE这俩函数,虽然在SQL里解决完再上传到powerBI里更省事,但是还是得感叹一下微软底层设计的强大!
假设有两张表,一张销售明细表,一张商品信息表。

展示一下源数据:
销售明细表
商品信息表
RELATED
用于多端找一端,可以理解为excel中的vlookup
显而易见,销售明细表是多端,商品信息表是一端。

如果想要在销售明细表中新增一列销售金额,可以利用RELATED函数
首先先建一个度量值
总销售数量= SUM('销售明细'[销售数量])
然后在销售明细表中敲入公式:
销售金额=[总销售数量]*RELATED('商品信息'[单价])
Tips: 度量值是自带筛选功能的
RELATEDTABLE
用于一端找多端,可以理解在多端中汇总完了再Vlookup到一段
如果想要在商品信息表中新增一列已售月数,可以利用RELATEDTABLE函数Tips: RELATEDTABLE返回的是一张表
已售月份= COUNTROWS(RELATEDTABLE('销售明细'))
写在最后,以上分享了两个DAX函数用法,以上操作仅为演示函数使用,不建议在源数据中增加新列。

SQL聚合完了直接上传或者用度量值它不香嘛!
度量值不占内存,新增列占内存!而且在商品信息表中这样的信息表中汇总数据真的是大可不必!。

PowerQuery报错?利用参数轻松解决源文件路径问题

PowerQuery报错?利用参数轻松解决源文件路径问题

PowerQuery报错?利用参数轻松解决源文件路径问题PowerBI可以很方便的从Excel等文件中获取数据,但这个路径是绝对地址,如果源文件路径发生变动,在PowerBI中就无法刷新了,并且进入PowerQuery编辑器中也会报错,看不到数据处理步骤。

比如,原来的源文件路径在C盘,如果你把这个源文件移到了D盘,再打开PowerQuery编辑器,你会看到这个界面:看到这个界面是不是熟悉而无奈。

这种情况更多的场景,可能并不是自己的源文件变动了,而是收到别人发来的pbix文件以及Excel数据源文件,你把Excel文件保存的地址与对方在pbix中设置的不同,导致无法刷新。

解决的办法就是手动直接更改源文件地址,有下面几种方式:1,修改步骤【源】,重新选择文件路径。

点击【源】旁边的小齿轮按钮,即可在弹出的窗口中浏览路径,选择数据源文件所在的新路径即可。

2,在编辑栏直接修改路径地址。

3,打开高级编辑器修改路径地址。

上面几种方式,都可以很简单的解决这个问题,不过如果表比较多,需要一个个单独修改,比如上面的数据,有5个表,那么就需要修改5次。

并且,如果接收文件的人对PowerQuery、PowerBI不熟悉,甚至无法独立完成修改工作。

有没有更简便的办法呢?下面才是本文介绍的重点,利用PowerQuery中的参数来快速修改路径地址。

具体操作步骤如下:一、新建参数在PowerQuery编辑器中,点击管理参数>新建参数:输入参数的名称,类型可以选择任意,当前值输入源文件的路径地址。

然后这个参数就建好了。

二、将代码中的绝对路径地址修改为参数名称。

与上面的直接修改路径地址一样,可以在编辑栏或者高级编辑器中,将绝对地址修改为新建的参数名称,注意原来的绝对路径地址需要加双引号,改成参数后不需要再加引号。

每个表都这样修改之后,如果源文件路径发生变动,或者你保存的源文件地址与pbix文件不一致时,只需要修改这个参数值即可。

PowerBI中的异常检测和数据异常处理

PowerBI中的异常检测和数据异常处理

PowerBI中的异常检测和数据异常处理在Power BI中,异常检测和数据异常处理是数据分析中至关重要的一环。

它们能够帮助我们发现和解决数据中的异常情况,保证数据的准确性和可靠性。

本文将介绍Power BI中的异常检测和数据异常处理方法以及如何应用它们来提高数据分析的效果。

一、异常检测异常检测是指通过对数据进行统计分析,找出数据中的异常点或异常情况。

在Power BI中,我们可以通过以下几种方法进行异常检测:1. 简单统计方法:Power BI提供了一些简单的统计函数,如平均值、标准差等,通过计算这些统计指标可以判断数据是否有异常。

2. 离群点检测:离群点是指与其他数据明显不同的数据点。

在Power BI中,可以使用离群点检测算法,如BoxPlot、Z-Score等,来找出数据中的离群点。

3. 时间序列分析:对于时间序列数据,我们可以使用时间序列分析方法,如ARIMA模型、指数平滑等,来检测异常情况。

通过以上方法,我们可以在Power BI中进行异常检测,并将异常数据标记出来,方便后续的数据异常处理。

二、数据异常处理数据异常处理是指对异常数据进行处理,使其对后续的数据分析不产生不良影响。

在Power BI中,我们可以采取以下几种方法进行数据异常处理:1. 数据过滤:对于明显的异常数据,可以直接将其从数据集中剔除,以避免对后续数据分析的影响。

2. 数据平滑:对于一些局部的异常情况,可以使用平滑算法对数据进行平滑处理,如移动平均、指数平滑等。

3. 插值处理:对于缺失的数据或异常数据,可以使用插值方法进行填充,以减少数据的不完整性。

4. 异常替换:对于一些特殊类型的异常数据,可以使用合理的替换值进行替换,以保证数据的连续性和一致性。

通过以上方法,我们可以在Power BI中对数据进行异常处理,使其更加符合实际需求,并提高数据分析的准确性和可靠性。

总结:在Power BI中,异常检测和数据异常处理是数据分析中不可或缺的一部分。

pb(powerbuilder)异常及错误

pb(powerbuilder)异常及错误

pb(powerbuilder)异常及错误打开任意⼀个数据窗时,提⽰“sybase powerbuilder已停⽌⼯作”解决⽅法,错误如图所⽰⼀、打开任意⼀个数据窗时,提⽰⼀、解决⽅法1:找到注册表(运⾏:regedit)中HKEY_USERS\S-1-5-21-1060284298-1004336348-839522115-1003\Software\Sybase\PowerBuilder\9.0\Layout\Default,然后删除其中的Datawindow项⽬解决⽅法2:卸载PB 清理注册表,重启电脑,换个路径重新安装。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------⼆、使⽤return 1 处理报错信息:在DataWindow的DBError事件下:写脚本return 1 (如果返回1会触发itemchange事件)Return valueSet the return code to affect the outcome of the event:0 (Default) Reject the data value and show an error message box1 Reject the data value with no message box2 Accept the data value3 Reject the data value but allow focus to changeitemerror事件的返回值0——缺省值,显⽰出错信息,拒绝输⼊值并显⽰有效性检查,出错信息同时不允许移⾛焦点;1——不显⽰出错信息,拒绝输⼊信息,同时不允许移⾛焦点;2——不显⽰出错信息,接收输⼊值;3——不显⽰出错信息,拒绝输⼊信息,允许移⾛焦点;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------三、数据管道 pipelineobject.Start 错误列表Integer. Returns 1 if it succeeds and a negative number if an error occurs.Error values are:-1 Pipe open failed-2 Too many columns-3 Table already exists-4 Table does not exist-5 Missing connection-6 Wrong arguments-7 Column mismatch-8 Fatal SQL error in source-9 Fatal SQL error in destination-10 Maximum number of errors exceeded-12 Bad table syntax-13 Key required but not supplied-15 Pipe already in progress-16 Error in source database-17 Error in destination database-18 Destination database is read-onlyIf any argument's value is NULL, Start returns NULL.String ls_errortextIF IsNull( ai_ErrCode ) THENls_errortext = "传递了空参数!"RETURN ''END IFCHOOSE CASE ai_ErrCodeCASE - 1ls_errortext = "数据管道打开错误!请检查所有的对象是否有效.错误代码:" + String( ai_ErrCode )CASE - 2ls_errortext = "列数超过上限!错误代码:" + String( ai_ErrCode )CASE - 3ls_errortext = "⽬的表已存在!错误代码:" + String( ai_ErrCode )CASE - 4ls_errortext = "⽬的表不存在!错误代码:" + String( ai_ErrCode )CASE - 5 //common start()函数与repair()函数公⽤错误代码ls_errortext = "连接被断开!错误代码:" + String( ai_ErrCode )CASE - 6ls_errortext = "错误参数!"CASE - 7ls_errortext = "列类型不匹配!错误代码:" + String( ai_ErrCode )CASE - 8ls_errortext = "源SQL语法错误!错误代码:" + String( ai_ErrCode )CASE - 9 //commonls_errortext = "⽬的SQL语法错误!错误代码:" + String( ai_ErrCode )CASE - 10 //commonls_errortext = "发⽣错误个数超过最⼤界定错误数!错误代码:" + String( ai_ErrCode )CASE - 11 //repair专⽤错误代码ls_errortext = "⽆效的窗⼝句柄!错误代码:" + String( ai_ErrCode )CASE - 12 //commonls_errortext = "错误的表语法!错误代码:" + String( ai_ErrCode )CASE - 13ls_errortext = "空的主键值!错误代码:" + String( ai_ErrCode )CASE - 15 //commonls_errortext = "该数据管道已打开!错误代码:" + String( ai_ErrCode )CASE - 16ls_errortext = "错误发⽣在源数据库!错误代码:" + String( ai_ErrCode )CASE - 17 //commonls_errortext = "错误发⽣在⽬的数据库!错误代码:" + String( ai_ErrCode )CASE - 18 //commonls_errortext = "⽬标数据库只读!错误代码:" + String( ai_ErrCode )END CHOOSERETURN ls_errortext-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------四、Database transaction information not available.Call SetTras or SetTransObject function1、dw控件没有加settransobject。

PowerQuery技巧之Power BI 可视化图表的层次结构嵌套设置

PowerQuery技巧之Power BI 可视化图表的层次结构嵌套设置

Power BI 可视化图表的层次结构嵌套设置
小勤:Power BI里图表的这种多个层次嵌套在一起的效果是怎么做出来的啊?
大海:这种效果其实就是“展开层次结构中的所有下移级别”功能实现的(x)轴的嵌套啊。

比如说,这个分析里面,我们先将“区域”和“城市”字段放到“轴”上,“运货费”放到值里,就得到这个结果:
小勤:嗯。

这个知道啊。

然后再“展开次结构中的所有下移级别”,但是,为什么结果是这个样子的?区域和城市不分层次,看起
来有点儿乱呢。

大海:这是默认的将多个字段数据(标签)连接到一起的显示方式,你只要在X轴的属性设置里把“连接标签”属性给关掉即可。

小勤:原来这么简单!只是这种设置属性的名称太难理解了。

大海:嗯。

这些要靠多点尝试、摸索,但一般也是设置过一次,就知道了。

小勤:好的,我再练练。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档