/powerbi文件夹/SingleTable.xlsx 你会发现这两种办法得到的文件路径是完全一致的。...②我们换个思路,该文件是从ODB中获取的,而PowerBI有专门的ODB链接器 选择更多 我们选择SharePoint文件夹 提示让我们输入根URL 也就是截取以上文件路径中的一部分即可 https:/...展开后得到了ODB中根目录下所有的文件和文件夹结构 这样我们就可以通过点击导航的方式找到对应的文件夹和文件 我们在此处直接将显示根目录的这个查询保存下来,并取消加载,目的是为方便后续查找导入其他文件或文件夹时...我们可以设想,如果有几十个文件从ODB中获取,如果每一个都进行复制,那么就意味着每一个查询都将直接从ODB中获取一次数据,这是对算力的巨大浪费。 而如果都是“引用”,引擎只会从ODB查询一次。...然而假设您已经从本地获取了大量的文件或文件夹,并且每一张表都进行了相当多的powerquery预处理,并制作完成了报告的大部分,且各个表之间还建立了错综复杂的关系。
我们需要分析销售数据,所以我在销售明细中模拟了2018年和2019年的数据。将它们放置在销售明细文件夹中。销售数据结构如下图: ? 店铺信息直接模拟了十一个店铺如下图: ? ...二、导入数据源数据 在销售数据明细文件夹中有两个EXCEL文件,所以我们需要先对这个文件夹的数据进行合并处理。然后处理合并单元格以及表头。在PowerBI中可以直接处理文件夹。...接下来我们开始导入数据源步骤 1、新建一个空白的PowerBI项目文件 ? 2、点击获取数据,选择更多,选择文件夹 ? 3、点击连接,选择数据源存储位置,点击确定。...然后点击转换数据进入PowerQuery编辑器(注意:该路径不是一尘不变的,有时候我们移动了文件夹,就需要重新引用。我们可以通过主界面编辑查询的数据源设置来变更路径即可) ? 4、查看导入 ?...13、因为销售目标表只是中间计算过程,所以关闭启用加载销售目标表。右键取消勾选启用加载,表名称变为斜体字就是操作成功 ? 14、关闭并应用数据处理,加载数据到PowerBI数据集中 ?
技术原理 本篇将使用在SSIS中,使用循环容器遍历文件夹内所有Excel文件,将其文件路径获取到,再使用dotNET脚本打开用于数据转换的Excel模板文件(里面事先存储好PowerQuery的抽取清洗逻辑代码...将模板文件内的PowerQuery查询使用替换的方式,将其引用的文件路径替换为当次循环引用文件。...每次循环,模板文件使用PowerQuery将不同数据加载进来并保存,实现所有的循环遍历文件的数据上传。...本次不止于一个文件的清洗,使用源文件和存档文件两个文件夹存放要处理的多个文件,多个文件结构是一样的,只有这样才能让PowerQuery的代码通用于多个文件。...核心代码中,使用脚本任务,将当前循环下的文件全路径进行转换,得到归档路径,模板文件路径等。
如果未能按xml结构化的提取方式,从其中提取自己需要的数据,而简单粗爆地使用文本字符串处理技术例如正则表达式提取,实属一大遗憾,毕竟现成的结构化不使用,而使用更麻烦的字符提取,得不偿失,工作量俱增且提取准确性得不到保障...社区里经常不时有人提问,有了PowerBI后,是否就可以不用学XXX之类的问题,诚然,PowerBI的PowerQuery组件确实强大,专业用于对数据进行ETL操作,但每个工具都有其适用的范围,有时也更是杀鸡不用牛刀...,动不动把它拉出来,其实没必要,就如上述的提取颜色代码场景,非要用PowerQuery的读取xml文件功能,也是可行。...如果想每次打开Excel都自动加载,可以将文件丢到插件文件夹路径下(C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns\ 不同用户名将Administrator...让Excel加载时检测到或手动在加载项清单上进行【浏览】选择操作,选择电脑上存放的xll文件,特别是电脑上安装了64位Excel和32位WPS时,文件不放到插件文件夹内,WPS不自动加载就不会报错。
、文件夹名、表名等操作,可轻松在PowerQuery的可视化界面中完成修改。...第二,PowerQuery读取部分程序生成的xls文件失败,部分PowerBI群友反映在淘宝的生意参谋后台导出的xls文件,不能直接使用PowerQuery来读取,需要额外一步,使用Excel打开xls...在Excel催化剂的【Excel文件格式转换】功能中,很好地破解以上两个难题 具体操作如下 步骤一 选择要处理的Excel文件全路径 对同一个文件夹下的所有文件的路径提取,使用第4波介绍的自定义函数,轻松可获取得到...获取某个文件夹下的所有文件名全路径 同时,利用Excel催化剂开发的自定义函数,还可做许多的关于文件相关的处理 ?...使用自定义函数构造出新的目标文件的全路径 步骤三 选择源文件区域后点击【Excel文件格式转换】 简单配置一下窗体界面,让程序知道从哪里找到目标文件和密码信息 如果生成的新文件,无需密码,去勾选【目标文件是否保留原文件打开密码
没有重复的代码意味着更少的代码行和更少的错误,这使得代码更易于维护。 如果编写VBA,最常见的可重用代码是函数。例如,通过函数可以从多个宏访问同一代码块。...如果你有多个一直在使用的函数,可能希望在工作簿之间共享它们。跨工作簿共享VBA代码的标准工具是加载宏,但VBA加载宏缺乏一种可靠的分发和更新方式。...相比之下,在Excel世界中,目前最流行的版本控制系统是以文件夹的形式出现的,其中的文件存档方式如下: currency_converter_v1.xlsx currency_converter_v2_...在我们将注意力转向Python之前,简单介绍一下PowerQuery和PowerPivot,这是微软对Excel进行现代化的尝试。...PowerBI Desktop是免费的,因此如果你想使用它,转到PowerBI主页并下载它。注意,PowerBI Desktop仅适用于Windows。
文件夹图示.png 0.Power Query与其他PowerBI系列组件的关系 获取数据——>分析数据——>呈现数据 PowerQuery获取和整理——>PowerPivot建模和分析——>PowerView...关系图.png 简而言之:获取——>分析——>呈现——>发布 1.数据导入Power Query并进行追加查询 新建一个空的excel文件,在导航栏的POWER QUERY中选择从文件——>从Excel...成功填充并将成果加载至原有表.png 3.数据格式的转换 打开下载文件中的03-数据格式的转换.xlsx,如下图所示。 ? 打开文件图示.png ? 加载数据至PowerQuery中.png ?...成功删除错误行.png 7.转置和反转 打开下载文件中的07-转置和反转.xlsx,如下图所示。 ? 打开文件图示.png ? 加载数据到PowerQuery中.png ?...转置结果.png 如果上载位置有偏差,自己可以移动表格位置调整至上图所示效果 8.透视和逆透视 打开下载文件中的08-透视和逆透视.xlsx,如下图所示 ?
增强了终端用户的能力 更快地从数据获得价值 这些好处无需多言,而我们也同时清楚 PowerBI 存在的痛点,或者说自助BI领域共同的痛点: 存在大量重复的劳动 数据一致性问题 不够高效 举个很简单的例子...:如果有一个PBI文件获取了销售事实数据表达 10 亿行,但这个数据却无法用于云端其他的PBI文件;而每个文件由于获取数据和处理数据的逻辑差异导致数据差异,导致最终计算呈现结果的差异;而整个过程全部从终端用户自行发起...这将是对企业的重大利好,也是微软在Bigdata&BI&AI的巧妙结合,这对竞争对手来说,是挺头疼的了。 实践 PowerBI 数据流 如果以上都看不懂,也没事,我们来实际操作进行体验。...PowerQuery查询,并通过数据网关来执行PowerQuery将本地数据导入Azure数据湖,例如这里选择Excel类型,如下: 这需要提前安装数据网关,这是免费和快速的,这里就不再赘述,然后: 如果我们的文件路径是已经授权过网关的...,这里将自动识别代入,然后: 看到了更加熟悉的界面,选择我们要导入的内容,下一步: 可以像在 PowerQuery 中一样操作,非常轻松。
工作中经常会遇到收集各个分公司的表然后汇总到一张表的情况,PowerBI或powerquery中的”从文件夹获取数据“提供了很大的便利。 不过,前提是所有文件的sheet名是相同的。...如果sheet名不同,你可能需要学习一些骚操作。 ? 以下是示例文件: image.png 选择从文件夹中获取数据: image.png 合并并加载,以第一个文件为示例文件: ?...但是如果待汇总的excel文件中,各个sheet的顺序是乱的(实际工作场景中经常发生),那么这种方式就不行了。 不过,如果sheet名有一定的规律,那么还是有办法解决的。...解决办法2: 通过筛选sheet名的方式。比如我们的示例文件中,我们想要获取的sheet名规则是”year20xx“,那么我们就可以以开头为”year“去筛选这些表,然后再将序号是0的表展开。...在转换示例文件中,进行修改: ? 也能得到正确的结果。 结论 PowerQuery给了我们很多便捷的方法汇总文件,这些方法要比手动或者使用VBA节省更多的时间。
那么今天的文章主要内容是怎样从PBI批量爬取在线的财务报表数据。直接进入正题。...对于从PDF文件获取的上市公司股票代码表,可删除默认出现的“更改的类型”步骤,因为股票代码有很多以0开头,需要以ABC文本格式才能显示出来。 ? 前三列利用向下填充补充数据 ?...第四步,在从PDF文件获取的上市公司股票代码表中做筛选,考虑股票代码很多,获取全部数据非常耗时,我们先只筛选前3只股票。 ? 选择“添加列”,调用自定义函数,增加一列。 ?...5 进一步思考 刚刚Demo的测试,我们只选取了3家公司,一切都很完美,那如果将3500+家上市公司都加载进来,批量爬取将会发生什么? 很慢!...我们通过案例体验式地学会PowerQuery的特性和功能,但实际工作中对于大范围爬取网页数据的需求,建议尝试其他更专业的爬虫工具。
: 一起回顾下2018年PowerBI的发展: 总结下来,可以归类为: 回顾最近12个月,可以概括为: 自助分析趋于成熟 大规模企业应用不断增强 跨越式的改进 PowerBI 在自助分析角度的发展 从...使用 Power BI Pro 很快就会达到极限(边界),例如:企业有 上千万行 数据要处理,并统一提供给终端用户使用,这在现实中超出了 Power BI Pro 的能力范围,不管从加载速度,数据重复利用...,整出来100张表的模型: 利用已经在 2018.11 发布的模型视图功能,可以轻松管理大型模型并将其拆分成不同部分: 并将度量值装入文件夹,进行管理: 接着演示企业报表功能: 当然,每次都会刷新一下PowerBI...基于我们刚刚介绍到的能力,可以看一个案例: 我们从宾馆的住宿记录中来进行分析,首先可以提取关键词来分析: 可以通过筛选看出那类的宾馆适合怎样的客户: 进而对销售的商机进行机器学习分析来进行预测: 这里可以对销售机会创建一个机器学习模型...: 虽然我们不是数据科学家也不会用 R 或 PY 编写任何 AI 算法,但依然可以从 PowerBI 中集成的机器学习模块中定制自己所需要的,这里选择一个 是/否 判断模型: 选择历史数据来训练模型:
方法1:从文件夹获取文件——PowerQuery样式 Excel Power Query具有“从文件夹获取数据”功能,允许我们加载特定文件夹中所有文件。我们可以用Python轻松地完成这项工作。...工作流程如下所示: 给定文件夹,查找其中的所有文件。 缩小文件选择范围,我需要加载哪些文件? 逐个加载选定文件中的数据。 为了实现上述工作流程,我们需要os库和pandas库。...图2 可能你会非常喜欢这种方法,因为: 可以在熟悉的环境(电子表格)中组织和存储信息(文件名、链接等)。 如果我需要更新或添加要读取的新文件,只需要更新这个输入文件,无需更改编码。...但是,如果文件夹包含50个文件,其中20个是csv,我全部需要这些文件。此时,我将使用从文件夹获取文件的方法,因为我们可以轻松地从文件列表中选择所有.csv文件。...2.是否所有文件都位于同一文件夹中? 如果文件位于不同的文件夹中,则使用Excel输入文件来存储文件路径更有意义。
从电影数据案例来理解模板函数法 在此前的文章中:PowerBI 零代码智能网抓中国电影大数据让人惊叹,这里不再重复之前的说明,但从另一个角度来看待这件事,为了获得2008年到2018年的每年电影票房数据...从多个文件提取并处理数据来理解模板函数法 该案例来自社区伙伴的实际问题模拟。首先显示下正确提问问题的姿势: 下面来看如何一行代码不写得处理这个问题。...对单个文件进行逆透视在PowerBI的PowerQuery中非常简单,然后把这个能力需要模板化,形成函数。...这里的特别之处在于,由于处理的主体是文件,是一个二进制文件,所以可以用到二进制文件作为参数,这在PowerBI的PowerQuery里还真有: 因为我们人工是无法输入二进制数据,所以必须可以留空以允许我们创建一个二进制的参数...可以案例文件为准。 总结 PowerBI在设计PowerQuery的时候可以明显发现,PowerQuery编辑器的每次改造都是希望可以对应于PowerQuery本身代码的功能去完善。
一般情况下,在PowerBI或PowerBI Desktop中点击【刷新】按钮,会将数据源的数据全部刷新一遍,如果数据源数据很多,而每次变化的很少,例如只有最近一日发生变化,那这种不问青红皂白就直接全部刷新的方法显然会耗时耗力...在数据加载进入数据模型之后,我们也可以实现增量刷新的效果,使用DAX的UNION函数将多个表纵向合并即可。...对此,我们设计的结构如下: 这里需要将订单2011~2014全部加载进入模型,但可以设置只有订单2014包含在报表刷新中,如下: 这样每次刷新数据的时候,只有最后一组订单数据(订单2014)会被刷新,如下...一种未雨绸缪的做法是,在建模初期就预料到某些表会很大,可能需要增量加载,那可以直接使用计算表,但此时如果只有一个表怎么办,也就是说,必须实现一个表的UNION作为占位符。...如果在Power BI Desktop设置好增量刷新,效果如下: 其含义为: 将订单表增量刷新 存储最后3年的数据行 刷新最后1日的数据行 在检测到数据更改时触发刷新动作 在Power BI Desktop
第五步:剩下所有的操作与从本地或者onedrive中获取文件完全一致: 第六步:发布到web,设置数据源凭据,点击“编辑凭据” 结果出现: 云端powerbi账号使用的是世纪互联版。...那么可以猜想,问题基本上和之前遇到的"世纪互联版的powerbi从国际版的onedrive中获取文件云端无法刷新"是完全一致的。...针对“PowerBI从Onedrive获取文件”两篇文章做个补充 我们换一个非世纪互联版的powerbi云端账号试试: 没问题。...而且,暂时也不能像在Onedrive中获取文件夹那样直接获取一个Google文档的文件夹: PowerBI从Onedrive文件夹中获取多个文件,依然不使用网关 但是我们发现Google Sheet连接器用的是...总结 对于习惯于将文件存储在Google sheet上的朋友们来说,这个新的连接器解决了从0到1的问题,而且在肉眼可见的将来,它会越来越好。 个人感觉,这才是powerbi的重要发展方向。
不同于上面的三个方法,它既不是公式也不是一门语言,它是一个工具插件,这个插件把我们常用的提取、清洗、加载数据等常用功能制作成了傻瓜化的界面,让不懂高级计算机语言的人也能够非常快速地完成数据处理工作。...当然PowerBI软件集成了PowerQuery的功能。 ? ?...所以我们应该把Excel和PowerBI结合起来使用,取长补短。但这并不意味着你必须花更多的时间学习两款软件,无论你用哪个版本掌握了PowerQuery,你的知识水平都是一样的。...3 小结 在本文的开头,“我们不生产数字,我们是数字的搬运工”道出了很多数据工作者的心声。Power Query的出现就好像一台智能机器,把我们从搬运工的苦力工作中解放了出来,让机器来取代人力。...在计算机不断改变人类工作和生活的今天,让我们拥抱这个变革,利用Power Query, 来达到20%的时间做数据,80%的时间做分析的目标。如果你已经看到了这里,恭喜你距离这个目标已经不远了。
此处使用SSIS的【文件系统任务】来完成文件先删除操作。 接下来,我们回到常规任务,将新生成的res.csv文件进行数据抽取并加载到数据库中。...目标我们存到关系数据库中,这样数据的二次利用才更方便,并且数据库的存储数据量也可以得到保障。 最终我们的数据流任务如下图,增加加载时间,方便后期审核。...最终我们的控制流任务如下,完成我们预期的效果,将python清洗好的数据,交给SSIS的后续步骤来调用。 在SSMS上打开目标表,发现数据已经加载成功。...在下一篇中,我们重新回到微软系中,使用SSIS和PowerQuery联合,将轻量化的ETL工具一些好用易用的能力同样嫁接到SSIS中,同时又可以避开此短板部分。敬请关注。.../p/d154b09c881d 「数据ETL」从数据民工到数据白领蜕变之旅(四)-有了PowerQuery还需要SSIS吗?
整理你的报告从使用SQL开始 需要指出的是,如果你的模型已经使用excel搭建得比较成熟了,就尽量不要转移数据源到数据库中了,因为一旦修改了数据源,那么模型中建立的关系同时会消失。...如果,实在想使用excel文件,那么也建议使用onedrive中的文件或文件夹,我用了三篇长文来说明为什么要使用onedrive,以及中间会遇到的问题的详细解答: Power BI刷新避免使用网关,蚊子肉也是腿...,电费也是钱 PowerBI从Onedrive文件夹中获取多个文件,依然不使用网关 针对“PowerBI从Onedrive获取文件”两篇文章做个补充 这些应当是在最初接触Power BI或者最开始搭建Power...5.数据回写 不知道你有没有将powerbi或者powerquery中的数据进行导出的需要? 诚然,可视化对象是可以导出csv文件的,并且导出数据的限制也可以通过DAX studio来绕开。...不过powerquery中的数据清洗结果你能导出吗?正常情况下自然是不能的。
控制流中的数据流任务,可以再嵌套一个循环结构的容器,就变成批量执行某个数据流任务单元了,例如抽取某个文件夹下的所有Excel文件数据到数据库中,使用循环容器,就可以将任务分解成循环执行【Excel文件抽取数据到数据库...】这样一个数据流任务,最终实现文件夹内所有Excel文件都抽取到数据库中。...选择好Excel文件的路径信息即可完成连接信息的创建。...数据源的加载环节已经做完,我们简单做一个转换操作的演示,增加一列数据的加载时间,方便日后数据审核复查时,知道数据是什么时候抽取的。...来到数据库中查看,可看到我们目标表中,多出一列加载时间。源数据按预期加载完成。 因现在是测试模型,执行完,需要中止回到设计模型才可以进行修改。
领取专属 10元无门槛券
手把手带您无忧上云