5 Replies Latest reply on Dec 5, 2018 2:01 PM by John Taylor

    Extract field corrupted

    Eric Meger

      I have a large (40 million records) extract that I try to incrementally refresh every day from the original Oracle database.   The last time I tried the refresh I found one of the Measures fields renamed to "Calculation_8690403085542071".  It shows as a real measure and not a calculated field that I could delete. The View Data Shows that field but it does not exist in the original Oracle data. Now when i try to refresh, it downloads the data (by now several million records) but refuses to add it to the extract.  i would like to avoid recreating the entire extract due to its large size as it would tie up the server for hours. 


      I would appreciate any ideas on how to fix this problem. I don't think I actually need the field that is now called Calculation_8690403085542071  I think it might be an artifact or a calculated field that Tableau now thinks needs a refresh. I can't be sure tho.

        • 1. Re: Extract field corrupted
          Bruce Phillips

          I've recently experienced something similar with several of my calculated fields being converted auto-magically to a measure named "Calculation_xxxxx" which of course does not exist in my source tables and breaks my extracts on these worksheets.  Any ideas?

          • 2. Re: Extract field corrupted
            Richard Leeke

            This happens because Tableau holds information about a connection in two places: the workbook itself (the .twb file) and the extract (.tde). There are various scenarios which can cause the state of the connection as represented in those two files to get out of step. The "Calculation_nnnnnnnnnnnnnnn" field represents a calculated field for which the results of the calculation have been stored in the extract, but for which the original calculated field definition is not present in the workbook. (Tableau stores calculated field results in the extract for efficiency reasons - it means the calculation does not need to be evaluated each time it is referenced.)


            The sort of scenario that can cause this is as follows:


            1) Add a calculated field to the workbook.

            2) Do some operation that causes an extract to be created or updated (for example create a new extract or optimise an existing one.)

            3) Exit Tableau without saving changes to the workbook (either by explicitly saying no to the "do you want to save changes" question or because Tableau crashes.

            Next time you open the workbook, Tableau spots the "materialised" calculated field in the extract, but doesn't have the associated calculation in the workbook, so gets confused.


            In my view the window of opportunity for this sort of issue would be reduced significantly if Tableau automatically forced a save of the workbook whenever any operation which changes relevant state in the extract was updated. It might well need to warn that this was going to happen. I vaguely recall noticing that some changes might have happened in that space a while back, but it seems there are still opportunities for it to happen.


            Fixing it up when it has happened can be really difficult. The most reliable way ways are either to go back to a backup of the workbook before the problem happened or to remove (and delete the extract), delete any remaining "Calculation_nnnnnnnnnnnnnn" fields and create a new extract. It's a long time since I hit the issue, though, so I can't remember if there are other twists here, maybe someone else who has dealt with it more recently has some ideas.

            • 4. Re: Extract field corrupted

              Refreshing the extract worked for me on 10.0.1. 

              • 5. Re: Extract field corrupted
                John Taylor

                This is such a shitty bug. Glad not many people run into it. Maybe it's mac only. Sometimes I can get it to fix itself by removing the extract file on my computer, changing to a live connection, and then back to an extract, but sometimes not. I can't simply redo the connection either when I have 20+ calculated fields.