I think part of this is beginning to come together for me. When I look at the original workbook, there is a calculated field for [Invoice Date] which is this: Date([InvoiceDate]). Still not sure why all the extra code to perform a Date function on a date field. And why if there is already an [InvoiceDate] in the source, why create a new field called [Invoice Date]. I can only guess that the creator wanted to strip the time component from this field.
In the original workbook I don't see a [Date] field or a [DimDate_Date] field so I'm still a bit confused about that.
I realize much of my answers will probably come from my data- but any insight would still be appreciated.
SQL Server 2008r2 introduced the datetime2 type with strange compatibility issues with the datetime type and with older drivers. The casting helps preserve the 'datetime' level of precision from a datetime2 type, as needed. As for the error message you described, that may have occurred when using older versions of Tableau and older versions of the SQL Server driver with the latest SQL Server database, but newer versions of Tableau try to enforce that the user has the latest driver version needed for proper compatibility when refreshing extracts.
Does this help?
Robert, thanks for the input.
This is roughly the conclusion that our sys admin came to. We're very close to rolling out v7 and he said he would make sure to update all the drivers as well.