使用Power BI API 向流数据集推送实时数据并在仪表板可视化
使用Power BI 实现实时数据的可视化是大家比较关心的一个话题,在仪表盘上实现推送数据的展示,可以在诸如指挥大屏等场景下使用。
本视频实战内容如下: https://v.qq.com/x/page/y3030euh6do.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 = ; // 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 = ;
double minHumidity = ;
Random rand = new Random(); double currentTemperature = minTemperature + rand.NextDouble() * ;
double currentHumidity = minHumidity + rand.NextDouble() * ; // 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 * ); }
} public static string PostUrlAsync(string url, string postData)
{
string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.Timeout = ;//设置请求超时时间,单位为毫秒 req.ContentType = "application/json"; byte[] data = Encoding.UTF8.GetBytes("["+ postData+"]"); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, , data.Length); reqStream.Close();
} HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 if(resp.StatusCode==HttpStatusCode.OK)
{
Console.WriteLine("OK"+" "+postData);
} return result;
} } }
至此,可以在仪表板上看到实时刷新的可视化效果:
关注公众号,请识别如下二维码:
使用Power BI API 向流数据集推送实时数据并在仪表板可视化的更多相关文章
- C# 数据推送 实时数据推送 轻量级消息订阅发布 多级消息推送 分布式推送
前言 本文将使用一个NuGet公开的组件技术来实现数据订阅推送功能,由服务器进行推送数据,客户端订阅指定的数据后,即可以接收服务器推送过来的数据,包含了自动重连功能,使用非常方便 nuget地址:ht ...
- windows ffmpeg 推送摄像头数据到rtmp服务
文本主要讲述windows系统下如何利用ffmpeg获取摄像机流并推送到rtmp服务,命令的用法前文 中有讲到过,这次是通过代码来实现.实现该项功能的基本流程如下: 图1 ffmpeg推流流程图 较前 ...
- 实现织梦dedecms百度主动推送(实时)网页抓取
做百度推广的时候,如何让百度快速收录呢,下面提供了三种方式,今天我们主要讲的是第一种. 如何选择链接提交方式 1.主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保 ...
- C# ASP.NET MVC 之 SignalR 学习 实时数据推送显示 配合 Echarts 推送实时图表
本文主要是我在刚开始学习 SignalR 的技术总结,网上找的学习方法和例子大多只是翻译了官方给的一个例子,并没有给出其他一些经典情况的示例,所以才有了本文总结,我在实现推送简单的数据后,就想到了如何 ...
- 使用vlc实现视频TS流的推送
鉴于Mpeg TS流播放的需求,使用 VLC作为Server来实现输出Mpeg TS 本文仅涉及如何使用VLC的Command来实现作为视频流Server通常可以使用下述四种方式来推送Mpeg ...
- 使用ESP8266nodeMCU 向微信推送模板数据
使用HTTPS协议向微信公众号推送消息,(使用ESP8266的低成本实现) 前几天被朋友问到这个东西的实现方式,花了一下午时间研究一下,特此记录.没有排版比较乱. 一丶前往微信公众平台注册微信微信公众 ...
- QBus 关注并推送实时公交信息
后台服务器定时根据关注列表,查询最近车辆,发送邮件进行推送
- 通过URL推送POST数据
由于到了一家新公司重新开始接触MVC和其他的一些东西.所以的重新拾起许多东西. 前一段时间让我写一个和第三方公司推送对接的方法.通过对方提供的URL把数据post推送出去. 我把url到了web.co ...
- Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最新攻略
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_163 首先得明确一点,和Django一样,在2020年Flask 1.1.1以后的版本都不需要所谓的三方库支持,即Flask-Ce ...
随机推荐
- Linux配置SSH和Xshell连接服务器
>>>>>Ubuntu安装和配置ssh教程 SSH分为客户端 openssh-client 和服务器 openssh-server,可以利用以下命令确认电脑 上是否安装了 ...
- 新闻实时分析系统-Hadoop2.X HA架构与部署
1.HDFS-HA架构原理介绍 hadoop2.x之后,Clouera提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案,它给出了一种较好的解 ...
- nginx常用模块(三)
Nginx常用模块(三) ngx_http_proxy_module模块配置(http或https协议代理) proxy_pass URL; 应用上下文:location, if in locatio ...
- 转载 C#中DataTable中的Compute方法使用收集
原文: C#中DataTable中的Compute方法使用收集 Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式,关于Expression的详 ...
- 程序员的进阶课-架构师之路(9)-平衡二叉树(AVL树)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...
- 【前端】之HTML5基础知识
HTML5 文件格式 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...
- Netty学习——Netty和Protobuf的整合(一)
Netty学习——Netty和Protobuf的整合 Protobuf作为序列化的工具,将序列化后的数据,通过Netty来进行在网络上的传输 1.将proto文件里的java包的位置修改一下,然后再执 ...
- 基于springboot的web项目最佳实践
springboot 可以说是现在做javaweb开发最火的技术,我在基于springboot搭建项目的过程中,踩过不少坑,发现整合框架时并非仅仅引入starter 那么简单. 要做到简单,易用,扩展 ...
- 深入理解Android异步消息处理机制
一.概述 Android 中的异步消息处理主要分为四个部分组成,Message.Hndler.MessageQueue 和 Looper.其关系如下图所示: 1. Message 是线程之间传递的消息 ...
- go proxy athens 部署到k8s
目录 go proxy athens 部署到k8s 一.athens简介 二.部署 1.创建 PersistentVolume 2.创建service 3.创建deployment 4.ci/cd中使 ...