将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

2023-10-31 1415阅读

由于工作需要,每个月定期更新数据、撰写PPT报告成了一项艰巨的任务。其结果是大量的时间花费在数据处理上,而真正的分析工作往往草草结束。我首先想到并采用的是Excel图表到PPT的链接。后来,随着各种BI工具的流行,我尝试学习和使用Power BI。于是我尝试将工作平台转移到PowerBI上。与PPT不同,PowerBI报告会更多数据——导向)。虽然有第三方工具或者插件可以将PowerBI图表嵌入到PPT中(如何在PPT中与PowerBI报表动态交互?Excel链接PowerBI的方式有3种,下面一一介绍。我还在Google上找到了一个澳大利亚高手写的专门的Excel VB宏,可以一键自动链接PowerBI文件。您可以在“PowerBI星球”后台回复“Excel Connect PowerBI”获取此Excel宏文件。

​文/HALI
 就职于汽车行业战略部门
专注汽车市场信息情报收集和分析

由于工作需要,每个月定期更新数据、撰写PPT报告成了一项艰巨的任务。 其结果是大量的时间花费在数据处理上,而真正的分析工作往往草草结束。 如果不能坐以待毙,就得想想是否还有更好的办法。

我首先想到并采用的是Excel图表到PPT的链接。 后来,随着各种BI工具的流行,我尝试学习和使用Power BI。 它真的很强大。 据说它使用了SQL Server的数据引擎Vertipaq,数据处理速度一样快。 另外,可以处理的数据量可以是巨大的,而且是一个专业的数据库。 相比之下,Excel秒成渣。

于是我尝试将工作平台转移到PowerBI上。 然而最终测试发现微软不支持用户用PPT自动嵌入图表(不知道为什么,不过微软似乎想直接在PowerBI内部制作类似的报告。与PPT不同,PowerBI报告会更多数据——导向)。

虽然有第三方工具或者插件可以将PowerBI图表嵌入到PPT中(如何在PPT中与PowerBI报表动态交互?),但是需要联网等,非常麻烦。 所有做报告的学生都必须有经验。 你肯定不希望PPT报告有什么技术问题,不然董事会的老大们就只能干瞪眼等着数据刷新了,哈哈。 后果比不报告更糟糕。 这就是报道界面临的政治生态。 简而言之,不允许提问。

平心而论,PowerBI目前的报表能力、颜色和文本能力、图表定制能力目前还不如Excel和PPT。 对于分析师来说非常有用,快速、方便。 不过要向管理层汇报,哈哈。 当领导看到PowerBI报告时,他的意见是质量一般。 搞了几次才发现PowerBI报表不能使用其他字体,个别数据标签不能调整等等,还有其他办法,太费力了。

这很尴尬。 我白学了PowerBI。 可惜它的数据处理能力这么好。 曾经有一段时间,我尝试学习Excel PowerPivot,但发现差异相当大,而且无法使用PowerBI便捷的图表方法和分组,真是一种损失。 看来我不能两者兼得。 我应该怎么办?

搜索Google,功夫不负有心人,果然找到了解决方案——OLAP(在线分析处理)。 应蔡老师的邀请,我们总结了相关内容,在此分享给大家。 希望对需要经常更新PPT报告的人有所帮助。

传统方法:Excel数据图表和PPT链接以及自动数据更新

我的工作涉及数据分析图表和定期报告(PPT)。 以前的方法是在Excel中维护数据,然后使用多个数据透视表数据支持来创建数据图表。 然后通过粘贴链接的方式将Excel里面的图表粘贴到PPT中。 当每月更新数据时,手动将新数据粘贴到数据源表中,然后刷新所有数据透视表。 然后打开PPT,当提示是否更新数据时,单击“是”。 经过无数次屏幕抽搐(像抽筋一样闪烁),图表更新结束。

这样做的好处是,以数据透视表的形式固定了每月固定的工作流程,一定程度上自动化了图标数据的更新,节省了大量的时间。

但如果你能享受到PowerBI的高效以及Excel、PPT强大的定制功能,而且还可以将所有工作步骤修复并一键刷新,那岂不是更完美了?

PowerBI其实可以理解为一个小型的SQL Server,精简了很多东西,但是保留了SSAS服务。 如果运行PowerBI,通过任务管理器,可以看到SSAS服务一起运行。 SSAS服务是为兼容的外部程序访问数据库而保留的。 幸运的是,Excel 提供了用于访问 SSAS 的组件。

这使得我们可以从 PowerBI 外部访问它并利用 Excel 的图表功能。

Excel链接PowerBI的方式有3种,下面一一介绍。

方法1:Excel手动连接PowerBI SSAS服务

打开pbix文件,然后打开DAX Studio(DAX Studio的使用请参考:DAXStudio:你迟早会用到的几个功能),复制pbix文件的ssas服务端口

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

然后,打开 Excel 并创建一个新文件。 单击数据>来自其他来源>来自分析服务:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

将 pbix 分析服务端口粘贴到其中:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

然后下一步,下一步,结束。 注意,这一步我们创建了一个链接文件,它的存储位置在这里:链接文件以端口号开头,很容易区分。

工控环境下通过串口实现 excel 自动输出_工控机串口设置与驱动_串口自动流控制

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

然后Excel会提示您打算以何种方式从外部ssas服务调用数据。 当然数据透视表报告:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

注意右边的可选数据表和所有列,看看是否都在?

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

这是一个技巧。 您会注意到某些数字列无法拖动到值中。 怎么做? 我查阅了微软的官方文档,方法是在PowerBI中给每个数字列一个度量值。 然后您将看到这些指标值(带有 sigma Σ 符号),如下所示: 然后可以将它们拖到值合并计算中。

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

然后根据需要制作各种数据透视表。

建议您单独创建一个新的Excel文件,专门用于创建最终的图表(管理层喜欢的那种定制图表,包括您公司的各种文化和领导偏好)。

下一步是将 OLAP 文件中的数据链接粘贴到最终的图表文件中。 (其实业务顺序可能是先根据业务需求制作最终的图表Excel文件,然后根据图表文件的数据要求制作OLAP透视数据文件),最后粘贴最终图表的链接进入PPT。

这里提醒一下,必须同时打开PowerBI和OLAP文件,才可以修改PowerBI文件中数据表和列的名称。 否则,OLAP 文件无法找到更改的列名和表名。 最好保留一个专门用于报表的PowerBI文件,不要随便修改。 我做过实验,发现调整列的位置或添加列不会影响OLAP文件,因此可以稍后添加分组等工作,而不必一开始就全部划分。

最后还有一个问题,每月数据更新。 如果关闭并重新打开pbix文件时数据端口发生变化怎么办?

使用DAX studio查询新端口。 然后打开一个新的Excel并尝试连接ssas端口。 然后关闭 Excel 文件。 下一步是关键。 打开我们保留了许多数据透视表的OLAP Excel文档,然后选择数据透视工具>连接属性:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

选择定义选项卡,选择连接文件,浏览并选择以新端口号开头的链接文件。

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

然后刷新,屏幕抽搐了无数次,就结束了。

其他更新步骤就不多说了。 Excel只是刷新所有内容,而PPT在打开时更新数据。 至于pbix文件的数据更新,请参考蔡老师的星球文章推荐新的同文件夹更新方法。

因为Excel是一个调用PowerBI的服务,所以Excel中图表报表的这些数据调用实际上都是在PowerBI中完成的,效率超级高。

至此,我们不仅可以享受PowerBI的高效,还可以享受Excel、PPT强大的定制功能。 我们还可以修复所有工作步骤,并在以后一键刷新。 当然,有些图表仍然需要适当的样式。

以上就是最经典的OLAP链接方法。 不过这种更新数据的方式确实有点麻烦。 有更快的方法吗? 谷歌告诉我有。

方法2:使用宏文件自动连接PowerBI ssas服务

我还在Google上找到了一个澳大利亚高手写的专门的Excel VB宏,可以一键自动链接PowerBI文件。 换句话说,您不再需要链接文件、DAX Studio 查询端口或每次都创建链接文件。 您只需单击一下即可将它们连接起来。 这个人的名字叫马特·阿林顿。 您可以在“PowerBI星球”后台回复“Excel Connect PowerBI”获取此Excel宏文件。

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

让我把VBA代码放在这里:

子更新用户路径()

'由 Matt Allington 从 user = Environ("LOCALAPPDATA") UserPath = user & "MicrosoftPower BIDesktopAnalysisServicesWorkspaces" Sheets("Connection") 开发。 Range("B2") = UserPathEnd SubSubRefreshSSASConnection()' 由 Matt Allington 从 myTable AsListObjectUpdateUserPathRange("SSAS_Data") 开发。 列表对象。 查询表。 RefreshBackgroundQuery:=FalsePort =Range("Port")Db =Range("DB")如果 Len(Port) =5 则使用 ActiveWorkbook。 连接(“PowerBID”)。 OLEDB连接。 CommandText = Array(“模型”) 。

命令类型 = xlCmdCube 。 连接 = Array( _ "OLEDB;Provider=MSOLAP.5;集成安全性 = SSPI;PersistSecurity Info=True;初始目录 = " & Db & ";数据 " _ , _ "源 = localhost:" & 端口 & ";MDXCompatibility =1;安全选项=2;MDX 缺少成员模式=错误;更新隔离级别=2" _ )。 刷新文件打开 = False 。 保存密码=假。 源连接文件 = "" 。 MaxDrillthroughRecords = 1000。 ServerCredentialsMethod = xlCredentialsMethodIntegrated 。 AlwaysUseConnectionFile = False 。 RetrieveInOfficeUILang = True End with ActiveWorkbook。 连接(“PowerBID”)。 名称=“PowerBID”。 说明 = "" 以 ActiveWorkbook 结尾。 连接(“PowerBID”)。 刷新

Else MsgBox“您必须打开 1 个 Power BI Desktop 实例”,vbCritical

万一

结束子

请注意,粗体和下划线部分可能需要调整。 (第一部分指定了PowerBI的SSAS端口文件的位置,根据安装位置的不同,可能会有所不同。只安装了一个PowerBI软件,如果一路yes,则无需调整。

第二部分最大开钻数可调整为最大10000)

除了以上两种OLAP链接方法之外,还有其他方法吗? Planet发完这篇文章后,迪拜的一位明星朋友分享了另一种实现方法。

方法 3:使用 Power BI Publisher

Power BIPublisher是微软推出的一款Excel插件。 看来微软也觉得数据分析师每次更新数据都要重新建立链接文件太费力了。 所以我写了一个插件方便大家。

据她介绍:“你可以从Excel界面登录到PowerBI连接的报表和数据。然后将其加载到数据透视表中并像Excel刷新一样刷新。你还可以将其设置为每次打开时自动刷新我们财务系统中的所有数据都像这样推到数据流中,不需要从ERP中下载。”

我去下载测试了。 我发现使用这个插件的前提是PowerBI必须有Pro账户。 所以,如果你不付费,官方是不会给你这个便利的。 不过购买Pro的同学可以下载插件并享受这种便利。

本文到此结束。 所有操作均经过亲自测试,可靠,有需要的可以尝试。

我本来答应蔡老师写一篇文章的,但是却拖了一段时间了。 我今天会提交。 请纠正我。 如果您有新的方法和经验,欢迎分享。 希望对大家的工作有所帮助。 谢谢。

-精彩推荐-菜屋:Power BI数据分析实践:模拟高德城市交通健康榜​

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

才物:Power BI应用实践:批量抓取网页数据​

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

采屋:如何使用Power BI分析回头客?​

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

喜欢的话别忘了点个赞哦~

本文主要介绍AmazeUI的JS表单验证框架的实际例子分享。 文章通过示例代码对其进行了详细介绍。 对于大家的学习或者工作都有一定的参考学习价值。 有需要的朋友可以关注小编一起学习。 研究一下

1、需求

为嵌入UTribe(Android App)中的学生会活动注册系统制作一个前端页面。 最小注册数量为 1,最大注册数量为 4。表单可以动态添加,最多为 4。 团队名称为必填项,队长的所有信息为必填项,团队成员为必填项。 QQ和手机号码可选,录入时间为必填项。

2 初步设计

这个项目只花了半天时间,而且我之前没有Android端调试页面的经验,也没有机会调试布局。 我只能部署一次,看看它是如何工作的。

3. 问题

我是新手。 以前我都是用js检查参数再提交表单验证。 但该项目参数较多,同一领域的验证方式也不同(需要队长QQ和手机,但队员不需要)。 如果前面的方法显然需要大量的工作。 有更好的方法吗? 这时看到amazeUI的js验证框架,交互效果不错。

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

首先将目标表单绑定到验证器函数,然后向需要验证的字段添加属性(required、pattern、mixlength 等)。 除了HTML5中现有的email、url等正则规则外,还可以自定义pattern,最后填写功能submit确认表单信息合法。然后我将这个框架应用到了自己的项目中,添加了自定义正则表达式

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

这里的验证可以根据需要添加到相应的字段中。 例如,添加队长的QQ和手机号码进行验证,但团队成员不需要添加。

name="qq" placeholder="输入QQ号"必填>

问题一:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

这是什么意思? 仔细一看,发现解释器无法识别你的验证器方法。 应该是缺少某个js引用,所以通过导入包的方式解决了问题。

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

问题2:

由于队员表格上的信息和队长的很相似,所以不能一一附上吧? 这会导致两个问题。 一是工作量大,二是代码不简洁,维护麻烦。 于是我想到了用克隆一个写好的div模板的方法来解决。

问题3:

由于每个队员的数据需要整合成json数组传递给后台,所以在检查请求参数时发现只有队长有性别属性而队员没有。 后来发现radio名称只有一个值,所以需要动态更改克隆模板。 利用团队成员表单中电台的名称属性来实现不同团队成员之间的性别差异。

var radios = template.find('input[type=radio]');

radios.each(函数(){

$(this).attr('姓名','性别'+g_index);

})

这样就可以正常接收不同团队成员的性别属性了。

问题4:

重写submit方法提交表单后,我原本以为这样就基本完成了。 但在测试过程中,我发现如果表单字段不合法,页面会自动刷新,提示信息闪烁后消失,填写的数据也没有了。 这显然是不正确的。 符合使用逻辑。后来发现问题是

报名

注意这里的按钮类型是submit而不是button。 提交后会自动刷新页面。 解决方案非常简单。 在检查验证器对象的submit函数中的参数时,如果非法,则返回false,这样页面就不会自动刷新。 。

提交:函数(){

var formValidity = this.isFormValid();

如果(表单有效性){

if(!member.postMembers()){

返回假;

}别的{

alert("输入的信息不合法!");

返回假;

完整效果展示:

将另一个表单复制并粘贴到 Excel 文档中并进行更改_使用 Excel 连接到 Power BI

amazeui验证遇到的坑

jsp示例:

Form加上data-am-validator可以使验证生效:

js:

//注意下面的坑,只有两者配合才能生效

$("#addPopuForm").validator('destroy');//初始化,销毁之前的验证

$('#addPopuForm').validator({validateOnSubmit: true});//初始化参数可以有多个,具体参见参考文档

,提交时验证,配合上面销毁实现销毁。

//重置表格

$("#addPopuForm")[0].reset();

//提交时进行表单验证。 如果formValidity为true,则验证通过。

var formValidity = $('#addPopu').validator('isFormValid');

这篇关于AmazeUI的JS表单验证框架的实际例子分享的文章就到此结束了。 更多关于AmazeUI的JS表单验证,请搜索Script House之前的文章或者继续浏览以下相关文章。 我希望你将来也能这样做。 多多支持脚本之家!

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]