ClickHouse / clickhouse-odbc

ODBC driver for ClickHouse
https://clickhouse.tech
Apache License 2.0
245 stars 86 forks source link

"Sets" seems not to be recognized with this last connector version #387

Closed Fred5778 closed 2 years ago

Fred5778 commented 2 years ago

Hi,

I have tried your new connector with the hope it would correct limitations because Tableau does not understand the ClickHouse SQL dialect. Before I had a several limitations and issues with JOIN ON syntax and LOD expressions as FIXED, INCLUDE etc.

for example : Une erreur s'est produite lors de la communication avec la source de données Autres bases de données (ODBC) 'qoe_fixe' Problème de connexion : Tableau n'a pas pu se connecter à la source de données. Code d'erreur : B19090E0 HTTP status code: 501 Received error: Code: 48, e.displayText() = DB::Exception: JOIN ON does not support OR. Unexpected '(zipcode = t0.zipcode) OR (isNull(zipcode) AND isNull(t0.zipcode))': While processing (zipcode = t0.zipcode) OR (isNull(zipcode) AND isNull(t0.zipcode)) (version 21.3.15.4 (official build))

but there were no errors displayed on calculated fields, even if they were based on "sets" etc..

Now, If I used your new connector, I encounter another problem: It seems that "sets" are not recognised?? For exemple : In this calculated field I use a set called « Dsl_Indispo_One_Day »

SUM(IIF(CONTAINS([Infra],'o1'),IIF([Dsl_Indispo_One_Day], 1, 0),0)) / SUM(IIF(CONTAINS([Infra],'o1'),1,0)) image

With the new connector, you can see that it has been replaced by [test] (Why ?) and it is writen that le calculation contains errors. image

If I change in the [test] in _%NbIndispoDsl to use a condition instead of the « set », namely :

image

Instead of

image

The error disappears.

But, it doesn’t work with an other field. image

If I do the same, it leads to an invalid calculation

and my dashboards are not displayed...

Thanks for your help.

Fred

traceon commented 2 years ago

https://github.com/Altinity/clickhouse-tableau-connector-odbc/issues/19 is the right place to track this issue.