使用Power BI API 向流数据集推送实时数据并在仪表板可视化
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,使用Power BI 实现实时数据的可视化是大家比较关心的一个话题,在仪表盘上实现推送数据的展示,可以在诸如指挥大屏等场景下使用。本视频实战内容如下:https://v.qq.com/x/page/y
千家信息网最后更新 2025年02月06日使用Power BI API 向流数据集推送实时数据并在仪表板可视化
使用Power BI 实现实时数据的可视化是大家比较关心的一个话题,在仪表盘上实现推送数据的展示,可以在诸如指挥大屏等场景下使用。
本视频实战内容如下:https://v.qq.com/x/page/y3030euh7do.html
先看下效果,下图中的曲线会自动刷新:
步骤如下:
创建流数据集,选择API 方式
其中Azure 流分析,截至到2019年12月,中国区Azure流分析暂时不支持将输出直接写入到Power BI 中。
填写数据集名称和值及值类型并打开历史数据分析:
其中历史数据分析是用来暂存数据的,暂存的数据可以呈现一条曲线。
创建一个仪表盘并向仪表盘添加一个实时数据磁贴
4. 选择已经创建好的流数据集
5. 在仪表板页面添加一个自定义的流数据磁贴
可视化效果选择折线图
"轴"选择时间
温度湿度添加为"值"
6. 通过如下图示的信息调用Post请求即可将数据推送到数据集
Postman发送的结果为200表示执行成功。
7. 在数据集上创建报表,可以查阅使用POST请求推送到流数据集的结果
8.调用示例代码如下:
using Newtonsoft.Json;using System;using System.IO;using System.Net;using System.Text;using System.Threading.Tasks;namespace pushdatatopowerbidataset{ class Program { private static int s_telemetryInterval = 1; // Seconds private static string PowerBIPushDataUrl = "https://api.powerbi.cn/beta/729c6bf9-debe-4b7f-b56a-5fb0c70c9a80/datasets/fc445a3c-9a25-4298-8188-89112874e5c3/rows?key=seAORXugMKybekrdRAxfSWM5o1MS%2F9d4pcPF9zAgblivdNXz9pRivqyVwAS%2FXMoo8wA01vuAu%2B2hBHI8gdAWMg%3D%3D"; private static void Main(string[] args) { Console.WriteLine("Send realtime data to power bi dataset by api. Ctrl-C to exit.\n"); SendMessageToPbiDataSetAsync(); Console.ReadLine(); } private static async void SendMessageToPbiDataSetAsync() { while (true) { // Initial telemetry values double minTemperature = 20; double minHumidity = 60; Random rand = new Random(); double currentTemperature = minTemperature + rand.NextDouble() * 15; double currentHumidity = minHumidity + rand.NextDouble() * 20; // Create JSON message var telemetryDataPoint = new { temperature = currentTemperature, humidity = currentHumidity, time=DateTime.Now }; var messageString = JsonConvert.SerializeObject(telemetryDataPoint); PostUrlAsync(PowerBIPushDataUrl, messageString); await Task.Delay(s_telemetryInterval * 1000); } } public static string PostUrlAsync(string url, string postData) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.Timeout = 8000;//设置请求超时时间,单位为毫秒 req.ContentType = "application/json"; byte[] data = Encoding.UTF8.GetBytes("["+ postData+"]"); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 if(resp.StatusCode==HttpStatusCode.OK) { Console.WriteLine("OK"+" "+postData); } return result; } } }
至此,可以在仪表板上看到实时刷新的可视化效果:
数据
仪表
分析
选择
实时
可视化
仪表盘
效果
仪表板
内容
历史
数据分析
时间
曲线
结果
推送
成功
下图
代码
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络游戏软件开发公司
服务器只显示4g
九思连强互联网科技
数据库拿数据到页面
网络安全检测服务活动策划
青海民族大学网络安全招标
安全AAA认证服务器
盛购网络安全吗
黑客攻击泰坦陨落服务器
数据库复习题答案
网络安全周2020山西省地点
数据库怎么定义int类型
企业营销数据库
网络安全制度落实不够严格
青浦国家电网 网络安全
关系型数据库副本
徐锡铭软件开发
外贸搜索服务器
摄像头图像处理软件开发工程师
泉州mes软件开发商
2020天津网络安全宣传周
女生软件开发做什么工作
服务器网络断开连接
网站服务器 美洲
软件开发和医生
家用 网络安全设备有哪些
安防监控平台管理服务器
如何调用魔兽数据库
纪念碑谷使用什么软件开发的
用友服务器被代码攻击