Azure 串流分析的 Power BI 輸出

您可以使用 Power BI 作為串流分析作業的輸出,來為分析結果提供豐富的視覺體驗。 您可以針對可運作的儀表板、產生報告,以及計量驅動的報告使用這項功能。

注意

Azure China 21Vianet 和 Azure 德國 (T-Systems International) 營運的 Microsoft Azure 目前無法從串流分析產生 Power BI 輸出。

輸出設定

下表列出設定 Power BI 輸出的屬性名稱及其描述。

屬性名稱 描述
輸出別名 提供易記名稱,用於在查詢中將查詢輸出指向這個 Power BI 輸出。
群組工作區 若要與其他 Power BI 使用者共用資料,您可以選取 Power BI 帳戶內的群組,若您不希望寫入群組,請選擇 [我的工作區]。 更新現有的群組需要更新 Power BI 驗證。
資料集名稱 提供您想要讓 Power BI 輸出使用的資料集名稱。
資料表名稱 提供 Power BI 輸出資料集的資料表名稱。 目前,串流分析作業的 Power BI 輸出在資料集內只能有一個資料表。
授權連線 您必須對 Power BI 授權,才能進行輸出設定。 將這個輸出存取權授與 Power BI 儀表板之後,您可以藉由變更使用者帳戶密碼、刪除作業輸出,或刪除串流分析作業,來撤銷存取權。

如需設定 Power BI 輸出和儀表板的逐步解說,請參閱教學課程:使用串流分析來分析詐騙通話資料,並在 Power BI 儀表板中以視覺方式呈現結果教學課程。

注意

請勿在 Power BI 儀表板中明確建立資料集和資料表。 當作業開始並將輸出提取至 Power BI 時,就會自動填入資料集和資料表。 如果作業查詢沒有產生任何結果,則不會建立資料集和資料表。 如果 Power BI 已經具有與串流分析作業中提供的名稱相同的資料集和資料表,則會覆寫現有的資料。

建立結構描述

如果 Power BI 資料集和資料表結構描述尚不存在,則 Azure 串流分析會為使用者建立。 在其他情況下,則會以新的值更新資料表。 目前,資料集內只能有一個資料表存在。

Power BI 是使用先進先出(FIFO) 保留原則。 資料會收集在資料表中,直到達到 200,000 個資料列為止。

注意

我們不建議使用多個輸出來寫入至相同的資料集,因為這樣可能會導致數個問題。 每個輸出都會嘗試獨立建立 Power BI 資料集,而這樣可能會導致多個具有相同名稱的資料集。 此外,如果輸出沒有一致的結構描述,則資料集會在每次寫入時變更結構描述,而這樣會導致太多結構描述變更要求。 即使避免這些問題,多個輸出的效能還是會低於單一合併輸出。

將資料類型從串流分析轉換至 Power BI

如果輸出結構描述變更,則 Azure 串流分析會在執行階段動態更新資料模型。 所有資料行名稱變更、資料行類型變更以及資料行新增或移除都會加以追蹤。

如果 Power BI 資料集和資料表不存在,此資料表包含從串流分析資料類型至 Power BI 實體資料模型 (EDM) 類型的資料類型轉換。

從串流分析 至 Power BI
BIGINT Int64
nvarchar(max) String
Datetime Datetime
FLOAT Double
記錄陣列 字串類型、常數值 IRecordIArray

更新結構描述

串流分析會根據輸出中的第一組事件來推斷資料模型結構描述。 之後會視需要更新資料模型結構描述,以容納原始結構描述放不下的連入事件。

避免 SELECT * 查詢,以防止跨越資料列的動態結構描述更新。 除了潛在的效能影響以外,可能導致結果所花費的時間不定。 選取必須顯示在 Power BI 儀表板上的確切欄位。 此外,資料值應該與所選的資料類型相符。

先前/目前 Int64 String Datetime Double
Int64 Int64 String String Double
Double Double String String Double
String String String String String
Datetime String String Datetime String

限制和最佳作法

目前來說,系統大約每秒可呼叫 Power BI 一次。 串流視覺效果支援 15 KB 的封包。 超過 15 KB,串流視覺效果就會失敗 (但仍會繼續推送)。 由於有這些限制,Power BI 最適用的自然是 Azure 串流分析會大量降低資料載入的案例。 我們建議使用輪轉視窗或跳動視窗,以確保資料推送最多為每秒推送 1 次,而且您的查詢符合輸送量需求。 如需輸出批次大小的詳細資訊,請參閱 Power BI REST API 限制

您可以使用下列方程式,以秒為單位計算要提供給視窗的值:

Screenshot of equation to compute value to give window in seconds.

例如:

  • 您有 1 千個以一秒間隔傳送資料的裝置。
  • 您使用的 Power BI Pro SKU 支援每小時 100 萬個資料列。
  • 您想要讓每個裝置將平均資料量發佈至 Power BI。

因此,方程式會變成︰

Screenshot of equation based on example criteria.

根據此設定,您可以將原始查詢變更如下︰

    SELECT
        MAX(hmdt) AS hmdt,
        MAX(temp) AS temp,
        System.TimeStamp AS time,
        dspl
    INTO "CallStream-PowerBI"
    FROM
        Input TIMESTAMP BY time
    GROUP BY
        TUMBLINGWINDOW(ss,4),
        dspl

更新授權

如果自從建立作業或上次驗證之後已變更密碼,則您需要重新驗證 Power BI 帳戶。 如果您的 Microsoft Entra 租用戶上已設定 Microsoft Entra 多重要素驗證,您也需要每隔兩週更新 Power BI 授權。 如果未更新,作業記錄中會出現一些徵兆,例如缺乏作業輸出或 Authenticate user error

同樣地,如果作業在權杖過期後啟動,則會發生錯誤,作業會失敗。 若要解決這個問題,請停止執行作業並移至 Power BI 輸出。 若要避免資料遺失,請選取 [更新授權] 連結,然後從 [上次停止時間] 重新啟動作業。

Power BI 在重新整理過授權後,授權區域就會出現綠色警示,表示問題已獲得解決。 若要克服這項限制,建議您使用受控識別向 Power BI 驗證 Azure 串流分析作業

下一步