Awesome
DuckDB Power Query Connector by MotherDuck
This is the Power Query Custom Connector for DuckDB. Use this to connect to a DuckDB database in memory, from a local file or on MotherDuck with Power BI and Excel.
Installing
-
Download the latest DuckDB ODBC driver from the DuckDB Power Query Connector GitHub Releases for Windows:
-
Extract the
.zip
archive into a permanent location, such asC:\Program Files\duckdb_odbc
, and install the latest DuckDB driver by runningodbc_install.exe
. -
Check that the correct version was installed. To do this, open the Registry Editor by running
regedit
in the command prompt orRun
dialog. Browse to theHKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\DuckDB Driver
entry and check that the Driver field contains the version you installed. If not, delete theDuckDB Driver
registry key and rerun the installer. -
Open Power BI, go to File -> Options and settings -> Options -> Security -> Data Extensions. Enable "Allow any extensions to load without validation or warning".
-
Download the latest version of the DuckDB Power Query extension:
-
Create this folder if it does not yet exist:
[Documents]\Power BI Desktop\Custom Connectors
. -
Move or copy the
duckdb-power-query-connector.mez
file into[Documents]\Power BI Desktop\Custom Connectors
. Note that if this location does not work, you may need to place this in your OneDrive Documents folder.
How to use with Power BI
- Click on Get Data -> More...
- Search for
DuckDB
and click "Connect" - Enter your database location. This can be a local file path (e.g.
~\my_database.db
) or a MotherDuck database location (e.g.md:my_database
). (Optional) enter your MotherDuck token. If you want to access the database inread_only
mode, you can set it totrue
. Click "OK". - Click "Connect".
- Select the table(s) you want to import. Click "Load".
- You can now query your data and create visualizations!
Turning on UTF-8 support in the Language & Region settings
UTF-8 is currently not supported in the DuckDB ODBC driver. As a workaround, you can turn on UTF-8 decoding in Windows. Note that this may change behavior for other applications, so please use with caution.
- Open start menu and type "Language settings". Open the "Language & region" settings
- Click on "Administrative language settings"
- Click on "Change system locale"
- Check the "Beta: Use Unicode UTF-8 for worldwide language support" and click OK
- This prompts Windows to restart.
- Next, open Power BI, click on "Options and settings" -> "Options" -> "Data Load" and click the "Clear cache" button.
Now, you should be able to load your UTF-8 encoded database with Power BI directly:
<img width="653" alt="image" src="https://github.com/MotherDuck-Open-Source/duckdb-power-query-connector/assets/4041805/bc83d199-317b-4142-a180-579a9b9d8a05">