Connect Power App to Delta table from ADLS Gen 2

HK SharePoint Admin
3 min readMar 1, 2024

There is no direct way available for Power app connecting to delta table. The method I provide here is indirect way to read Delta table. Please note that my approach is Readonly.

Delta Table is a transactional storage layer built on Apache Spark, leveraging Parquet files for efficient storage. Delta Table is typically represented as a folder in a file system, and within this folder, you’ll find the Delta Table’s metadata and data files organized in Parquet format. This folder usually contains the _delta_log directory along with the Parquet data files and metadata files.

Currently Power Query support parquet format. (Power Query Parquet connector — Power Query | Microsoft Learn) The challenge is how to read entire folder which contains the _delta_log and multiple parquet files.

  1. Goto Power App studio. At the left menu click on Dataflows. (Microsoft ref: Create and use dataflows in Power Apps — Power Apps | Microsoft Learn)

2. Click “+ New dataflow”. Type in the name and then press “Create”

3. In the Power Query panel, select “Blank query” and insert the custom function downloaded from Github fn_ReadDeltaTable.

4. Press Next to continue. You will see 3 steps in the Query settings panel. Remove the 2nd and 3rd step.

5. Rename the “Query” we just input to “fn_ReadDeltaTable”

6. Press “Get Data” > “Blank query”. Then paste following code to connect Dataflow to your ADLS gen2 storage Account

let
Source = fn_ReadDeltaTable(AzureStorage.DataLake(“
https://<youraccountname>.dfs.core.windows.net/xxx/yyy/deltatablefolder/"), [HierarchicalNavigation = false])
in
Source

Press “Next” to continue.

7. You may see a warning “Credentials are required to connect to the AzureDataLakeStorage source.” If so, press “Configure Connection” and input your credential.

8. Rename the 2nd Queries from “Query” to your table name. It is important because it will become your source name. If you save the data to Dataverse, it will become your Table name.

9. Save and publish your Dataflow. Depends on your delta table size, it may take a while to allow Dataflow load all the data. You can modify your refresh schedule or setup incremental refresh here.

10. Go back to Power App studio. Start a new App or edit an existing App. Under Data, you will find YourTable listed under as a Dataverse table. Now you can connect to it and start your work.

You will be able to edit the data in Dataverse. However, the data in dataverse WILL NOT reflecting back to your Delta table at ADLS Gen 2. You may need to build another channel to sync them. Please kindly let me know if you find any good approach!

--

--