前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Power Automate实现PowerBI数据集刷新结束后通知

Power Automate实现PowerBI数据集刷新结束后通知

作者头像
陈学谦
发布于 2022-05-25 05:39:58
发布于 2022-05-25 05:39:58
2.1K00
代码可运行
举报
文章被收录于专栏:学谦数据运营学谦数据运营
运行总次数:0
代码可运行

本文为PowerBI REST API高级应用教程,需要有REST API基础,并且能够自行获取token的基础上进行操作。

实际的业务场景往往纷繁复杂,比如某个时候你需要将最新的数据呈现给甲方爸爸,在按了一次刷新之后,在漫长的数据集刷新过程中,可能需要一次次点开网页刷新,看看是否已经刷新结束,往往消磨了人们的耐性。示例的文件刷新15分钟已经够客气了。

当然,你可以在每次刷新时设置一个15分钟的闹钟,以便提醒,但是未免太过繁琐。并且不是每次的刷新都是15分钟,往往有些时候可能需要更长的时间。

如果能有一个办法在每次刷新结束时自动提醒我就好了!

有人说可以通过数据预警,但是数据预警只能设置每天或者每小时发通知一次,而且设置思路并不是很明确。

一、本文提供的思路是:

当前时刻,以往每次刷新的状态是可以获取的,通过API。

刷新状态一共有三个,Completed(成功),Failed(失败),Unknown(未知,即正在刷新)。

也就是说,可以通过刷新状态的变化,来确定什么时间刷新结束。

比如一次刷新大约需要15分钟,那么我可以设置一个10分钟一次检测的flow(该时间间隔一定要小于数据刷新的时间,否则有一定几率漏掉),获取最后一次刷新的状态。

如果状态不为Unknown,跳过;

否则进入小循环,5秒检测一次,直到状态转为Completed,结束,发送邮件通知。

二、具体设置过程:

1、触发

Power BI刷新开始并没有直接或间接的触发条件(可能是我孤陋寡闻了,如有高见,请不吝指教),如果是每天固定的计划刷新,那么可以可以设置在某个时间段开始运行flow;如果是手动触发,也是有办法的,比如报告上使用一个flow来触发,dataset刷新启动后下一步就是这个操作。具体可以参考这篇文章。

但是很多时候可能既有手动刷新也有定时刷新,并且定时刷新时间也会有所变动, 此时上面的办法就不行了。

flow的触发可以使用定时,比如10分钟检测一次,如果状态不为Unknown则跳过。但是这里面有个逻辑,比如一个dataset刷新从14:02刷新到14:17,那么如果在14:05定时触发检测到状态为Unknown,则进入小循环,等到14:17刷新结束时一定会收到提醒邮件,这个没问题;但是14:15时定时运行的flow又会再一次运行另一个进程,依然会检测到Unknown,依然会进入小循环,并在14:17时发送另一个提醒邮件。

也就是说, 通过这种方式定时运行flow会有一定的小问题。

那么我们如何改善这一点呢?

答案是,手动触发。

有同学会问了,手动触发不就是一次性的吗?难道每次刷新都需要手动触发?

并不是!

我们这里使用了一个技巧,套用了两个loop,每个loop设置5000次(这也是limits的最大值),这样就是25000000次循环:

按照设定的10分钟delay一次,大约可以运行475.6年……嗯,基本够用。

如果你非说不够用,就再套个5000次!

2、获取状态

API获取刷新状态是一个基本的操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/refreshes?$top={$top}

这篇文章中有所介绍:

Power BI 异步刷新-查询刷新历史与手动停止刷新

此处用了一个$top=1,即获取最后一次的刷新即可。

获取的内容是一个json,关于json的处理这篇文章有所介绍:

PowerAutomate云端流中JSON的增删改查操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
first(body('HTTP_获取刷新历史')?['value'])?['status']
3、一旦识别了Unknown,进入小循环

加一个条件判断,如果最后一次刷新状态是Unknown,进入小循环,5秒获取一次,直到状态改变:

状态改变代表着刷新结束,当然,结束有多种方式,Completed只是其中一种,也可能会失败。但是不管刷新结果是什么,我们都会收到邮件的提醒。

4、实操展示

我分别在17:12,17:28和17:51进行了刷新:

刷新结束时都收到了邮件提醒,3次刷新都成功:

三、总结

本文讲解了使用PowerBI REST API配合PowerAutomate实现PowerBI报告刷新结束时邮件通知的方法。前提是能够使用Azure AD设置应用程序,调用API,并且需要PowerAutomate的高级版应用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
hhdb数据库介绍(10-21)
在“配置->服务器”页面配置了服务器SSH信息且开启监控的情况下,在此监控面板中可监控到服务器的资源详细信息;当“服务器”页面停止”或者“移除”SSH配置后,此监控页面去除该服务器的监控图表。监控信息分页显示,默认每页显示5条记录,当服务器数量超过5台时,可手动选择每页显示10条记录、20条记录等依次类推。
恒辉信达
2024/12/06
500
支付渠道回调出问题如何主动查询 延时任务 ScheduledExecutorService
支付渠道回调出问题如何主动查询 延时任务 ScheduledExecutorService 
oktokeep
2025/03/25
650
【工控技术】PCS 7中顺序功能图SFC编程常见问题集
SFC chart是顺序功能图(Sequential Function Chart)的简写,SFC chart有16种状态,如下图1所示:
剑指工控
2021/11/09
3.7K0
【工控技术】PCS 7中顺序功能图SFC编程常见问题集
做定时任务,一定要用这个神库!!
说实话,作为前端开发者,我们经常需要处理一些定时任务,比如轮询接口、定时刷新数据、自动登出等功能。
沉浸式趣谈
2025/03/27
910
做定时任务,一定要用这个神库!!
暗影骑士擎bios详解_runloop原理和机制
Runloop 什么是 Runloop? 从字面上讲就是运行循环。 它内部就是do-while循环,在这个循环内部不断地处理各种任务。 一个线程对应一个RunLoop,主线程的RunLoop默认已经启动,子线程的RunLoop得手动启动(调用run方法) RunLoop只能选择一个Mode启动,如果当前Mode中没有任何Source(Sources0、Sources1)、Timer,那么就直接退出RunLoop 基
全栈程序员站长
2022/11/17
6850
企点3.2 | 电话客服新功能解锁!快来体验吧
本次企点客服-电话客服3.2版本 共计更新/优化了14个功能点 快来看看新功能在哪里/怎么用! 一、全自动化质检 | 二、系统坐席 | 三、新增SIP硬电话 | 四、总机号新增归属地信息 | 五、话费余额提醒 | 六、话务报表支持定时邮件发送报告  | 七、API接口能力  八、其他优化:1.事后整理优化 | 2.通话概览优化 | 3.坐席监控优化 | 4.通话接听提示音 | 5.高级话务功能 |6.咨询转接优化 |7.技能组呼损控制 全自动化质检 功能介绍:打造全新语音质检模块,实现全自
腾讯企点
2020/06/10
8930
Power BI PPU模型无限刷新释义
存储于powerbi ppu工作区的语义模型,每天可以设置定时刷新48次,每天可由API刷新无限次。
陈学谦
2024/12/03
1180
Power BI PPU模型无限刷新释义
【重磅来袭】在Power BI 中使用Python(5)——数据预警与邮件通知
某连锁门店的区域经理助理小朱为当前区域门店创建了多个重要指标看板,但无论是区域经理还是店长,因为日常工作太忙,经常没空细看所有数据看板。小朱希望对于重要指标,特别是有异常的重要指标,可以单独预警。
陈学谦
2020/04/14
1.8K0
【重磅来袭】在Power BI 中使用Python(5)——数据预警与邮件通知
PowerBI API异步刷新教程
并且,在较多场景下,模型中真正数据变化的表往往只有一两个,根本没有必要进行全模型刷新。
陈学谦
2022/02/17
3.6K0
PowerBI API异步刷新教程
PowerBI中对单个表刷新竟然可以这样实现
按照正常方式去点击刷新肯定会出错的。手动刷新时会将全部的表和数据源都刷新一遍,只要有一个数据源缺少凭据就会失败。
陈学谦
2024/01/17
9130
PowerBI中对单个表刷新竟然可以这样实现
纯Power Automate打造的Power BI无限刷新
API的优点是官方认证,且可实现异步刷新(点击上方链接访问),操纵感比较强;缺点也很明确,pro账户8次。
陈学谦
2022/04/08
3.6K0
纯Power Automate打造的Power BI无限刷新
做定时任务,一定要用这个神库!!
说实话,作为前端开发者,我们经常需要处理一些定时任务,比如轮询接口、定时刷新数据、自动登出等功能。
沉浸式趣谈
2025/03/28
770
做定时任务,一定要用这个神库!!
Node Schedule文档翻译
Node Schedule 是一个Node.js的灵活的类似cron又不类似的任务调度库.它允许你调度任务(任意函数)在特殊的日期执行,并循环执行。他只在在任何给定的时间里使用一个定时器(而不是每隔一秒/一分钟来重新判断将要执行的任务)
治电小白菜
2020/08/25
1.7K0
为什么玩转 Power BI 一定需要 Office 365?
BI工具数不胜数,Power BI、Tableau、FineBI、永洪BI、百度智能云等,甚至 python、MATLAB 都可以实现报表功能。
陈学谦
2022/10/30
5.4K0
为什么玩转 Power BI 一定需要 Office 365?
【高级应用】PowerBI增量刷新原理揭秘及实战详解
随着 PowerBI 在 2020年2月的更新,增量刷新应该被投票投成了大众货,现在所有小伙伴都可以使用这个功能了。当然,其前提是 PowerBI Pro 帐号,也就是 9.9 美金/月/人的 Level,很合理。这彻底将自助式BI分析推向了成规模级。
BI佐罗
2020/02/26
4.7K0
PowerBI 多种增量刷新方案最大支持100T数据存储及单个模型50G+
所谓增量刷新,是指增量刷新数据。一般情况下,在PowerBI或PowerBI Desktop中点击【刷新】按钮,会将数据源的数据全部刷新一遍,如果数据源数据很多,而每次变化的很少,例如只有最近一日发生变化,那这种不问青红皂白就直接全部刷新的方法显然会耗时耗力。很可惜在默认情况下,PowerBI就只支持这种数据刷新方式。
BI佐罗
2019/09/23
2.4K0
PowerBI 多种增量刷新方案最大支持100T数据存储及单个模型50G+
如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?
众所周知,powerbi的计划刷新支持每天更新8次,并且计划时间必须是整点或者半点两个选项,这对于很多需要及时刷新的数据来说太慢了,比如双十一、双十二的成交额数据,分毫必争,错失1分钟可能就会产生较严重的问题。
陈学谦
2020/04/14
6630
如果雇一个人7d×24h每10秒刷新一次Power BI,我需要每月支付他多少钱?
Power BI Pro刷新次数不够?小意思啦!这样Power BI会不会被玩坏呢?
前面的推文有Samuel大神介绍了用API多次自动刷新数据集的方式,非常好的文章,大家可以查阅历史文章,但这篇文章通常适用于有IT技术背景的玩家,普通的用户可能未必能迅速掌握这奇妙方法。那么还有其他的方法可以这样做吗?今天分享第二个方法用RPA!说白了就是通过录屏的方式,模拟用户真实点击UI界面触发刷新的方式。
大海Power
2021/08/31
1.6K0
从Power Automate到Power BI实时流数据集:翻山越岭的问题解决
了解PowerAutomate已经有较长的时间,但是一直没有尝试过,最近刚好手头一个略微复杂的问题,Trello和Microsoft to-do的同步,发现在PA中竟然有现成的模板可以直接同步,就认真研究了两天,实现了一些其他的操作,比如:
陈学谦
2021/12/27
2K0
从Power Automate到Power BI实时流数据集:翻山越岭的问题解决
Power BI 异步刷新-手动取消刷新进程
那么这个RequestId具体能拿来做什么呢?上文我们留了一个悬念,今天来解决一下。
陈学谦
2022/04/08
1.2K0
Power BI 异步刷新-手动取消刷新进程
推荐阅读
相关推荐
hhdb数据库介绍(10-21)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验