Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I have two tables containing survey data Table 1) with columns for each survey question (e.g. [Q1], [Q2], [Q3], etc. (values are the scores 1-10 for the responses to the question) and Table 2) with the Keys the definition of the question with columns [ColumnName] (values Q1, Q2, Q3,) and [Definition] (values: 'How did you like our service?', 'Would you purchase again?', 'Would you recommend our products?' etc). I'm looking for a way to join the tables so that clicking on a Table 2 [Definition] value brings up the results in the associated Q column for that question from Table 1.
Maybe just transform your Table 1 using CROSSTABLE LOAD:
CROSSTABLE( Question, Response,1 )
LOAD
Recno() as ID,
*
FROM YourQuestionTable;
assuming YourQuestionTable contains only the Q1, Q2, Q3 etc fields. If not, you need to adapt the Number of qualifiying fields in CROSSTABLE (..., N) and / or list the questions explicitely. Have a look at
Maybe I'm not applying this correctly, but I'm not getting the Question Code values (Q1, Q2, Q3, etc) to line up with the actual questions. I'm trying to make the Q1, Q2, Q3 become the column headers with the Survey Questions under each column
CrossTable([Question Code],[Question])
Load [Column Name],[Survey Question]
Resident KeyTable;
the table looks like this:
Column Name | Survey Question |
QN1 | All things considered, how satisfied are you? |
QN2 | How likely are you to continue to do business with us? |
QN3 | If asked, how likely would you be to recommend us? |
If you have loaded the questions / responses like shown above, you don't need a crosstable load for the second table, just link the fields:
Load [Column Name] as Question, [Survey Question]
Resident KeyTable;
If this is not working, could you post some sample data for your two tables (could be just sample / mock up data)?
Sorry if I'm not explaining this very well. What I'm trying to do is match up this key table with the response table which has the Q1, Q2, Q3 as the column headers with the responses to each question in the column fields (a record of each response). In the presentation I'd like to have a table or chart (Table A) that shows the questions and responses and a separate table (Table B) the shows the corresponding questions. When a Question(s) is/are selected, the corresponding actual question would show up in the separate table. I don't want QV to concatenate the questions to the responses.
It's easier to understand with some sample data / tables to look at:
CROSSTABLE( Question, Response,1 )
LOAD
Recno() as ID,
*
INLINE [
QN1, QN2, QN3
1,2,3
2,3,4
];
LOAD [Column Name] as Question, [Survey Question] INLINE [
Column Name, Survey Question
QN1, All things considered, how satisfied are you?
QN2, How likely are you to continue to do business with us?
QN3, If asked, how likely would you be to recommend us?
];
Now create a chart with dimension [Survey Question] and as expression for example
=Avg(Response)
Here are the tables with sample data. Due to the large number of records in the DataTable, creating an Inline table manually would be a laborious process. Is there a way to automate that?
Sure, the INLINE table source I've used is just for demonstration. Just replace the INLINE with a FROM, e.g. for the KeyTable:
LOAD [Column Name] as Question, [Survey Question]
FROM YourKeyTable;
You just need to adapt the YourKeyTable table name and the field names to your table source data.
Here's what I'm trying and here's what I'm getting.
CrossTable(Question,Response,1)
Load
Recno() as ID,
Code as [Question],
Question as [Survey Question],
*
Resident KeyTable;
Please have a look at my above sample.
You should apply the CROSSTABLE LOAD only on the data table, not the key table. Also please note that I am assuming your data table shows only Question columns with responses, no other columns.