Skip to content

[PQO][Dataflows] Update load to existing table documentation for GA #594

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions powerquery-docs/dataflows/add-data-power-query.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Before you start to follow this article:

1. In the lower-right corner, select **Next**.

## Specify the target table (Preview)
## Specify the target table

1. Under **Load settings**, select **Load to new table**.

Expand All @@ -79,24 +79,22 @@ Before you start to follow this article:

:::image type="content" source="./media/add-data-power-query/entity-list.png" alt-text="Screenshot of the list of standard and custom tables with the Customers table emphasized." lightbox="./media/add-data-power-query/entity-list.png":::

> [!WARNING]
> Existing data might be altered or deleted when loading data to a Dataverse table while having the **Delete rows that no longer exist in the query output** enabled or a primary key column defined.

## Load to existing table (Preview)
## Load to existing table

If you select **Load to existing table**, you can specify an existing Dataverse table to load data to.

When you select the table dropdown, there can be up to three recommended Dataverse tables to select from at the top of the dropdown, followed by all other Dataverse tables. These table recommendations are based on comparing the column metadata (column names and column types) with the column metadata of existing Dataverse tables. Up to three Dataverse tables are recommended with the strongest recommendation listed first. If no recommendations are found, the dropdown defaults to only listing all tables.

:::image type="content" source="./media/add-data-power-query/recommended-tables.png" alt-text="Screenshot of the Choose destination settings dialog with the recommended tables." lightbox="./media/add-data-power-query/recommended-tables.png":::

After selecting which Dataverse table to load data into, you then choose the import method. Append is selected by default and adds the data as more rows to the previously selected Dataverse table. Merge updates existing rows within your Dataverse table. If **Merge** is selected, there's an option to select the primary key column that you want to use.
> [!WARNING]
> Existing data might be altered or deleted when loading data to a Dataverse table while having the **Delete rows that no longer exist in the query output** enabled or a primary key column defined.

:::image type="content" source="./media/add-data-power-query/import-method-selection.png" alt-text="Screenshot of the Choose destination settings dialog with the import method choice displayed." lightbox="./media/add-data-power-query/import-method-selection.png":::
## Column mapping

## Column mapping (Preview)
After you select a destination Dataverse table, you can specify a **Primary key**. If a primary key isn't selected, as noted by the placeholder text, "Please select a key", then all incoming records are appended to the destination Dataverse table. Be aware that duplicate records might be created in the destination Dataverse table every time the dataflow runs in this configuration. Alternatively, if a primary key is selected, then all incoming records are checked against existing records in the destination Dataverse table and the last incoming record in the query result replaces the existing record with a matching primary key in the destination Dataverse table. All other incoming records without a matching primary key are appended as new records in the destination Dataverse table.

After you select a destination Dataverse table and specify the import method, the columns are grouped into mapped, possible match, and unmapped. You can toggle between these groupings by selecting the **Mapped**, **Possible match**, or **Unmapped** tabs at the top or stay in the default **Show all** tab that lists all mappings.
Furthermore, once a destination Dataverse table is selected, the columns are grouped into mapped, possible match, and unmapped. You can toggle between these groupings by selecting the **Mapped**, **Possible match**, or **Unmapped** tabs at the top or stay in the default **Show all** tab that lists all mappings.

:::image type="content" source="./media/add-data-power-query/column-mapping.png" alt-text="Screenshot of the Choose destination settings dialog with the column mapping choices displayed." lightbox="./media/add-data-power-query/column-mapping.png":::

Expand All @@ -112,7 +110,7 @@ When manual changes are made to the mapping the source column, the status change

## Known Limitations

Currently, AI Assisted mapping can only detect type mismatches between columns. Other column mapping challenges in the following list aren't detected as they require previewing the records of incoming data:
Currently, assisted mapping can only detect type mismatches between columns. Other column mapping challenges in the following list aren't detected as they require previewing the records of incoming data:

* **Truncation**: High confidence in semantic match between source and destination, but at least one record in the source has more characters than the character limit of the destination column.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.