elasticsearch-tableau-connector
elasticsearch-tableau-connector copied to clipboard
Field import is inconsistent with Tableau behavior for other DBs
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:
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
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.
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.
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.
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.
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.
It's closer, but not quite there:
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.
bump
It looks like in Tableau 10.3, the issue regarding fields that use a leading underscore goes away.