Write a comment...
0/9000

Hello!
I am visualizing survey data and have a question for the group. I have a dataset where each row = 1 survey submission, and each submission has been given a weight. How can I apply this weight in Tableau? (I do not need to calculate a weighted average--the weight has already been provided.) My colleague can easily apply this in SPSS, but I'm not finding a way to do this in Tableau and am not as statistics savvy. My issue is the same as this person's but I haven't yet found a solution in the forums when people ask about this: https://community.tableau.com/s/question/0D54T00000C5wTESAZ/using-weighted-data-for-all-analysis-by-a-predefined-weight-column

Hi @Russ Cantrell , thanks so much for the response. I managed to find what I needed in this article (Steve Wexler, of course!) For anyone trying to use a predetermined weight field in Tableau I highly recommend checking this resource out. Because my data is pivoted I ended up using:
SUM({ FIXED [ID] : MIN([Weight])})
Hi everyone,
I'm currently super early into the learning curve of Tableau (a couple days). I know fairly well how to prep the survey data for Tableau by now (doing it Steve Wexler style) and am now moving into the area of doing actual analysis.
What I'm unable to find a tutorial or solution for, is how to create a segment based on multiple answers in the survey. In SPSS I used to create variables for responses that match rules like:
Has answered Q_1 with option "2" AND Q_4 with option "3"
Then I had a group of respondents that all matched this answer pattern and could use them elsewhere.
How can I get to this in Tableau? Do I have to create a calculated field? How would the syntax look for this?
I tried getting there with filters, but it seems not to be the way.
Feeling a little frustrated, because I think this is such an obvious thing to do but in no tutorial I watched it was done and I'm also having a hard time googling my way to success with this one.
Any help is highly appreciated!
This calculation will return TRUE for a [Response ID] with the listed question values. Since there are only two possible values, use MAX for TRUE and MIN for FALSE
{ FIXED [Response ID]:
Max([Question ID]='Q2_1' AND [Answer Values]=4)=TRUE
AND
MAX([Question ID]='Q4_5' AND [Answer Values]=3)=TRUE
}
Here is another example of finding respondents with specific answers. This one is for respondents who have given more than 3 movies the worst rating (technically, leaving [Question Grouping] out of the FIXED statement will return the same users, but with it the TRUE is limited to only the 'Movie' grouping. The other groupings for that user will return FALSE)
{ FIXED [Response ID],[Question Grouping]:
COUNT(IF [Question Grouping]='Movie' AND [Answer Labels]='Gefällt mir gar nicht'
THEN [Question ID]
END)>3
}
hi all,
Completely new to survey + Tableau.
Data from engineers is not ready yet, but only saw a quick preview.
The "value" filed in data source is a string that contains 0 to 5, yes/No and text answers (less often, never, once a year...)
Is it best practice to separate and have a Value field that is a number and only contains numbers and a separate text field for text answers?
Hi Frederic,
We usually receive all the values in a single text-format field (say it's called [Value]), then create a calculated field in Tableau (say, [Value (numeric)] that converts convertible numbers into numbers with the desired function like INT() or FLOAT(). It's not necessary to re-engineer the original data, in other words.
N
I am a total Tableau newbie and am trying to convert some simple stacked bar charts being done in Excel to Tableau. In this specific case, I'm working Likert Survey data asking about Favorability. In the bar chart I want to display Very Favorable with Somewhat Favorable, then Neutral, then Somewhat Unfavorable with Very Unfavorable. I've set up calculated fields for Overall Favorable and Overall Unfavorable, but no matter what I do Tableau always displays the break out for each of the response type. I'm sure this something simple, but cannot seem to figure it out. The raw survey responses are text (Very Unfav, Somewhat Unfav, etc.) not numerical. Any assistance would be greatly appreciated
This is what I'm getting.
This is the end product I'm trying to get to.
The best resources by far for working with survey responses with Tableau are found at Steve Wexler’s blog http://www.datarevelations.com — and in his books like The Big Picture
I'm sorry, this is a hopeless newbie question but I f*&ked around with this for two hours and can't figure it out. I've got 5 Likert like questions with a 0-4 response to each and I'd like to display them as side-by-side stacked bar charts with the % answered in each of the categories ... I've seen these all over the place but I can't figure out how to do it. I can create the bars, set measure to count, apply a Table calculation as % of total. However, every question I add stacks the bars on top of each other rather than side-by-side. I know it's something simple to fix, but I can't find it anywhere on the interwebs after (as I said before) two hours of trying.
I've attached a picture of what I've got and can't figure out how to get them to align side-by-side. Also, I've played with making the responses a Dimension (instead of a Measure) but when I set it to Count, it automatically turns into a Dimension.
Any help would be appreciated.

You're right about the Excel add-in -- it's only for Windows. I don't use R but apparently reshaping can be done - I found a reference to this: R Integration | Tableau Software
I no longer even have Tableau 8 or the Excel add-in, since I'm fully Mac and using 9 these days.
I reshaped your data for you using Alteryx. All questions except for F1 and Inspire (which was open text) have been reshaped into two new fields - Question and Response.
You can put Question in the filter area and select the items you wish to be charted on the same graph -- in your example you'd pick all the Likert scale items.
I'd show you but you can't open a workbook from me, and I can't save down to v8. Hopefully this would be helpful though -- at least you'll see what you're going for.
Let me know how it goes!
Susan
Hi All,
I'm trying to build a Gantt bar chart to visualize some Likert scale survey data (following Steve Wexler's "Likert Scales - The Final Word?" post) and am running into an issue with some of the calculations.
In building the recommended crosstab (1st picture below), I noticed that the second column field, Count Negative, is not calculating correctly - it's over-counting each response because my data is in a tall format (multiple rows per respondent).
For example, in the first pane (2nd picture), my Count Negative should be 16 and 21 but it's calculating 64 and 84. This is based on CNTD(RespID); if I do CNT(RespID) then Count Negative matches. So, I need to find a way to tell Tableau to do a sort of CNTD(Count Negative), but I'm not sure how, because if I literally do that, I get all 1s. I'm thinking I need to write a function that combines MIN and IF like "IF MIN([RespID]) AND [Number Response] >=3 THEN 1 ELSE 0 END", but this results in errors...I'm pretty new at Tableau's functions, so I was hoping someone with much more function experience could make a suggestion?
How calculations should be running (from Steve's example)
How my calculations are incorrectly running (my data)
Thanks for your time,
Katie
Update: Turns out I did my joins incorrectly. I first learned about reshaping survey data with the Tableau Pivot add-on to Excel through Steve Wexler's 2014 Tableau Conference presentation, then ultimately followed his updated instructions for reshaping within Tableau 10; however, I had the 2014 instructions in mind and unwittingly mixed the two methodologies, which resulted in a duplication of my demographic information, which is why the Count Negative field ended up multiplying everything by 4.
Solution: Only join 3 extracts (Value data, Label data, and Question Helper); a 4th Demographic extract is redundant and causes multiplicity issues.
Hello
I'm fairly new to Tableau and have read everything I can find on this subject in the Community, but nothing has yet answered my specific question. I'm working my way through the video tutorials, but am achieving lots through trial and error!
Some background
I am currently creating a workbook that will help explore, analyse and present data from a survey done using Surveymonkey (about 40 questions, around 20,000 responses so far). The survey is still running, so I'm using the Web Data Connector to periodically import all the survey data and I'm trying to avoid manually exporting response data from Surveymonkey.
My question / plea for help
One of the key questions in the survey asks the respondent to score their satisfaction from 1 to 10 using a Matrix / Rating scale question:
Surveymonkey presents the data using a weighted average:
I'd like to replicate the above view as closely as possible in Tableau, with the ability to filter on answers to some other questions we've asked.
The response data is presented in a single column in the data source:
I'm managing to do lots of other interesting and useful visualisations with this data, but the weighted average has rather got the better of me. I understand the method of calculating the weighted average, and can do it in Excel, but I can't replicate it in Tableau.
I would be very grateful for any helpful suggestions.
Other info
I'm using Tableau Desktop 10.5.5 on a Mac, but can't upload a workbook for data protection / data security reasons.
Hi James,
I'm going to make two assumptions:
1) The data Tableau is computing over has one record per respondent for Q37. You can get this from the raw data downloaded from SurveyMonkey or pivoted data in Tableau that is then filtered for Q37.
2) You have a column that is either Q37 or an "answer value" (I'll call it answer value for now) that is numeric with the values from 1-10. If the survey data is using 99 or -99 or whatever for values for Skipped then you'll need to make sure those are filtered out as well. So the data that Tableau is computing over is really "one record per usable response".
In that case then AVG([answer value]) will get you the 8.39 weighted average. FYI Steve Wexler uses this exact contstruction in the section on Likert scales https://www.datarevelations.com/using-tableau-to-visualize-survey-data-part-2.html but doesn't explicitly say *why* that's used as the measure. The reason why is that Tableau isn't doing the average of numbers from 1-10, but instead the average across all of the records that have values from 1-10 so it's appropriately weighting for the 17K usable responses.
Jonathan

Hi community,
I am working on a survey data with a slightly different structure as compared to normal surveys. I want to filter one single select question by two multi-select questions i.e. 3 comparisons in total. Currently each of the options of the multi-select questions are in different columns. See screenshot below:
I tried pivoting all the multi-select questions and used it in the calculation but was not getting accurate results. Could anyone suggest any other alternative on how to approach this without pivoting the multi-select questions?
Attaching a sample workbook with the original structure.
Thanks,
Vipin

Hi Stephen,
Thank you so much for your response.
I am able to get what you are saying, it will be difficult to build visualization from this structure. Also, I agree, unpivoting the data is the best option. As I have already mentioned, unpivoting all the multi-select questions is not giving accurate results. But I was able to find a solution, i.e. unpivoting each multiselect questions individually, by this I have one single field for each of the question. After that, I created 3 parameters to make the comparisons, and all results were accurate, so finally solved it. Also very easy now to make charts as well.
I really appreciate your response
I have Tableau reports where I was able to implement significance testing on percentages using resources from Steve Wexler and a few others but I don't see a lot of resources on how this can be done on means. Basically, I show a month-to-month comparison of the average satisfaction (0 to 10 scale) and I want to show if there is a significant difference from the previous month. Can anyone show me how this can be implemented?

Hi @Roderick Arcega ! I've been looking for the same thing - reflecting MOE for a mean -- and I got it figured out.
My statistician nephew Roy McKenzie provided the calculation needed:
mean (+/-) [1.96 x (the sample standard deviation) / square root (number of respondents)]
I got it built and working in Tableau. Many thanks to @Steve Wexler (Member) for teaching me how to build my survey visualizations properly and providing the solution for CATA items. I'm happy to contribute by figuring out how to do this with means (for rating questions etc.).
I've attached a workbook. You'll see a viz of average ratings (you can change the view using the pulldown to see the average rating of all respondents or to view them by defined segment).
The Details sheet shows you the fields needed for the calculation. In the MEAN MOE chart, you can see the final result in the Tooltips.
My data isn't a time series, so I'm sure you'll need to modify some things for your particular situation -- and maybe Steve's post will provide some guidance there -- but I hope this helps! Let me know if you have any questions!