Skip to content

Commit e1d5202

Browse files
authored
Live publish
2 parents 0fcdb69 + 0d82095 commit e1d5202

27 files changed

+850
-173
lines changed

powerapps-docs/maker/TOC.yml

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2113,7 +2113,7 @@
21132113
href: ./data-platform/view-component-dependencies.md
21142114
- name: Use environment variables
21152115
href: ./data-platform/EnvironmentVariables.md
2116-
- name: Use a connection reference
2116+
- name: Use a connection reference (preview)
21172117
href: ./data-platform/create-connection-reference.md
21182118
- name: Translate customized component text
21192119
items:
@@ -2164,22 +2164,40 @@
21642164
items:
21652165
- name: Azure Synapse Link Overview
21662166
href: ./data-platform/export-to-data-lake.md
2167-
- name: Azure Synapse Analytics
2167+
- name: Create an Azure Synapse Link with a Synapse Workspace
2168+
href: ./data-platform/azure-synapse-link-synapse.md
2169+
- name: Create an Azure Synapse Link with Data Lake
2170+
href: ./data-platform/azure-synapse-link-data-lake.md
2171+
- name: Advanced Configuration Settings
2172+
href: ./data-platform/azure-synapse-link-advanced-configuration.md
2173+
- name: Azure Synapse Link FAQ
2174+
href: ./data-platform/export-data-lake-faq.yml
2175+
- name: Analyze with Azure Synapse Analytics
21682176
items:
2169-
- name: Configure Azure Synapse Link with a Synapse Workspace
2170-
href: ./data-platform/azure-synapse-link-synapse.md
2171-
- name: Azure Data Lake Storage Gen2
2177+
- name: Query data with serverless SQL pool
2178+
href: ./data-platform/azure-synapse-link-serverless.md
2179+
- name: Transform data with Apache Spark
2180+
href: ./data-platform/azure-synapse-link-spark.md
2181+
- name: Visualize data with Power BI
2182+
href: ./data-platform/azure-synapse-link-powerbi.md
2183+
- name: Copy data to Dedicated SQL
2184+
href: ./data-platform/azure-synapse-link-dedicated.md
2185+
- name: Read Incremental Updates
2186+
href: ./data-platform/azure-synapse-link-incremental.md
2187+
- name: Access Dataverse choices with serverless SQL pool
2188+
href: ./data-platform/azure-synapse-link-choices-serverless.md
2189+
- name: Analyze in Azure Data Lake Storage Gen2
21722190
items:
2173-
- name: Configure Azure Synapse Link with Data Lake
2174-
href: ./data-platform/azure-synapse-link-data-lake.md
21752191
- name: Ingest exported data with Azure Data Factory
21762192
href: ./data-platform/export-to-data-lake-data-adf.md
2193+
- name: Copy data to Azure SQL with Azure Data Factory
2194+
href: ./data-platform/azure-synapse-link-copy-sql.md
21772195
- name: Analyze exported data with Power BI
21782196
href: ./data-platform/export-to-data-lake-data-powerbi.md
2179-
- name: Advanced Configuration Settings
2180-
href: ./data-platform/azure-synapse-link-advanced-configuration.md
2181-
- name: Azure Synapse Link FAQ
2182-
href: ./data-platform/export-data-lake-faq.yml
2197+
- name: Access Dataverse choices with Azure Data Factory
2198+
href: ./data-platform/azure-synapse-link-choices-adf.md
2199+
- name: Access Dataverse choices with Power BI
2200+
href: ./data-platform/azure-synapse-link-choices-powerbi.md
21832201
- name: Security in Dataverse
21842202
href: /power-platform/admin/wp-security-cds
21852203
- name: Privileges for customization

powerapps-docs/maker/canvas-apps/functions/function-download.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The **Download** function downloads a file from the web to the local device.
2929

3030
In native players (Windows, Android, and iOS), the user is prompted for a ___location to save the file.
3131

32-
When used on the web, **Download** is dependent on the browser's settings to determine what happens with the file. For images, videos, and other file types that the browser natively supports, a new browser tab is opened to display the file.b Many browsers support saving the contents to the local file system.
32+
When used on the web, **Download** is dependent on the browser's settings to determine what happens with the file. For images, videos, PDFs, and other file types that the browser natively supports, a new browser tab is opened to display the file. Many browsers support saving the contents to the local file system.
3333

3434
Only on Windows, **Download** returns the ___location where the file was stored locally as a text string.
3535

@@ -83,4 +83,4 @@ The **Product Showcase** tablet layout template was used for the following examp
8383
[Canvas app formula reference](../formula-reference.md)
8484

8585

86-
[!INCLUDE[footer-include](../../../includes/footer-banner.md)]
86+
[!INCLUDE[footer-include](../../../includes/footer-banner.md)]

powerapps-docs/maker/data-platform/azure-synapse-link-advanced-configuration.md

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,9 @@ Azure Synapse Link offers multiple ways to write and read your data to fit vario
3535
3636
This article covers:
3737

38-
1. In-Place Updates vs. Append-Only Writes
39-
2. User-Specified Partition Strategy
40-
3. Accessing and Consuming Dataverse Choices (Option Sets)
41-
4. Transporting the Azure Synapse Link for Dataverse Configuration across Environments
38+
1. In-place updates vs. append-only writes
39+
2. User-specified partition strategy
40+
3. Transporting the Azure Synapse Link for Dataverse configuration across environments
4241

4342
## In-place updates vs. append-only writes
4443

@@ -78,40 +77,6 @@ Additional details with examples of how data is handled in the lake with yearly
7877

7978
![Partition Strategy.](media/export-data-lake-partition-strategy.png "Show advanced configuration")
8079

81-
## Accessing and consuming Dataverse choices (option sets)
82-
83-
For columns that use Dataverse [Choices](/powerapps/maker/data-platform/create-edit-global-option-sets), choice values are written as an integer label and not a text label to maintain consistency during edits. To access the integer-to-text label mapping, navigate to the *Microsoft.Athena.TrickleFeedService/,table-EntityMetadata.json* file.
84-
85-
![Access option set.](media/access-option-set.png "Access option set")
86-
87-
### Consuming Dataverse choices with Power BI
88-
89-
To read all the Dataverse choices as a table in Power BI complete the following steps:
90-
91-
1. Open Power BI Desktop.
92-
93-
2. Select **Get Data** > **Blank query** and then open the **Advanced Editor**.
94-
95-
3. Paste the following query and replace **\<STORAGE\>** with the storage account name, **\<CONTAINER\>** with the name of the container, and **\<TABLE\>** with the name of the Dataverse Table that contains the Choices you want to access.
96-
97-
```Power Query M
98-
let
99-
Source = AzureStorage.DataLake("https://<STORAGE>.dfs.core.windows.net/<CONTAINER>/Microsoft.Athena.TrickleFeedService/<TABLE>-EntityMetadata.json"),
100-
#"https://<STORAGE> dfs core windows net/<CONTAINER>/Microsoft Athena TrickleFeedService/_<TABLE>-EntityMetadata json" = Source{[#"Folder Path"="https://<STORAGE>.dfs.core.windows.net/<CONTAINER>/Microsoft.Athena.TrickleFeedService/",Name="<TABLE>-EntityMetadata.json"]}[Content],
101-
#"Imported JSON" = Json.Document(#"https://<STORAGE> dfs core windows net/<CONTAINER>/Microsoft Athena TrickleFeedService/_<TABLE>-EntityMetadata json",1252),
102-
OptionSetMetadata = #"Imported JSON"[OptionSetMetadata],
103-
#"Converted to Table" = Table.FromList(OptionSetMetadata, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
104-
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"EntityName", "OptionSetName", "Option", "IsUserLocalizedLabel", "LocalizedLabelLanguageCode", "LocalizedLabel"}, {"Column1.EntityName", "Column1.OptionSetName", "Column1.Option", "Column1.IsUserLocalizedLabel", "Column1.LocalizedLabelLanguageCode", "Column1.LocalizedLabel"})
105-
in
106-
#"Expanded Column1"
107-
```
108-
109-
4. This will populate a dataset with the choices and various metadata for that choice that you can join with your Dataverse Table data to display the text label for the choice.
110-
111-
### Consuming Dataverse choices with Azure Data Factory
112-
113-
114-
11580
## Transporting the Azure Synapse Link configuration across environments
11681

11782
In Power Apps, solutions are used to transport apps and components from one environment to another, or to apply a set of customizations to existing apps. To make the Azure Synapse Link configurations solution-aware, import the Azure Synapse Link solution into the environment. This enables basic application lifecycle management (ALM) abilities such as distribution, and backup and restore of the Azure Synapse Link configuration.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
---
2+
title: "Access Dataverse choices with Azure Data Factory | MicrosoftDocs"
3+
description: "Learn how to access Dataverse choice data with Azure Data Factory."
4+
ms.custom: ""
5+
ms.date: 08/06/2021
6+
ms.reviewer: "Mattp123"
7+
ms.service: powerapps
8+
ms.suite: ""
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "conceptual"
11+
applies_to:
12+
- "powerapps"
13+
author: "sama-zaki"
14+
ms.assetid:
15+
ms.subservice: dataverse-maker
16+
ms.author: "matp"
17+
manager: "kvivek"
18+
search.audienceType:
19+
- maker
20+
search.app:
21+
- PowerApps
22+
- D365CE
23+
contributors: ""
24+
---
25+
26+
# Access Dataverse choices (option sets) with Azure Data Factory
27+
28+
[!INCLUDE[cc-data-platform-banner](../../includes/cc-data-platform-banner.md)]
29+
30+
For columns that use Microsoft Dataverse [choices](/powerapps/maker/data-platform/create-edit-global-option-sets), choice values are written as an integer label and not a text label to maintain consistency during edits. The integer-to-text label mapping is stored in the *Microsoft.Athena.TrickleFeedService/table-EntityMetadata.json* file. This article covers how to access the integer-to-text label mapping using Azure Data Factory.
31+
32+
![Access option set.](media/access-option-set.png "Access option set")
33+
34+
> [!NOTE]
35+
> Azure Synapse Link for Dataverse was formerly known as Export to data lake. The service was renamed effective May 2021 and will continue to export data to Azure Data Lake as well as Azure Synapse Analytics.
36+
37+
## Prerequisites
38+
39+
This section describes the prerequisites necessary to access Dataverse choices with Azure Data Factory after using the Azure Synapse Link for Dataverse service.
40+
41+
- **Azure Synapse Link for Dataverse.** This guide assumes that you have already exported data from Dataverse by using the [Azure Synapse Link for Dataverse](export-to-data-lake.md).
42+
43+
- **Storage Account Access.** You must be granted one of the following roles for the storage account: Storage Blob Data Reader, Storage Blob Data Contributor, or Storage Blob Data Owner.
44+
45+
## Consuming Dataverse choices with Azure Data Factory
46+
47+
To add a column containing the text label of the Dataverse choice using Azure Data Factory, complete the following steps:
48+
49+
1. Go to Azure Data Factory.
50+
51+
2. Create a new data flow and set the source as the Azure Data Lake Storage Gen2 with your Dataverse data.
52+
53+
3. Add a **Derived Column** transformation step and provide a new name for the column.
54+
55+
4. **Open expression builder** and build an expression with a series of `iff` functions to map the integer choice label to the text choice label that is found in the *Microsoft.Athena.TrickleFeedService/table-EntityMetadata.json* file.
56+
57+
:::image type="content" source="media/expression-builder.png" alt-text="Expression builder":::
58+
59+
5. Add a sink to the data flow and run the pipeline.
60+
61+
### See also
62+
63+
[Azure Synapse Link for Dataverse](./export-to-data-lake.md)
64+
65+
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
title: "Access Dataverse choices with Power BI | MicrosoftDocs"
3+
description: "Learn how to access Dataverse choice data with Power BI."
4+
ms.custom: ""
5+
ms.date: 08/06/2021
6+
ms.reviewer: "Mattp123"
7+
ms.service: powerapps
8+
ms.suite: ""
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "conceptual"
11+
applies_to:
12+
- "powerapps"
13+
author: "sama-zaki"
14+
ms.assetid:
15+
ms.subservice: dataverse-maker
16+
ms.author: "matp"
17+
manager: "kvivek"
18+
search.audienceType:
19+
- maker
20+
search.app:
21+
- PowerApps
22+
- D365CE
23+
contributors: ""
24+
---
25+
26+
# Access Dataverse choices with Power BI
27+
28+
[!INCLUDE[cc-data-platform-banner](../../includes/cc-data-platform-banner.md)]
29+
30+
For columns that use Microsoft Dataverse [choices](/powerapps/maker/data-platform/create-edit-global-option-sets), choice values are written as an integer label and not a text label to maintain consistency during edits. The integer-to-text label mapping is stored in the *Microsoft.Athena.TrickleFeedService/table-EntityMetadata.json* file. This article covers how to access the integer-to-text label mapping using Power BI.
31+
32+
![Access option set.](media/access-option-set.png "Access option set")
33+
34+
> [!NOTE]
35+
> Azure Synapse Link for Dataverse was formerly known as Export to data lake. The service was renamed effective May 2021 and will continue to export data to Azure Data Lake as well as Azure Synapse Analytics.
36+
37+
## Prerequisites
38+
39+
This section describes the prerequisites necessary to access Dataverse choices with Power BI after using the Azure Synapse Link for Dataverse service.
40+
41+
- **Power BI Desktop.** [Get it now](https://powerbi.microsoft.com/downloads/)
42+
43+
- **Azure Synapse Link for Dataverse.** This guide assumes that you have already exported data from Dataverse by using the [Azure Synapse Link for Dataverse](export-to-data-lake.md).
44+
45+
- **Storage Account Access.** You must be granted one of the following roles for the storage account: Storage Blob Data Reader, Storage Blob Data Contributor, or Storage Blob Data Owner.
46+
47+
## Consuming Dataverse choices with Power BI
48+
49+
1. Open Power BI Desktop.
50+
51+
2. Select **Get Data** > **Blank query** and then open the **Advanced Editor**.
52+
53+
3. Paste the following query and replace **\<STORAGE\>** with the storage account name and **\<CONTAINER\>** with the name of the container.
54+
55+
```PowerQueryM
56+
let
57+
Source = AzureStorage.DataLake("https://<STORAGE>.dfs.core.windows.net/<CONTAINER>/Microsoft.Athena.TrickleFeedService/*-EntityMetadata.json"),
58+
#"https://<STORAGE> dfs core windows net/<CONTAINER>/Microsoft Athena TrickleFeedService/_*-EntityMetadata json" = Source{[#"Folder Path"="https://<STORAGE>.dfs.core.windows.net/<CONTAINER>/Microsoft.Athena.TrickleFeedService/",Name="*-EntityMetadata.json"]}[Content],
59+
#"Imported JSON" = Json.Document(#"https://<STORAGE> dfs core windows net/<CONTAINER>/Microsoft Athena TrickleFeedService/_*-EntityMetadata json",1252),
60+
OptionSetMetadata = #"Imported JSON"[OptionSetMetadata],
61+
#"Converted to Table" = Table.FromList(OptionSetMetadata, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
62+
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"EntityName", "OptionSetName", "Option", "IsUserLocalizedLabel", "LocalizedLabelLanguageCode", "LocalizedLabel"}, {"Column1.EntityName", "Column1.OptionSetName", "Column1.Option", "Column1.IsUserLocalizedLabel", "Column1.LocalizedLabelLanguageCode", "Column1.LocalizedLabel"})
63+
in
64+
#"Expanded Column1"
65+
```
66+
67+
This populates a dataset with the choices and various metadata for that choice that you can join with your Dataverse table data to display the text label for the choice.
68+
69+
### See also
70+
71+
[Azure Synapse Link for Dataverse](./export-to-data-lake.md)
72+
73+
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
title: "Access Dataverse choices with serverless SQL pool | MicrosoftDocs"
3+
description: "Learn how to access Dataverse choice data with serverless SQL pool."
4+
ms.custom: ""
5+
ms.date: 08/06/2021
6+
ms.reviewer: "Mattp123"
7+
ms.service: powerapps
8+
ms.suite: ""
9+
ms.tgt_pltfrm: ""
10+
ms.topic: "conceptual"
11+
applies_to:
12+
- "powerapps"
13+
author: "sama-zaki"
14+
ms.assetid:
15+
ms.subservice: dataverse-maker
16+
ms.author: "matp"
17+
manager: "kvivek"
18+
search.audienceType:
19+
- maker
20+
search.app:
21+
- PowerApps
22+
- D365CE
23+
contributors: ""
24+
---
25+
26+
# Access Dataverse choices (option sets) with serverless SQL pool
27+
28+
[!INCLUDE[cc-data-platform-banner](../../includes/cc-data-platform-banner.md)]
29+
30+
For columns that use Microsoft Dataverse [Choices](/powerapps/maker/data-platform/create-edit-global-option-sets), choice values are written as an integer label and not a text label to maintain consistency during edits. The integer-to-text label mapping is stored in the *Microsoft.Athena.TrickleFeedService/table-EntityMetadata.json* file. This article covers how to access the integer-to-text label mapping using serverless SQL pool.
31+
32+
![Access option set.](media/access-option-set.png "Access option set")
33+
34+
> [!NOTE]
35+
>
36+
> - Azure Synapse Link for Microsoft Dataverse was formerly known as Export to data lake. The service was renamed effective May 2021 and will continue to export data to Azure Data Lake as well as Azure Synapse Analytics.
37+
> - This feature is still in preview and preview features are are not complete, but are made available on a “preview” basis so customers can get early access and provide feedback. Preview features may have limited or restricted functionality, are not meant for production use, and may be available only in selected geographic areas.
38+
39+
## Prerequisites
40+
41+
This section describes the prerequisites necessary to consume Dataverse data with serverless SQL pool after using the Azure Synapse Link for Dataverse service.
42+
43+
- **Azure Synapse Link for Dataverse:** This guide assumes that you have already exported data from Dataverse by using the [Azure Synapse Link for Dataverse](export-to-data-lake.md) with and Azure Synapse Analytics workspace.
44+
45+
- **Storage Account Access.** You must be granted one of the following roles for the storage account: Storage Blob Data Reader, Storage Blob Data Contributor, or Storage Blob Data Owner.
46+
47+
## Consuming Dataverse choices with serverless SQL pool
48+
49+
1. Navigate to your Azure Synapse Analytics workspace.
50+
51+
2. Select **Develop** from the left side panel, then select **+** > **SQL script**.
52+
53+
3. Paste the following SQL query and replace **\<STORAGE_ACCOUNT\>** with the storage account name and **\<CONTAINER_NAME\>** with the name of the container.
54+
55+
```SQL
56+
SELECT [EntityName], [OptionSetName], [Option], [IsUserLocalizedLabel], [LocalizedLabelLanguageCode], [LocalizedLabel]
57+
FROM OPENROWSET (
58+
BULK 'https://<STORAGE_ACCOUNT>.dfs.core.windows.net/<CONTAINER_NAME>/Microsoft.Athena.TrickleFeedService/*-EntityMetadata.json',
59+
FORMAT = 'csv',
60+
FIELDTERMINATOR ='0x0b',
61+
FIELDQUOTE = '0x0b',
62+
ROWTERMINATOR = '0x0b'
63+
) WITH (doc nvarchar(max)) AS rows
64+
CROSS APPLY OPENJSON(doc, '$.OptionSetMetadata')
65+
WITH (
66+
[EntityName] nvarchar(4000) '$.EntityName',
67+
[OptionSetName] nvarchar(4000) '$.OptionSetName',
68+
[Option] int '$.Option',
69+
[IsUserLocalizedLabel] nvarchar(4000) '$.IsUserLocalizedLabel',
70+
[LocalizedLabelLanguageCode] int '$.LocalizedLabelLanguageCode',
71+
[LocalizedLabel] nvarchar(4000) '$.LocalizedLabel'
72+
)
73+
```
74+
75+
4. **Run** the query. A table containing the Dataverse choices is displayed.
76+
77+
5. Join the Dataverse choices with your Dataverse table and store the view in a new database using a three-part naming convention - *[database-name].[schema-name].[table-name]*.
78+
79+
### See also
80+
81+
[Azure Synapse Link for Dataverse](./export-to-data-lake.md)
82+
83+
[Quickstart: Use serverless SQL pool](/azure/synapse-analytics/quickstart-sql-on-demand)
84+
85+
[!INCLUDE[footer-include](../../includes/footer-banner.md)]

0 commit comments

Comments
 (0)