使用PowerBIAPI向流数据集推送实时数据并在仪表板可视化-创新互联

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

创新互联是一家专业提供齐齐哈尔企业网站建设,专注与成都网站设计、成都做网站、H5高端网站建设、小程序制作等业务。10年已为齐齐哈尔众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

使用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 向流数据集推送实时数据并在仪表板可视化

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:使用PowerBIAPI向流数据集推送实时数据并在仪表板可视化-创新互联
分享网址:http://hbruida.cn/article/ccjceo.html