パワーBI APIは、インストルメントパネルのリアルタイムデータストリームのデータセットと可視化をプッシュするために使用しました

640?wx_fmt = PNG

使用電源BIリアルタイムデータの可視化は、我々はより多くのデータをプッシュ心配されているトピックであるダッシュボード上に実現、それは、このような大画面のコマンド、および他のシーンで使用できることを示します。


このビデオの戦闘は次のとおりです。https://v.qq.com/x/page/y3030euh6do.html




フィギュアの影響の下で見てカーブが自動的に更新されます:

640?wx_fmt = PNG


次のステップ:

  1. データセットのストリームを作成し、モードのAPIを選択します

    2019年12月の時点で、中国は、Azureのフロー分析がパワーBIへの直接書き込み出力をサポートしていない、Azureのフロー分析。

    640?wx_fmt = PNG


  2. データ・セット名と値と値の種類とオープン履歴データの分析に入力します。

    一時的にデータを一時的に格納されたデータを保持するために使用される履歴データの分析は、曲線を提示することができます。


    640?wx_fmt = PNG

  3. リアルタイムのデータタイルを追加したダッシュボードやインストルメントパネルの作成


    640?wx_fmt = PNG


すでに作成されたストリームデータセットを選択します


640?wx_fmt = PNG

カスタムデータストリームのタイルを追加するためのダッシュボードページ5.

折れ線グラフの可視化を選択します

「軸」選択時

温度と湿度のアドオン「値」

640?wx_fmt = PNG

次の情報データによって示される前記ポストコール要求は、データセットにプッシュすることができます

640?wx_fmt = PNG


郵便配達は200の結果が正常に実行されたことを示して送りました。

640?wx_fmt = PNG

データセットのレポートを作成します7.、結果を表示するために使用することができますPOSTリクエストストリームデータセットをプッシュ

640?wx_fmt = PNG



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

この時点で、あなたはリアルタイム可視化ダッシュボードをリフレッシュ見ることができます:

640?wx_fmt = PNG




640?wx_fmt = GIF



おすすめ

転載: blog.51cto.com/10117438/2456854