I'm also very interested in that!
First of all, there is a rarely a singular "best" data structure for Tableau due to factors such as data volumes, what ability you have to transform your data, what kinds of analyses you want to do, and what kind of interactivity you want in your Tableau dashboard. And without understanding your data as it exists, we can't give you more guidance.
Secondly, the best series on how to structure your data for survey analysis is by Steve Wexler, read through the posts at http://www.datarevelations.com/category/visualizing-survey-data-and-likert-scales.
Thirdly, avoid using Custom SQL whenever possible for performance concerns (especially if you're trying to use a live connection instead of extracts). It's fantastic for getting you going, but for production either try to set up a view in SQL Server and/or make your tables such that you can use multiple tables in your Tableau data connection. See Designing Efficient Workbooks | Tableau Software for a ton more performance tips.
Fourthly, you wrote "combining fields". That can mean many things to many people, are you trying to combine data sets, combine different records in a single data set together, or combine columns together? Depending on what you're wanting there are different techniques, reading through Steve's posts can give you more understanding of what kinds of structures work well for data and help you build your terminology.
In my work with survey data (primarily HCAHPS and CGCAHPS patient experience surveys, with a little SurveyMonkey thrown in) I do the pre-processing much as Steve described, and I have some dimension tables to supply additional information. For example, our survey vendor returns the questions with "Q12345, Q12346, Q12347" as the column headers, I'm able to join on the dimension table to get the actual question text associated with each question as well as create the higher-level survey question groups.
Great points all around! Thank you, Jonathan, and everyone for your replies and views. The survey I am working with has about 4,000 respondents, with around a hundred questions. This data set, as first downloaded from SurveyMonkey, is a very wide set, which I would like to be able to cut across multiple dimensions, i.e. Gender, Age Range, Asset Range, Industry, etc. The Tableau dashboard will be fairly interactive, as my firm utilizes an online platform that allows users to filter and set parameters according to their need; providing a multitude of custom outcome permutations.
Steve Wexler has done a phenomenal job illustrating survey data, and I will continue to explore his posts.
In terms of "combining fields", I would like to combine columns together. For example, I have a question that asks: "What designations or licenses do you hold?". The SurveyMonkey results present this as about 10 columns, each with headers of "MBA", "CPA", "JD", "FINRA Series 7", etc. Where a respondent checked off a respective license, the cell is populated with the corresponding designation/license. Ultimately, I would like to "combine" these 10 columns into one reshaped column and/or Tableau dimension called, for instance, "designations". This is easily achieved using Excel and the Reshape Tool, however, such a configuration is beyond my Custom SQL knowledge.
Thank you again for your comments, and time responding. I look forward to future posts!
Do you mind sharing how you tackled this? I'm working with Survey Monkey extracts as well and I'm not sure how to handle how they've created columns for each answer of each question.
For some question types, I know I can do a CONCAT in excel, but wasn't sure if that's the best way.
Thanks for your help!