Power BI实现实时动态和用户输入的数据交互

news2024/11/19 10:39:40
  • 背景:Power BI一般作为一个展示和分析数据的平台存在,即使是我们用Direct
    Query的mode也是受制于连接的数据库的表刷新,不能实现实时动态数据变化展示。

  • 解决思路:当Power Apps里面输入了新的数据时,数据会写入到database的table表里面,然后通过Direct
    Query来连接的Power BI,发布到app.powerbi后,刷新页面就会得到最新的数据。

  • 解决方案:为了实现实时动态和用户输入的数据交互,就做了一个Power BI和Power Apps的解决方案。

在Power Apps里面可以根据不同的用户来生成各个用户自己的原始数据,在Power BI中用Row Level Security来实现不同用户只能看到自己的数据。
在这里插入图片描述

方案很简单,主要包括三个部分。

1,在Azure的database里面创建了几张表;

2,把创建的表作为数据源应用到Power Apps里;

3,把创建的表作为数据源应用到Power BI里面;

解决方案具体步骤如下:

  1. 根据需求在数据库中创建table表

创建表也没啥说的,有一个主键是必要的。

  1. 将创建好的table表应用到Power Apps里面。

我的Power Apps是office365里的一个套件。

在这里插入图片描述

1.创建一个新的app,从引入一个SQL Server的数据源开始。
在这里插入图片描述

b.创建数据库连接。
在这里插入图片描述

c.找到之前创建的表名称
在这里插入图片描述

d. 连接之后,就会自动生成增删改查的页面。
在这里插入图片描述

代码都是直接生成的。下图中页面上的每一个内容都可以在上图Tree view里面找到内容。(我的项目中不要增加+,我修改去掉了)

常用的就是属性,检查和预览。

在这里插入图片描述

e. 创建好之后,保存,share分享给需要通过Power Apps来修改table表中参数的人或者组。这里即使数据库表没有权限,但是也可以通过Power Apps来修改table表中的数据内容。

在这里插入图片描述

  1. 将创建好的table表应用到Power BI中。

先在visualizations里面拉一个Power Apps这个控件,然后把table中用到的字段拉到PowerApps Data里面。
在这里插入图片描述

选中已经创建好的Power Apps,就会生成和Power Apps网页中创建的一样的内容。增删改查的内容和网页创建中预览的一样。(我的项目中我把增加的功能去掉了。)
在这里插入图片描述

解决方案基本就是这三个部分了。

本来Power BI只是一个分析数据的工具,现在结合Power Apps可以实现实时修改,实时展示。

之前有财务用户提出,想对于报表中的数据结果给一些实时的comments,然后直接在报告中展示。用Power BI+Power Apps完全可以实现。

(点击带有“Insert comments”名称的Bookmark button,显示出Power Apps,然后在Power Apps里面输入要写的comments。提交数据。用带有“close”的bookmark button关闭Power Apps界面。刷新页面,得到带有comments的报表结果。)

也许有人会问,这个和what-if有啥区别啊,用what-if差不多也可以实现这个问题啊。而且还不用设计到自己创建数据库表和Power Apps啊。hmmm…个人觉得主要是三点:

what-if中的数值变量是有数据范围的,如果数据范围太大,用single values就会出问题,有些太小的值根本不能输入。
例如: GENERATESERIES(0, 20000, 1)
我设想的是输入0到20000之间的任意一个数,步长增加为1,但是当我输入1,2这样的小值的时候,输入框的地方就只能看到0,大概从20开始输入才正常一些。
what-if输入的只能是数值,不能是字符;
变量太多的话,模型中要创建多个what-if的变量维度。不如Power Apps里面方便。

如果对Power Apps不了解的,可以参考下面的官网了解下。
https://docs.microsoft.com/zh-cn/powerapps/powerapps-overview
增删改查这样的操作,基本不用写代码,直接Power Apps里面自动生成了。而且在原有基础上可以自定义的很多。不过,Power Apps对网络有一定要求。我开发的时候都是用的外网。因为"App checker",用国内网络的时候,经常好像有延迟一样。修改了问题但是check下,还是说问题还在~~~我觉得这个也许就是Power Apps在国内不太常用的原因。Power Apps目前还没有像Power BI那样在国内有代理。
在这里插入图片描述

最后:

现在写起来,觉得还是挺简单的,错觉~~对于不同的用户,初次登录要给这个用户一个默认值。之后,用户如果修改了默认值,数据库中会保留修改后的结果。保留修改部分还是简单的,因为如以上操作2,Power Apps已经自动生成了Tree view。但是对于初始化默认值部分,可以参考代码如下。先判这个email是否有值,没有就固定生成一个值。代码按顺序执行。Patch函数是提交数据。

If(
    CountRows(
        Filter(
            '[dbo].[Input_value_New]',
            email = User().Email && PK = "UN001"
        )
    ) = 0,
    Patch(
        '[dbo].[Input_value_New]',
        Defaults('[dbo].[Input_value_New]'),
        {
            email: User().Email,
            description: "Ønsket innntet",
     ...........
            order: 1,
            PK: "UN001"
        }
    )
);   
 
Navigate(
    Screen2,
    ScreenTransition.None
)

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

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

相关文章

[SWPUCTF 2023 秋季新生赛]——Web方向 详细Writeup

Web colorful_snake 来玩贪吃蛇~ F12查看源代码&#xff0c;可以看到this_is_real_flag函数&#xff0c;发现是unicode编码 利用网站转换得到flag 一键连接! 连连need <?php highlight_file(__FILE__); error_reporting(0); $md5_1 $_GET[md5_1]; $md5_2 $_GET[md5_2]; …

python实现客户成套订单配送策略混合遗传算法编码

以如下的论文文献为学习对象&#xff1a;2008年发表在《控制工程》的文献《客户成套订单配送策略混合遗传算法研究》 文献研究的学术意义 本文研究的目的是寻求在车队车辆数有限情况下 &#xff0c;如何合理安排每天的车辆 &#xff0c;使得总成本最小的方案。另外&#xff0…

Qt使用QListWidget实现自定义Item效果

Q&#xff1a;如何在Qt库的基础上&#xff0c;实现自定义控件呢&#xff1f; A&#xff1a;根据官方文档回答&#xff0c;就是继承需实现的控件&#xff0c;然后实现自定义功能。 以下是实现QListWidget控件的自定义item。 先看下最终效果是如何&#xff1a; listItem 主界面U…

sql高级教程-索引

文章目录 架构简介1.连接层2.服务层3.引擎层4.存储层 索引优化背景目的劣势分类基本语法索引结构和适用场景 性能分析MySq| Query Optimizerexplain 索引优化单表优化两表优化三表优化 索引失效原因 架构简介 1.连接层 最上层是一些客户端和连接服务&#xff0c;包含本地sock通…

shell的for循环与结构化

shell笔记 列表for循环不带列表for循环for循环举例1.例1 所有文件名大写替换为小写2. 例2 读取/etc/passwd文件&#xff0c;依次输出ip段3. 例3 读取/etc/hosts内容for循环&#xff0c;执行ping4. 例4 循环ip列表&#xff0c;输出对应编号5. 例5 批量添加用户 break1. 例1 brea…

python:遗传算法(Genetic Algorithm,GA)求解23个测试函数

一、遗传算法 遗传算法&#xff08;Genetic Algorithm&#xff0c;GA&#xff09;起源于对生物系统所进行的计算机模拟研究&#xff0c;是一种随机全局搜索优化方法&#xff0c;它模拟了自然选择和遗传中发生的复制、交叉(crossover)和变异(mutation)等现象&#xff0c;从任一…

css之Flex弹性布局

文章目录 &#x1f415;前言&#xff1a;&#x1f3e8;定义flex容器 display:flex&#x1f3e8;在flex容器中子组件进行排列&#x1fa82;行排列 flex-direction: row&#x1fa82;将行排列进行翻转排列 flex-direction: row-reverse&#x1f3c5;按列排列 flex-direction: col…

统计二进制中1的个数

写一个函数返回参数二进制中 1 的个数。 比如&#xff1a; 15 0000 1111 4 个 1 我们先引入一个容易理解的例子&#xff0c;怎么得到一个十进制的数各个位置上的数为多少&#xff1f; 这里我们以一个十进制的三位数 123为例&#xff0c;要想得到它的个位&#xff0c;十位&#…

kubernetes-Service

文章目录 1、前言2、基本语法2.1 Service yaml2.2 关键字段2.3 port、nodePort、targetPort、containerPort字段说明 3、Service 类型3.1 ClusterIP3.2 NodePort3.3 LoadBalancer3.4 ExternalName 4、无头服务&#xff08;Headless Services&#xff09;5、访问service参考 1、…

R文件详细介绍、瘦身方案和原理

文章目录 1. 背景2. R文件介绍2.1 R文件概念2.1.1 标识符是怎么与资源联系起来的&#xff1f; 2.2 R文件内容2.3 library module和aar的R文件内容生成规则2.4 是谁生成的R文件&#xff1f;2.5 打包之后的R文件2.6 R文件为啥大&#xff1f;这么多&#xff1f; 3. 为什么R文件可以…

RK356x U-Boot研究所(开发篇)5.1 启动SATA硬盘中的固件

平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3RK356x支持从SATA硬盘中启动固件,只要板卡中有预留这个接口即可。值得注意的是,这个固件不能从maskrom阶段就直接进行加载,需要从别的媒介启动(Flash、eMMC或者TF卡)后跑到U-Boot阶段,在这个U-Boot阶段再去加载SATA硬盘…

黑豹程序员-架构师学习路线图-百科:Java的第二春Spring框架

文章目录 1、 Spring的发展历史2、为什么Spring能霸屏&#xff1f;2.1、容器的设计2.2、通过四个策略2.3、三种方式 3、学习编程设计的典范 1、 Spring的发展历史 正当SUN公司的EJB在全球开始热炒时&#xff0c;正当程序员纷纷转型EJB开发时&#xff0c;正当程序员为跑通EJB程…

昇腾CANN 7.0 黑科技:大模型训练性能优化之道

目前&#xff0c;大模型凭借超强的学习能力&#xff0c;已经在搜索、推荐、智能交互、AIGC、生产流程变革、产业提效等场景表现出巨大的潜力。大模型经过海量数据的预训练&#xff0c;通常具有良好的通用性和泛化性。用户基于“大模型预训练微调”开发范式即可在实际业务场景取…

量子力学期末复习--1

量子力学解题技巧--1 基础知识 薛定谔方程 Ehrenfest 定理 不确定性原理&#xff1a;正则对易关系&#xff1a;自由粒子&#xff1a;对于自由粒子&#xff0c;分离变量解不代表物理上可实现的态。但其含时薛定谔方程的一般解仍旧是分离变量解的线性组合 典型题目 自由粒子…

029-第三代软件开发-加载本地字体库

第三代软件开发-加载本地字体库 文章目录 第三代软件开发-加载本地字体库项目介绍加载本地字体库 关键字&#xff1a; Qt、 Qml、 QFont、 QFontDatabase、 ttf 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Langu…

深圳世有伯乐教育科技有限公司——LJ培训

今天来吐槽一波 深圳世有伯乐教育科技有限公司就是一个垃圾的培训机构&#xff0c;不&#xff0c;说是培训机构都是扭曲事实了&#xff0c;因为它根本就没有国家认可的办学许可证。光说没法让人信服&#xff0c;以下是企查查的截图&#xff1a; 世有伯乐的工商信息图片 续上&…

MPC预测控制概述和C++ 中的模型库

系列续篇&#xff1a; C 中的模型预测路径积分 (MPPI) 控制-CSDN博客 一、说明 以下文章描述了应用模型预测控制器的简单控制系统方法。本文讨论了这种类型的控制的基本机制&#xff0c;该机制适用于各种工程领域。 MPC 涉及对未来系统行为的预测&#xff08;由一组方程描述的模…

.net6部署到linux上(CentOS Linux 7)

目录 一、先在linux上配置.net环境 添加 Microsoft 包存储库 安装 SDK 安装运行时 检查 SDK 版本可使用终端查看当前安装的 .NET SDK 版本。 打开终端并运行以下命令。 二、创建.net6 mvc项目 并发布 创建项目 修改默认端口 打包发布到文件夹 运行打包项目查看项目是否…

华为OD机试 - 代表团坐车 - 动态规划(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;A卷B卷&#…

【vue】vue本地储存、会话存储插件vue-ls的使用:

文章目录 一、安装&#xff1a;二、vue项目中使用&#xff1a;三、API说明&#xff1a; 一、安装&#xff1a; npm install vue-ls -S 或 yarn add vue-ls二、vue项目中使用&#xff1a; //在vue项目中的入口文件main.js中引入import Storage from vue-ls;options {namespac…