zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

用Power APPs打造ALL in ONE的Power BI实时流仪表板:这才是报表该有的样子

2023-04-18 16:17:28 时间

按照惯例,还是先来一个平平无奇的视频:

http://mpvideo.qpic.cn/0b2e3eaauaaakqacic6epvqvbwodblmqacqa.f10002.mp4?dis_k=7ea24a6f14a97dfa56dff06ecd69bd77&dis_t=1640589329&vid=wxv_2192021360841900033&format_id=10002&support_redirect=0&mmversion=false

ALL in ONE,全部在一个页面中。

5秒以内的延迟,几乎可以定义为实时。

流数据集,仪表板,自动刷新。

任何想要的维度汇总,随意添加。

几乎可以称得上“完美”。

这才是PowerBI该有的样子。

详细说明

01

预期目标

在Power BI中,单页面无跳转实现对数据源添加数据,并实时展示各时间维度与其他维度的详细报告。

02

要求说明

只能使用Microsoft产品,不借助于其他编程工具或语言。

03

思考过程

要实现实时动态展示,必须走仪表板,流数据集。这是末端展示。

要实现自动更新流数据集,必须用Power Automate。此为中间跳板。

要实现对在报告中直接输入,无任何跳转,需要使用Power Apps。这是源头输入。

画一下流程图:

所以问题就简化为:如何在Power Apps 和Power Automate之间建立关联。如果我们可以直接从Power Apps通过Power Automate写入流数据集,那再好不过了,也就是中间的“???”这一步可以直接省略。

但是:

我仔细查看了一遍Power Automate中的PowerApps模块,它并不会直接输出数据到Power Automate中,也就是说在PowerApps和Power Automate之间必须有一个其他的什么东西,也就是上面图中的第二个步骤的“???”。

那么它是什么呢?

首先我们很自然地会想到,PowerApps会往哪里面输出呢?

答案有很多:azure,Excel online,SharePoint,planner,dataverse等等这些都可以。

我选择了SharePoint列表,因为这玩意儿我经常用:

这个Power Automate模板是当在SharePoint中创建新行的时候,会自动发送一个带着这一行信息的邮件,经常用于公司设备维修报备等场景。

我们把这个模板稍微修改一下,不就可以实现:当向SharePoint添加行时,自动向流数据集添加数据吗?

so:

04

实现

我们在PowerApps中输入数据,将数据存放在SharePoint列表中:

列表中一旦添加行,触发Power Automate向数据集添加行:

使用该数据集创建报告,并在报告中添加PowerApps组件:

发布报告并将组件展示在仪表板中:

如何应对极度刁钻的甲方:Power BI处理非结构化流数据集思路

就出来文章一开始所展示的视频了:

ALL in ONE,全部在一个页面中。

5秒以内的延迟,几乎可以定义为实时。

流数据集,仪表板,自动刷新。

任何想要的维度汇总,随意添加。

几乎可以称得上“完美”。

这才是PowerBI该有的样子。

后话

Microsoft的生态确实非常完善,搭配使用,会起到意想不到的效果。这几个组件也正好都隶属于Power Platform。