使用Power BI API 向流数据集推送实时数据并在仪表板可视化
admin
2023-03-28 02:01:24
0

使用Power BI API 向流数据集推送实时数据并在仪表板可视化

使用Power BI 实现实时数据的可视化是大家比较关心的一个话题,在仪表盘上实现推送数据的展示,可以在诸如指挥大屏等场景下使用。


本视频实战内容如下:https://v.qq.com/x/page/y3030euh7do.html




先看下效果,下图中的曲线会自动刷新:

使用Power BI API 向流数据集推送实时数据并在仪表板可视化


步骤如下:

  1. 创建流数据集,选择API 方式

    其中Azure 流分析,截至到2019年12月,中国区Azure流分析暂时不支持将输出直接写入到Power BI 中。

    使用Power BI API 向流数据集推送实时数据并在仪表板可视化


  2. 填写数据集名称和值及值类型并打开历史数据分析:

    其中历史数据分析是用来暂存数据的,暂存的数据可以呈现一条曲线。


    使用Power BI API 向流数据集推送实时数据并在仪表板可视化

  3. 创建一个仪表盘并向仪表盘添加一个实时数据磁贴


    使用Power BI API 向流数据集推送实时数据并在仪表板可视化


4. 选择已经创建好的流数据集


使用Power BI API 向流数据集推送实时数据并在仪表板可视化

5. 在仪表板页面添加一个自定义的流数据磁贴

可视化效果选择折线图

“轴”选择时间

温度湿度添加为“值”

使用Power BI API 向流数据集推送实时数据并在仪表板可视化

6. 通过如下图示的信息调用Post请求即可将数据推送到数据集

使用Power BI API 向流数据集推送实时数据并在仪表板可视化


Postman发送的结果为200表示执行成功。

使用Power BI API 向流数据集推送实时数据并在仪表板可视化

7. 在数据集上创建报表,可以查阅使用POST请求推送到流数据集的结果

使用Power BI API 向流数据集推送实时数据并在仪表板可视化



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;        }    } }

至此,可以在仪表板上看到实时刷新的可视化效果:

使用Power BI API 向流数据集推送实时数据并在仪表板可视化




使用Power BI API 向流数据集推送实时数据并在仪表板可视化



相关内容

热门资讯

天舟十号货运飞船点火发射 今天上午,搭载天舟十号货运飞船的长征七号遥十一运载火箭,在我国文昌航天发射场点火发射。
伊朗知情人士:特朗普不满意反而... 据凤凰卫视报道,特朗普对伊朗提交的回应表示“完全不能接受”。对此,伊朗知情人士回应称,伊朗没有人会为...
环天智慧获国家航天局授牌 成都... 5月9日,从眉山市的环天智慧科技股份有限公司获悉,该企业正式获国家航天局对地观测与数据中心授予“CP...
“我把她推开了”县交警队长被举... “公安干警有禁酒令要求,工作日不允许饮酒,也不能进入经营性娱乐场所。我认为,他违规违纪了。”一名不愿...
古尔曼:苹果macOS 27将... IT之家 5 月 10 日消息,据彭博社记者马克・古尔曼消息,苹果正准备为下一版 macOS 推出“...
一觉醒来,美伊又谈崩了 (一)一觉醒来,又谈崩了。世间外交,我们看到的,从来没有轻易的握手言和,更多是互不退让的底线博弈。最...
伊媒:伊朗已拒绝美国提出的方案 新华社德黑兰5月11日电 据伊朗新闻电视台10日晚报道,伊朗已拒绝美国提出的方案,认为同意该方案将意...
目标2028年发射,美国Sky... 来源:市场资讯 (来源:IT之家) IT之家 5 月 9 日消息,科技媒体 Ars Technica...
英伟达新技术“翻车”? 今年3月,英伟达发布新技术DLSS 5,其主要目标是通过一系列技术提升游戏的视觉保真度,使场景呈现更...
特朗普称伊朗的回复完全不可接受... 伊朗对美国的结束战争方案做出回应,美国总统特朗普5月10日表示十分不满。美媒爆料双方存在的分歧。《华...