elasticsearch-tableau-connector icon indicating copy to clipboard operation
elasticsearch-tableau-connector copied to clipboard

Field import is inconsistent with Tableau behavior for other DBs

Open chuchurocket27 opened this issue 7 years ago • 8 comments

When I establish the connection to Elasticsearch and bring in fields, the result is inconsistent with what would happen for other Tableau connections:

  • Field names are not capitalized
  • Non-leading underscores are not replaced with spaces
  • The connection name is appended to the field

Consider these fields pulled in from a MySQL database and compare to pulling in fields from ES via the connector:

image

I am planning a migration of some workbooks from MySQL to Elasticsearch, and these differences require me to continually hand-adjust all imported fields from ES before I can "Replace Data Source". Is it possible to make the import of fields more Tableau-like?

see: http://onlinehelp.tableau.com/current/pro/desktop/en-us/help.htm#data_clean_adm.html

chuchurocket27 avatar May 13 '17 00:05 chuchurocket27

Yes it should be possible to do this. Looks like providing Tableau with field name 'aliases' will clean the field names. I think without aliases it echoes the Data Source name to the end of the field in parenthesis.

This would be a breaking change so I will include this in a 3.0 release of the connector.

mradamlacey avatar May 22 '17 05:05 mradamlacey

It's possible to reimplement the Tableau behavior in the article you link to (specifically the 'Naming Improvements' section), but it seems like Tableau should be applying these automatically.

I think Tableau is inconsistent beween Web Data Connector data sources and all other data sources... other data sources get the Naming Improvements but not WDC data sources.

I posted a question to Tableau's forum: https://community.tableau.com/message/622518#622518 to see if I can get a response.

mradamlacey avatar May 30 '17 00:05 mradamlacey

I also updated the following branch: utc-time-fix-date-fields

With a new option under 'Override Field Defaults' > 'Improve Field Names'...

Let me know if this solves the problem - I dont have a Tableau Desktop license to test myself :( - this maybe the workaround if the Tableau inconsistency is confirmed.

mradamlacey avatar May 30 '17 00:05 mradamlacey

It seems that checking the "Improve Field Names" checkbox causes the connector to hang.

Time strings are being interpreted correctly now when the "Parse date fields in local time" box is checked.

chuchurocket27 avatar May 31 '17 21:05 chuchurocket27

Alright I did fix an issue with the library used (Humanize) for the improve field naming.

I merged the date parsing feature to master and the 2.0 release branch - you'll see #61 is closed now.

I was able to test in Tableau Desktop (got a trial license for now).

See if the behavior of the field renaming that's currently in master is closer to what you need. I'm afraid it's an issue in Tableau in the difference with how it treats Web Data connectors vs other data sources.

mradamlacey avatar Jun 01 '17 03:06 mradamlacey

It's closer, but not quite there:

image

Create Time_readable should be Create Time Readable, and _id (test), _timestamp (test), and _version (test) ought to be _Id, _Timestamp, and _Version, respectively. Looks like the 'humanizing' is not operating when a the field begins with _, and not all non-leading underscores are being converted to spaces.

Certainly usable for my needs - won't be a 1:1 swap of data sources (my MySQL data sources have a _timestamp column that gets converted to _Timestamp in Tableau), but now at least only a couple fields need to be altered instead of all of them.

chuchurocket27 avatar Jun 01 '17 16:06 chuchurocket27

bump

chuchurocket27 avatar Jun 20 '17 22:06 chuchurocket27

It looks like in Tableau 10.3, the issue regarding fields that use a leading underscore goes away.

chuchurocket27 avatar Jul 05 '17 22:07 chuchurocket27