PowerApps助力PowerBI实现数据写回

news2025/1/12 12:40:42

原文发布日期: 2019-08-01 06:03:50 +0000


注:本文旨在介绍Power BI如何利用PowerApps实现用户在前端对数据源进行增删查改,关于此,你也可以在Google上找到更详细但较零散的资料

正文

在SSAS多维数据集中,开发者可以给数据开启"写回"功能,以便用户可以在前端自行修改某些数据,进行What-If分析。然而在Power BI中,用户只能查看数据或通过参数修改度量值的公式,却不能影响到后端数据源的数据,这是很遗憾的。假如有这样的一个情况,我们有一个会员表,有些会员的信息,系统无法录入,只有相关业务人员了解实际情况,又比如说一些由业务人员本身所确定的数据,比如选品、产品折扣等,对于这些数据,如果他们能自己直接在报表前端追加它们,把这些数据写到数据源,然后再通过报表反映这些新的数据,那将明显节约时间和沟通成本。而这些操作,PowerApps可以帮你实现。

注:PowerApps是一个与Power BI并列的微软Power平台三大应用之一,它可以与基于云端的Power BI协同工作,关于此,在我此前的一篇博客有更多介绍

其大体原理是,PowerApps作为一个用于构建应用的工具,它本身可以连接到数据源(Excel、OneDrive、SQL Server等),并且提供丰富的方法,其中就包括修改、增加和删除数据源的数据。在PowerApps构建好一个项目后,回到Power BI调用该可视化插件,就可以在Power BI中使用你在PowerApps中构建的应用了,因此借助PowerApps, 用户就可以在Power BI报表中进行数据写回了。

首先进入PowerApps并登录,你可以新建一个环境或使用默认预设的环境(和Power BI Pro一样,它需要按月付费,因此你可以选择试用30天(实际可以有60天)),紧接着一个重要的环节是连接到数据源,如下图所示:

在这里插入图片描述

注:如果你使用类似本文的本地或远程服务器的数据源,由于它是非云端的,因此你必须事先安装和配置好网关, 注意,个人版网关在此处是不能用的

点击[建立],可以看到PowerApps提供丰富的模板,本文选择第四个—从资料开始,以便在开始项目之前预先连接好数据源。

在这里插入图片描述

进入PowerApps Studio界面后,插入表单组件:

在这里插入图片描述

插入该组件后,给该组件配置好数据源和引用字段(注:所引用的表需要有主键):

在这里插入图片描述

得到如下输入框:

在这里插入图片描述

设置该控件的Item属性:

Item = BrowseGallery1.Selected

使其得以引用上一个控件(黄色标识)所被选择的值。

在这里插入图片描述

新增一个按钮,命名为"提交", 在其OnSelect属性中调用.SubmitForm方法,该函数即用于将其所引用的数据提交给所连接的数据库:

在这里插入图片描述

然后,点击右上角三角形运行该项目(或按住Alt),在输入框中输入数据(今天是建军节,因此我输入了伟大的朱总司令的姓名):

在这里插入图片描述

点击提交后,回到数据库或在Power BI中刷新数据,你就可以看到我们所输入的数据已经写回到了数据源(选中它你也可以修改数据):

在这里插入图片描述

你还可以插入更多的控件,并给它们的属性设置函数,比如删除操作,为对应控件的OnSelect属性设置公式为:

OnSelect = Remove(‘[dbo].[testing]’,ThisItem)

这样,运行项目后点击该控件就可以实现删除数据源的数据。你也可以使用UpdateIf()函数修改满足指定条件的数据。
PowerApps提供丰富的函数可以供你将应用变得更智能,更加定制化,本案例仅冰山一角,你可以点此参阅官方的函数文档。完成项目后,储存并发布,你可以选择将该项目共享给你的组织成员:

在这里插入图片描述

最后,回到Power BI, 导入PowerApps可视化并开启你的应用,你就可以在Power BI上使用你所构建的应用来实现数据的写回操作了。(注:确保你在Power BI登录的账号和PowerApps是同一个)

在这里插入图片描述

我在上图Power BI中用该控件将朱德修改为陈毅并追加一行数据"聂荣臻", 如你所见,数据源成功实现了更改和追加,并在Power BI报表刷新后返回了我所输入的新数据:

在这里插入图片描述

其他方面
  • 数据源表的改变可能不会立刻反映到PowerApps中,不同的数据源可能有所不同。
  • 你无需担心该功能实现后的权限控制问题,一是你可以将该应用分享给指定用户,二是即使该应用分享给了全体组织成员,PowerApps内部提供获取用户信息的函数可以帮助你控制应用中各个功能的使用权限,三是你可以在网关配置上设置权限类型。
  • PowerApps无法在Power BI Report Server使用,你可以在Desktop调试,但你只有发布到Power BI Service才是有效的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2275491.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

oracle 19c安装

文章目录 一 环境配置1、更换yum源2、文件配置 二 oracle环境配置1、下载依赖包2、创建用户和用户组3、创建目录并赋予权限4、修改资源限制参数5、修改内核参数6、配置安全7、配置Oracle环境变量 三 安装Oracle数据库四 创建Oracle实例五 启动数据库 一 环境配置 1、更换yum源…

LabVIEW启动时Access Violation 0xC0000005错误

问题描述 在启动LabVIEW时,可能出现程序崩溃并提示以下错误:Error 0xC0000005 (Access Violation) ​ Access Violation错误通常是由于权限不足、文件冲突或驱动问题引起的。以下是解决此问题的全面优化方案: 解决步骤 1. 以管理员身份运行…

xilinx平台使用多个 FIFO 拼接

Xilinx FIFO IP 输入 的最大位宽 是 1024 bit ,当需要缓存的数据是 1280bit 又或者是 1536等 。怎么办呢? 有一个办法就是拆数据,将1280拆5个 256bit输入,也就是可以使用 5个 256位宽输入的FIFO拼接起来。(其它位宽也…

Ceph分布式存储集群,不仅仅是一个简单的对象存储解决方案

Ceph 作为 OpenStack 的存储后端 块存储(Cinder 后端) Ceph 的 RBD(RADOS Block Device)模块作为 OpenStack Cinder 服务的后端,为虚拟机提供块级别的存储资源。RBD 支持快照、克隆和恢复等功能,能够满足虚…

SD ComfyUI工作流 老照片修复上色

文章目录 老照片修复上色SD模型Node节点工作流程开发与应用效果展示老照片修复上色 该工作流专门设计用于老照片的修复和上色,通过一系列高级的图像处理技术,包括深度图预处理、面部修复、上色和图像放大等步骤,来恢复老照片的质量并增加色彩。首先,工作流加载老照片并进行…

Jmeter-压测时接口如何按照顺序执行

Jmeter-压测时接口如何按照顺序执行-临界部分控制器 在进行压力测试时,需要按照顺序进行压测,比如按照接口1、接口2、接口3、接口4 进行执行 查询结果是很混乱的,如果请求次数少,可能会按照顺序执行,但是随着次数增加…

Mysql--运维篇--日志管理(连接层,SQL层,存储引擎层,文件存储层)

MySQL提供了多种日志类型,用于记录不同的活动和事件。这些日志对于数据库的管理、故障排除、性能优化和安全审计非常重要。 一、错误日志 (Error Log) 作用: 记录MySQL服务器启动、运行和停止期间遇到的问题和错误信息。 查看: 默认情况下…

【2025 Rust学习 --- 13 闭包:Rust的Lambda】

Rust的Lambda — 闭包 对整型向量进行排序很容易: integers.sort(); 遗憾的是,当我们想对一些数据进行排序时,它们几乎从来都不是整型向量。例 如,对某种记录型数据来说,内置的 sort 方法一般不适用: st…

鸿蒙面试 2025-01-09

鸿蒙分布式理念?(个人认为理解就好) 鸿蒙操作系统的分布式理念主要体现在其独特的“流转”能力和相关的分布式操作上。在鸿蒙系统中,“流转”是指涉多端的分布式操作,它打破了设备之间的界限,实现了多设备…

一个基于Spring Boot的智慧养老平台

以下是一个基于Spring Boot的智慧养老平台的案例代码。这个平台包括老人信息管理、健康监测、紧急呼叫、服务预约等功能。代码结构清晰,适合初学者学习和参考。 1. 项目结构 src/main/java/com/example/smartelderlycare├── controller│ ├── ElderlyCon…

Taro+react 开发第一节创建 带有redux状态管理的项目

Taro 项目基于 node,请确保已具备较新的 node 环境(>16.20.0),推荐使用 node 版本管理工具 nvm 来管理 node,这样不仅可以很方便地切换 node 版本,而且全局安装时候也不用加 sudo 了。 1.安装 npm inf…

云商城--基础数据处理和分布式文件存储

第2章 基础数据处理和分布式文件存储 1.分布式文件存储系统Ceph学习 ​ 1).掌握Ceph架构 ​ 2).掌握Ceph组件 ​ 3).搭建Ceph集群(了解) 2.Ceph使用 ​ 1).基于Ceph实现文件上传 ​ 2).基于Ceph实现文件下载 3.SKU、SPU管理 ​ 1).掌握SKU和SPU关系 ​ 2).理解商品发…

Vue.js:现代前端开发的灵活框架

大家好!我是 [数擎 AI],一位热爱探索新技术的前端开发者,在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步! 开发领域:前端开发 | A…

初学者关于对机器学习的理解

一、机器学习: 1、概念:是指从有限的观测数据中学习(或“猜 测”)出具有一般性的规律,并利用这些规律对未知数据进行预测的方法.机器学 习是人工智能的一个重要分支,并逐渐成为推动人工智能发展的关键因素。 2、使用机器学习模型…

小程序textarea组件键盘弹起会遮挡住输入框

<textarea value"{{remark}}" input"handleInputRemark" ></textarea> 如下会有遮挡&#xff1a; 一行代码搞定 cursor-spacing160 修改后代码 <textarea value"{{remark}}" input"handleInputRemark" cursor-spacin…

树的模拟实现

一.链式前向星 所谓链式前向星&#xff0c;就是用链表的方式实现树。其中的链表是用数组模拟实现的链表。 首先我们需要创建一个足够大的数组h&#xff0c;作为所有结点的哨兵位。创建两个足够大的数组e和ne&#xff0c;一个作为数据域&#xff0c;一个作为指针域。创建一个变…

通过氧化最小化工艺提高SiC MOSFET迁移率的深入分析

标题 Insight Into Mobility Improvement by the Oxidation-Minimizing Process in SiC MOSFETs&#xff08;TED2024&#xff09; 文章的研究内容 文章的研究内容主要围绕氧化最小化工艺&#xff08;oxidation-minimizing process&#xff09;对碳化硅&#xff08;SiC&…

相机和激光雷达的外参标定 - 无标定板版本

1. 实现的效果 通过本软件实现求解相机和LiDAR的外参&#xff0c;即2个传感器之间的三维平移[x, y, z]和三维旋转[roll, pitch, yaw]。完成标定后&#xff0c;可将点云投影到图像&#xff0c;效果图如下&#xff1a; 本软件的优势&#xff1a;&#xff08;1&#xff09;无需特…

git问题

拉取项目代码后&#xff0c;出现 1、找回未commit的代码 2、记录不全&#xff0c;只是显示部分代码记录

Spring bean的生命周期和扩展

接AnnotationConfigApplicationContext流程看实例化的beanPostProcessor-CSDN博客&#xff0c;以具体实例看bean生命周期的一些执行阶段 bean生命周期流程 生命周期扩展处理说明实例化:createBeanInstance 构造方法&#xff0c; 如Autowired的构造方法注入依赖bean 如UserSer…