What is your workbook locale setting?
File > Workbook Locale > ...
It was set to Automatic
Have changed to English (Australia) - no change to dates even after refres; or, save and re-open.
Have change to English (United States) - format changes - but it still thinks all the reporting periods are January.
I think the issue may be related to the SQL field- which when changed to 'String' rather than date - displays with format: YYYY-DD-MM
This is some screen shots (with Locale set to English - USA) of Tableau, and the results of the raw SQL view query.
The issue was how the date was formattted in the SQL query.
The date was stored as an integer eg 20121005
To convert the integer into varchar and then to date/time use the following SQL syntax:
CAST(CAST(date_skey AS VARCHAR) AS DATETIME)