使用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 ...
随机推荐
- 在vue中选中某个标签,并且对其属性进行操作
第一步:在标签中添加ref="111"属性 第二步:this.$refs.111.属性="" 此步骤是一111为标记选中了要操作的标签,通过点属性的方法,进 ...
- 我的 Input框 不可能这么可爱
<input /> 标签是我们日常开发中非常常见的替换元素了,但是最近在刷 whattwg 跟 MDN 的时候发现 跟 <input /> 有很多相关的属性,选择器都没怎么用过 ...
- Servlet+Ajax实现搜索框智能提示
简介:搜索框相信大家都不陌生,几乎每天都会在各类网站进行着搜索.有没有注意到,很多的搜索功能,当输入内容时,下面会出现提示.这类提示就叫做搜索框的智能提示,本门课程就为大家介绍如何使用Servlet和 ...
- 在Asp.Net Core MVC 开发过程中遇到的问题
1. Q: Razor视图中怎么添加全局模型验证消息 #### A:使用ModelOnly <div asp-validation-summary="ModelOnly" c ...
- django初始化
Django 版本 安装 pip安装 pip install django 安装最新版本的 pip install django==1.11.11 安装指定版本的 验证安装 直接去代码中调用djang ...
- VMware修改默认开机方式
.首先删除已经存在的符号链接 ---------------------------------------------------------------------------------- rm ...
- JS的Form表单转JSON格式
一.serialize()方法 格式:var data = $("#formID").serialize(); 功能:将表单内容序列化成一个字符串. 注意:要使用params = ...
- 转:MySQL下载安装、配置与使用(win7x64)
1 第一大步:下载. a.俗话说:“巧妇难为无米之炊”嘛!我这里用的是 ZIP Archive 版的,win7 64位的机器支持这个,所以我建议都用这个.因为这个简单嘛,而且还干净. 地址见图 拉倒最 ...
- openlayers5-webpack 入门开发系列一初探篇(附源码下载)
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载 ...
- HDU 全国多校第四场 题解
题解 A AND Minimum Spanning Tree 参考代码: #include<bits/stdc++.h> #define maxl 200010 using namespa ...