當您將語意模型讀取至 FabricDataFrame 時,語意模型中的中繼資料和註釋等語意資訊會自動連結至 FabricDataFrame。 在本文中,您將了解 SemPy Python 程式庫如何保留連結至語意模型資料表和資料欄的註釋。
為 Pandas 使用者提供的語意傳播
SemPy Python 程式庫是語意連結功能的一部分,並提供給 pandas 使用者。 SemPy 支持 pandas 所允許您在資料上執行的操作。
SemPy 還可讓您從您操作的語意模型來傳播語意資料。 藉由傳播語意資料,您可在執行切割、合併和串連等作業時,保留連結至語意模型中資料表和資料欄的註釋。
您可使用下列兩種方式之一來建立 FabricDataFrame 資料結構:
您可以將資料表或量值的輸出,從語意模型讀入至 FabricDataFrame。
當您從語意模型讀取至 FabricDataFrame 時,Power BI 中的中繼資料會自動填充或填入 FabricDataFrame。 換句話說,FabricDataFrame 會保留模型資料表或量值的語意資訊。
您可使用記憶體中的資料來建立 FabricDataFrame,就像對 Pandas DataFrame 執行的操作一樣。
當您透過記憶體中的資料建立 FabricDataFrame 時,您需要提供 FabricDataFrame 可從中提取中繼資料資訊的語意模型名稱。
SemPy 保留語意資料的方式,會根據您執行的作業和您操作 FabricDataFrame 的順序等因素而有所差異。
透過合併進行語意傳播
當您合併兩個 FabricDataFrame 時,DataFrame 的順序會判斷 SemPy 如何傳播語意資訊。
如果兩個 FabricDataFrame 都有標註,則左側 FabricDataFrame 的表格層級中繼資料會優先處理。 相同的規則適用於個別資料欄;左側 FabricDataFrame 中的資料欄註釋會優先於右側 DataFrame 中的資料欄註釋。
如果僅標註一個 FabricDataFrame,則 SemPy 會使用其中繼資料。 相同的規則適用於個別資料欄;SemPy 會使用標註式 FabricDataFrame 中存在的資料欄註釋。
藉助串連進行語意傳播
當您針對每個資料欄串連多個 FabricDataFrame 時,SemPy 會從符合資料欄名稱的第一個 FabricDataFrame 中複製中繼資料。 如果有多個相符項目且中繼資料不同,SemPy 會發出警告。
您也可以先放置 FabricDataFrame,再將其與一般的 pandas DataFrame 進行串連。
Spark 使用者的語意傳播
語意連結 Spark 原生連接器會填充 (或填入) Spark 資料欄的中繼資料字典。 目前,對語意傳播的支援有限,並且受 Spark 的結構描述資訊傳播內部實作方式的制約。 例如,資料欄彙總會移除中繼資料。