Power BI 实现实时更新Streaming Dataset

一、在PowerBI portal端需要准备的操作:

1. https://app.powerbi.cn 登陆,点击左侧My Workspace,你需要有一个账号

2. 选入Datasets,点击页面右上角的Creat,添加Streaming dataset

Power BI 实现实时更新Streaming Dataset

Power BI 实现实时更新Streaming Dataset

3.添加API{ }

Power BI 实现实时更新Streaming Dataset

Power BI 实现实时更新Streaming Dataset

4.记录Push URL , 这个后续作为post data的URL

Power BI 实现实时更新Streaming Dataset

二、在c#代码中的操作:

  1. realTimePushURL 改成上文你的Push URL
  2. 一定要注意数据结构 那个postData变量的结构要和streaming dataset的结构一致
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO; namespace StreamDataToPowerBI
    {
    class Program
    {
    // Paste your own push URL below
    // e.g. https://api.powerbi.com/beta/2b958e42-b81e-441d-af13-801621ce8401/datasets/a5a15fd1-8cb6-4527-b2e6-f22f2a274d4d/rows?key=apsBX1ef%2F8a7ToL2xxxxxxxxxxxZeGATSyRYerZKpnu%2FbE2g2yDM0%2Bs4cDW9mqu5zKoGcQ27vJuh0Huw%3D%3D
    private static string realTimePushURL = "** paste your push URL here **";
    static void Main(string[] args)
    {
    while (true) {
    try
    {
    // Declare values that we're about to send
    String currentTime = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"); //2017-11-03T06:23:35.521Z
    Random r = new Random();
    int currentValue = r.Next(, );
    // Send POST request to the push URL
    // Uses the WebRequest sample code as documented here: https://msdn.microsoft.com/en-us/library/debx8sh9(v=vs.110).aspx
    WebRequest request = WebRequest.Create(this.PostUri);
    request.Method = "POST";
    string postData = String.Format("[{{ \"time\": \"{0}\", \"value\": {1}}}]", currentTime, currentValue);
    Console.WriteLine(String.Format("Making POST request with data: {0}", postData));
    // Prepare request for sending
    byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    request.ContentLength = byteArray.Length; // Get the request stream.
    Stream dataStream = request.GetRequestStream(); // Write the data to the request stream.
    dataStream.Write(byteArray, , byteArray.Length); // Close the Stream object.
    dataStream.Close(); // Get the response.
    WebResponse response = request.GetResponse(); // Display the status.
    Console.WriteLine(String.Format("Service response: {0}", ((HttpWebResponse)response).StatusCode)); // Get the stream containing content returned by the server.
    dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access.
    StreamReader reader = new StreamReader(dataStream); // Read the content.
    string responseFromServer = reader.ReadToEnd(); // Display the content.
    Console.WriteLine(responseFromServer); // Clean up the streams.
    reader.Close();
    dataStream.Close();
    response.Close(); }
    catch (Exception ex)
    {
    Console.WriteLine(ex);
    }
    // Wait 1 second before sending
    System.Threading.Thread.Sleep();
    }
    }
    }
    }

三、在portal中设置展示结果,大致实现过程:

1. 先创建一个dashboard

2. 点击右上角的Add tile

Power BI 实现实时更新Streaming Dataset

3. 选定我们的streaming data tile

Power BI 实现实时更新Streaming Dataset

4. 执行相应的添加即可

Power BI 实现实时更新Streaming Dataset

5.实时展示结果:(实时更新显示C#代码发来的random数据)

Power BI 实现实时更新Streaming Dataset

上一篇:React 同构思想


下一篇:IL中间语言指令大全