8 Replies Latest reply: Dec 10, 2016 4:00 PM by Cheenu Janakiram RSS

    Separating answers from multiple choice questions from a survey.

    Edvin Stigland

      Hello!

       

      To start off I'm new to Qlik.

       

      I have conducted a google survey and one of the questions are multiple choice. Qlik doesn't recognize the answers as several answers but instead gives me a count of how many occurances each combination of answers gets. I have attached the survey answers in an excel-format.

       

      The answers I want to separate is in the L- and M-columns. I'm guessing I want to do this in load, but how do I do it?

       

      Thanks in advance!

        • Re: Separating answers from multiple choice questions from a survey.
          Cheenu Janakiram

          Try to load column L or M in the script such as e.g Subfield([Column L], ',') as Blah.

           

          Subfield is a very useful function, it takes 3 parameters: fieldname, separator, portion of string you want. However, if "portion of string you want" is omitted, then it will generate one row for each value.

           

          E.g. paste this into a new qlikview file/script:

          sampledata01:

          LOAD * inline [

            sampledata

            Hello;world;Qlik;Rules

          ];

          sampledata02:

          LOAD

            Subfield(sampledata, ';') as Test

          RESIDENT sampledata01;

          //end script here

           

          Look at table "sampledata02", it will have 4 rows. However, if you responses themselves contain comma(s), then you might have an issue. The record separator must be a unique way of identifying each record within the cell. Use a foreign key to link your users info table and this response table.

           

          Hope this helps.

            • Re: Separating answers from multiple choice questions from a survey.
              Edvin Stigland

              Thank you for the answer! However, I don't quite know where to put this code. I'm just starting to get familiar with the Data Load Editor.

               

              I have attached a snippet of what the load code looks like right now. The two highlighted rows are the questions from which I want to load the answers separately. Where do I put the code to make that happen? Do I still load it with the others and THEN load it as a subfield? Or do I load it separately?

                • Re: Separating answers from multiple choice questions from a survey.
                  Edvin Stigland

                  So I tried the solution and it solved the problem partly. It does separate the answers, however, it also produces entire new setups of answers for each separated answer. For example, in total there are 123 participants, after loading the subfields together with the others the total number of entries are about 3500, which makes users who answered with more answers over-represented in the results.

                    • Re: Separating answers from multiple choice questions from a survey.
                      Cheenu Janakiram

                      Hi Edvin,

                       

                      I had a look at the XLSX and unfortunately, this is a question of the format of your XLSX. This is a data modelling question, so it is pointless (too long) for me to explain everything. I would suggest you check online courses or do the DEV course with Qlik or one of their partners (if you're Stockholm based, there are a number of consulting companies that might also do training regularly).

                       

                      I attach below the script I think should solve your issue, as well as a QVW with a few front-end objects. Unfortunately, I don't have enough time to be able to help/explain everything thoroughly. I hope it helps.

                       

                      Hejdå

                       

                      (just repoint the below script "FROM" statements to the folder that holds your Excel spreadsheet):

                       

                      SET ThousandSep=',';

                      SET DecimalSep='.';

                      SET MoneyThousandSep=',';

                      SET MoneyDecimalSep='.';

                      SET MoneyFormat='£#,##0.00;-£#,##0.00';

                      SET TimeFormat='hh:mm:ss';

                      SET DateFormat='DD/MM/YYYY';

                      SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';

                      SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

                      SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';

                       

                       

                       

                       

                      [Formulärsvar 1]:

                      LOAD

                      AutoNumber([Tidstämpel] &

                      [Hur gammal är du?] &

                      [Hur många gånger har du varit på GG Bars Nördquiz?] &

                      [Hur svår tycker du att quizen är i dagsläget?] &

                      [Hur nöjd är du med de frågor som inte är temafrågor?] &

                      [Hur nöjd är du med de frågor som är temafrågor?] &

                      [Hur nöjd är du med Quizmastern?] &

                      [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?] &

                      [Hur nöjd är du med den övriga personalens bemötande under quizen?] &

                      [Hur bedömer du att stämningen är under Nördquizen?] &

                      [På en skala 1-5, vad skulle du ge Nördquizen för betyg?], 99) as %FK,

                       

                       

                        Tidstämpel,

                           [Hur gammal är du?],

                           [Hur många gånger har du varit på GG Bars Nördquiz?],

                      //     [Vad för typer av teman har du gillat bäst på Nördquizen?],

                           [Vilken av följande temastrukturer föredrar du?],

                           [Hur svår tycker du att quizen är i dagsläget?],

                           [Finns det något du vill tillägga om svårighetsgraden?],

                           [Hur nöjd är du med de frågor som inte är temafrågor?],

                           [Finns det något du vill tillägga om de vanliga frågorna?],

                           [Hur nöjd är du med de frågor som är temafrågor?],

                           [Finns det något du vill tillägga om de temafrågorna?],

                      //     [Vilka av våra teman har du tyckt mest om?],

                      //     [Vilka av våra teman har du tyckt minst om?],

                           [Hur nöjd är du med Quizmastern?],

                           [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?],

                           [Finns det något du vill tillägga om Quizmastern?],

                           [Hur nöjd är du med den övriga personalens bemötande under quizen?],

                           [Finns det något du vill tillägga om bemötandet?],

                           [Hur bedömer du att stämningen är under Nördquizen?],

                           [Finns det något du vill tillägga om stämningen?],

                           [På en skala 1-5, vad skulle du ge Nördquizen för betyg?],

                           [Finns det något annat du vill tillägga?],

                           [Hade du velat se quiz som innehåller endast temafrågor?],

                           [Vilket alternativ representerar bäst hur många temafrågor du vill ha per quiz?],

                           1 as [räkna]

                      FROM

                      [C:\Users\cheenu.janakiram\Desktop\GG Bar Quizenkät (Svar).xlsx]

                      (ooxml, embedded labels, table is [Formulärsvar 1]);

                       

                       

                       

                       

                      VAD:

                      LOAD

                      AutoNumber([Tidstämpel] &

                      [Hur gammal är du?] &

                      [Hur många gånger har du varit på GG Bars Nördquiz?] &

                      [Hur svår tycker du att quizen är i dagsläget?] &

                      [Hur nöjd är du med de frågor som inte är temafrågor?] &

                      [Hur nöjd är du med de frågor som är temafrågor?] &

                      [Hur nöjd är du med Quizmastern?] &

                      [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?] &

                      [Hur nöjd är du med den övriga personalens bemötande under quizen?] &

                      [Hur bedömer du att stämningen är under Nördquizen?] &

                      [På en skala 1-5, vad skulle du ge Nördquizen för betyg?], 99) as %FK,

                      SubField([Vad för typer av teman har du gillat bäst på Nördquizen?], '(', SubStringCount([Vad för typer av teman har du gillat bäst på Nördquizen?], '(')) as [Vad för typer av teman har du gillat bäst på Nördquizen? - VAD]

                      FROM

                      [C:\Users\cheenu.janakiram\Desktop\GG Bar Quizenkät (Svar).xlsx]

                      (ooxml, embedded labels, table is [Formulärsvar 1]);

                       

                       

                       

                       

                      SOM:

                      LOAD

                      AutoNumber([Tidstämpel] &

                      [Hur gammal är du?] &

                      [Hur många gånger har du varit på GG Bars Nördquiz?] &

                      [Hur svår tycker du att quizen är i dagsläget?] &

                      [Hur nöjd är du med de frågor som inte är temafrågor?] &

                      [Hur nöjd är du med de frågor som är temafrågor?] &

                      [Hur nöjd är du med Quizmastern?] &

                      [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?] &

                      [Hur nöjd är du med den övriga personalens bemötande under quizen?] &

                      [Hur bedömer du att stämningen är under Nördquizen?] &

                      [På en skala 1-5, vad skulle du ge Nördquizen för betyg?], 99) as %FK,

                       

                       

                      SubField(SubField([Vad för typer av teman har du gillat bäst på Nördquizen?], '(', SubStringCount([Vad för typer av teman har du gillat bäst på Nördquizen?], '(')+1), ',') as [Vad för typer av teman har du gillat bäst på Nördquizen? - SOM]

                      FROM

                      [C:\Users\cheenu.janakiram\Desktop\GG Bar Quizenkät (Svar).xlsx]

                      (ooxml, embedded labels, table is [Formulärsvar 1]);

                       

                       

                       

                       

                      MEST:

                      LOAD

                      AutoNumber([Tidstämpel] &

                      [Hur gammal är du?] &

                      [Hur många gånger har du varit på GG Bars Nördquiz?] &

                      [Hur svår tycker du att quizen är i dagsläget?] &

                      [Hur nöjd är du med de frågor som inte är temafrågor?] &

                      [Hur nöjd är du med de frågor som är temafrågor?] &

                      [Hur nöjd är du med Quizmastern?] &

                      [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?] &

                      [Hur nöjd är du med den övriga personalens bemötande under quizen?] &

                      [Hur bedömer du att stämningen är under Nördquizen?] &

                      [På en skala 1-5, vad skulle du ge Nördquizen för betyg?], 99) as %FK,

                      SubField([Vilka av våra teman har du tyckt mest om?], ', ') as [Vilka av våra teman har du tyckt mest om?]

                      FROM

                      [C:\Users\cheenu.janakiram\Desktop\GG Bar Quizenkät (Svar).xlsx]

                      (ooxml, embedded labels, table is [Formulärsvar 1]);

                       

                       

                       

                       

                      MIN:

                      LOAD

                      AutoNumber([Tidstämpel] &

                      [Hur gammal är du?] &

                      [Hur många gånger har du varit på GG Bars Nördquiz?] &

                      [Hur svår tycker du att quizen är i dagsläget?] &

                      [Hur nöjd är du med de frågor som inte är temafrågor?] &

                      [Hur nöjd är du med de frågor som är temafrågor?] &

                      [Hur nöjd är du med Quizmastern?] &

                      [Hur rättvis tycker du att Quizmastern är i sina bedömningar vid eventuella tvister?] &

                      [Hur nöjd är du med den övriga personalens bemötande under quizen?] &

                      [Hur bedömer du att stämningen är under Nördquizen?] &

                      [På en skala 1-5, vad skulle du ge Nördquizen för betyg?], 99) as %FK,

                      SubField([Vilka av våra teman har du tyckt minst om?], ',') as [Vilka av våra teman har du tyckt minst om?]

                      FROM

                      [C:\Users\cheenu.janakiram\Desktop\GG Bar Quizenkät (Svar).xlsx]

                      (ooxml, embedded labels, table is [Formulärsvar 1]);

                        • Re: Separating answers from multiple choice questions from a survey.
                          Cheenu Janakiram

                          Attached file with sample front end objects

                            • Re: Separating answers from multiple choice questions from a survey.
                              Edvin Stigland

                              It works just fine! Thanks a lot for your help, the code you wrote is sufficent for helping me fulfill the purpose of the survey. I'll be sure to look up courses in data modelling.

                                • Re: Separating answers from multiple choice questions from a survey.
                                  Cheenu Janakiram

                                  Hi Edvin,

                                   

                                  The fastest "crash course" I can give you on Qlik data modelling is in the attached Word document. I created it a few years ago as offline training for colleagues. I hope you find it useful. It might be 'off topic' in a few sections, but you might want to read the "How QlikView builds its data model & how to link tables in QlikView" on page 5 and onward.

                                   

                                  The 'ideal' data model is known as 'star' whereby the center of your data model is a 'Fact' table that contains the core data on which you want to run all formulae/calculations. This is your "Formulärsvar 1" table. All other tables are DIM (dimensional) tables that are satellites and contain data that enriches your 'Fact' table. Since your Excel values in question needed to be "blown out" (one row made into many), I decided to keep the "Formulärsvar 1" as is and put the 'multiple' lines in the satellite (DIM) tables.

                                   

                                  If you are an Excel expert, the Qlik data model works like a "vlookup" across the Qlik tables. The field content contained in the "vlookup" need to be the same across the tables and then Qlik can 'resolve' the query across the tables, e.g. if you click on one value in one of the tables' column, it will find the corresponding 'vlookup' value(s) in other tables.

                                   

                                  This is the best I can do in such short time to get you on track to building a Qlik data model. I hope the attached Word doc helps you out a little further and gets you going on the current project you are working on.

                                   

                                  Ha det så bra,

                                   

                                  Cheenu