SnowConvert AI – PostgreSQL – Power BI Repointing¶
Beschreibung¶
Power BI Repointing ist ein Feature, das eine einfache Möglichkeit bietet, die Verbindungen aus der Sprache M im Power Query-Editor neu zu definieren. Das bedeutet, dass die Verbindungsparameter neu definiert werden, um auf den Kontext der Snowflake-Migrationsdatenbank zu verweisen. Für Postgres ist die Methode in der Sprache M, mit der die Verbindung definiert wurde, PostgreSQL.Database(...).. In Snowflake gibt es einen Konnektor, der von einigen anderen Parametern abhängt, und die Hauptverbindung wird durch die Snowflake.Database(...)-Methode definiert.
Beispiele für Quellmuster¶
Repointing-Fall für Entität: Tabelle¶
Dieser Fall bezieht sich auf Verbindungen, die kein eingebettetes SQL enthalten. Dies bedeutet, dass eine Verbindung von Power BI zu einer Tabelle hergestellt wurde.
PostgreSQL-Verbindung im Power Query-Editor
let
Source = PostgreSQL.Database("your_connection", "mydatabase"),
public_products = Source{[Schema="public",Item="products"]}[Data]
in
public_products
Snowflake-Verbindung im Power Query-Editor
let
Source = Snowflake.Databases(SF_SERVER_LINK, SF_WAREHOUSE_NAME),
SourceSfDb = Source{[Name=SF_DB_NAME, Kind="Database"]}[Data],
SourceSfSchema = SourceSfDb{[Name="public", Kind="Schema"]}[Data],
SourceSfTbl = SourceSfSchema{[Name="PRODUCTS", Kind="Table"]}[Data],
public_products = Table.RenameColumns(SourceSfTbl, {{ "PRODUCT_ID", "product_id"}, { "PRODUCT_NAME", "product_name"}, { "PRICE", "price"}, { "STOCK_QUANTITY", "stock_quantity"}})
in
public_products
Repointing-Fall für Entität: Ansicht¶
Dieser Fall bezieht sich auf Verbindungen, die kein eingebettetes SQL enthalten. Dies bedeutet, dass eine Verbindung von Power BI zu einer Ansicht hergestellt wurde. Die Ansicht verwendet das gleiche Muster wie die Tabellen. Sie wird nur mit der Symboltabelle validiert. Andernfalls wird sie in eine Tabelle umgewandelt. DDLs sind für dieses Muster wichtig.
PostgreSQL-Verbindung im Power Query-Editor
let
Source = PostgreSQL.Database("your_connection", "mydatabase"),
public_expensive_products = Source{[Schema="public",Item="expensive_products"]}[Data]
in
public_expensive_products
Snowflake-Verbindung im Power Query-Editor
let
Source = Snowflake.Databases(SF_SERVER_LINK, SF_WAREHOUSE_NAME),
SourceSfDb = Source{[Name=SF_DB_NAME, Kind="Database"]}[Data],
SourceSfSchema = SourceSfDb{[Name="public", Kind="Schema"]}[Data],
SourceSfTbl = SourceSfSchema{[Name="EXPENSIVE_PRODUCTS", Kind="View"]}[Data],
public_expensive_products = Table.RenameColumns(SourceSfTbl, {{ "PRODUCT_ID", "product_id"}, { "PRODUCT_NAME", "product_name"}, { "PRICE", "price"}})
in
public_expensive_products
Fall: eingebettetes SQL¶
Dieser Fall gilt für Verbindungen, die eingebettetes SQL enthalten. Dieses Beispiel zeigt eine einfache Abfrage, SnowConvert AI deckt jedoch eine Reihe von größeren Szenarien ab. Außerdem können je nach migrierter Abfrage Warnmeldungen, auch als EWI-PRF-FDM bezeichnet, angezeigt werden. Auf diese Weise können Benutzende Muster erkennen, die zusätzliche Aufmerksamkeit erfordern.
PostgreSQL-Verbindung im Power Query-Editor
let
Source = Value.NativeQuery(PostgreSQL.Database("your_connection", "mydatabase"), "SELECT * FROM expensive_products", null, [EnableFolding=true])
in
Source
Snowflake-Verbindung im Power Query-Editor
let
SfSource = Value.NativeQuery(Snowflake.Databases(SF_SERVER_LINK,SF_WAREHOUSE_NAME,[Implementation="2.0"]){[Name=SF_DB_NAME]}[Data], "SELECT * FROM
expensive_products", null, [EnableFolding=true]),
Source = Table.RenameColumns(SfSource, {{ "PRODUCT_ID", "product_id"}, { "PRODUCT_NAME", "product_name"}, { "PRICE", "price"}})
in
Source