Skip to content
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

Start of FAQ + dev guide #44

Open
wants to merge 1 commit into
base: master
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
42 changes: 39 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ The main new feature is native query support. For a brief overview see the [cust

![alt text](https://github.com/EXASOL/powerbi-exasol/blob/master/screenshots/Example_Dashboard_Billion_Rows.PNG )

## Using DSNs and Kerberos authentication
## Using DSNs, enabling ODBC logging and Kerberos authentication

Please see the [user guide](doc/user_guide/user_guide.md)

Expand All @@ -51,14 +51,16 @@ Please see the [user guide](doc/user_guide/user_guide.md)
Custom queries using `Value.NativeQuery` are supported starting from connector version 1.1.0.

An example (using the Advanced Editor):
```
```mashup
let
Source = Exasol.Database("<hostname,ip address or dsn>", "Yes"),
CustomQuery = Value.NativeQuery( Source, "SELECT * FROM SCHEMANAME.TABLENAME")
in
CustomQuery
```

General advice: Microsoft doesn’t recommend using SQL queries as the source of tables with Value.NativeQuery/[EnableFolding=true]. Turning these queries into views and referencing the views in your semantic model is probably the better move if possible.

## How To use the Exasol Power BI Connector with the On-premises data gateway

The Exasol connector was tested successfully with the On-premises data gateway version 3000.8.452 (August 2019) and also supports Direct Query.
Expand All @@ -67,8 +69,42 @@ The Exasol connector was tested successfully with the On-premises data gateway v

Also make sure you install the latest Exasol ODBC driver and Visual C++ Redistributable on the machine/VM where you install the data gateway, just as you would when you intend to use the connector for Power BI Desktop, for more information see section [Prerequisites](#prerequisites).

## Articles on Power BI + Exasol

[Working with Exasol geospatial data in Power BI](https://exasol.my.site.com/s/article/Working-with-Exasol-geospatial-data-in-Power-BI?language=en_US)

## FAQ / Frequent issues

### "OLE DB or ODBC error: [Expression.Error] We couldn’t fold the expression to the data source. Please try a simpler expression"

Please see: https://blog.crossjoin.co.uk/2022/05/08/understanding-the-we-couldnt-fold-the-expression-to-the-data-source-error-in-power-bi/

### Issues with TIMESTAMP WITH LOCAL TIME ZONE data type

This is PowerBI specific:
Types PowerBI can't make sense of or map implicitly get ‘delivered’ as ‘Type.Binary’ in PowerBI.

The easiest workaround in this case would be to create a view in the Exasol DB itself that contains all the columns you need and to convert this problematic ‘TIMESTAMP WITH LOCAL TIME ZONE' column to a calculated ‘TIMESTAMP' column that’s also part of the view.

A 'TIMESTAMP’ column gets correctly read out by PowerBI.

The SQL command to create this view and do the conversion would look like this:
```sql
CREATE VIEW YOURSCHEMA.WORKAROUNDVIEW as select … , CONVERT( TIMESTAMP , TSLTZ) AS DTCONVERTED from YOURSCHEMA.YOURTABLE;
```
Where TSLTZ is the original ‘TIMESTAMP WITH LOCAL TIME ZONE' column and DTCONVERTED is the calculated & converted 'TIMESTAMP' column .

You can then query this view in PowerBI without any further conversion steps needed for the new timestamp column.

### "OLE DB or ODBC error: [Expression.Error] Local evaluation of Table.Join or Table.NestedJoin with key equality comparers is not supported"

Usually this issue is caused by a faulty DAX expression or an unexpected value being returned by a DAX expression.

An example:

This issue can, for example, occur when using RLS in PowerBI. If the DAX expression for a certain role does not return a list of valid values, but instead returns a value like 'false' it might break the visuals and underlying query when filtering.

## Additional information

* [Changelog](doc/changes/changelog.md)

* [Developer guide](doc/developer_guide/developer_guide.md)
64 changes: 64 additions & 0 deletions doc/developer_guide/developer_guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Developer guide

## SDKs

### PowerQuery SDK for Visual Studio 2019

DEPRECATED ( https://github.com/microsoft/DataConnectors)

Please use PowerQuery SDK for Visual Studio Code instead

### PowerQuery SDK for Visual Studio Code

Install extension via VS code

Repo of SDK + issues section:
https://github.com/microsoft/vscode-powerquery-sdk

### Develop a connector using the PowerQuery SDK for Visual Studio Code

https://learn.microsoft.com/en-us/power-query/install-sdk

#### Building

Select Terminal > "Run build task ..." > And then pick one of 2 options
- "Build connector project using MakePQX (newer)
- "MSBuild" (legacy)

A .mez file will be created if all goes well.

#### Testing

TBC

#### Testing changes in PowerBI locally

You can install your newly created .mez file in:

C:\Users\<username>>\Documents\Power BI Desktop\Custom Connectors

You'll also need to enable some settings in PowerBI Desktop locally:
https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-connector-extensibility#custom-connectors

If you go to Get Data > and look for Exasol you'll see 'Exasol (Custom)' if the extension's loaded correctly.


If you wish to run a custom version of the connector on the PowerBI service you'll also need to put the connector in place for the On-Prem Data Gateway.

## Submission for certification

The Connector Certification portal will be decommissioned by the end of this calendar year (https://connectorcertification.azurewebsites.net/). Effective December 16, 2024, all connector certification submissions should be made via email to [email protected].

## Microsoft Support

### Official Support

https://admin.powerplatform.microsoft.com/support

### PowerQuery SDK board

https://github.com/microsoft/vscode-powerquery-sdk