6 Replies Latest reply: Aug 11, 2015 11:03 PM by jagan mohan rao appala RSS

    Conditional sum in Qliksense

      Hello,

       

      I am trying to do a conditional sum in Qliksense.

      I have used the below two methods but none of them work.

      1) First way:

      if ((current_grade ='A','A-','B','B+','B-','C','C+','C-','D','D+','F'),

        SUM([Grade Value] * (credit_hours)) / Sum(credit_hours))

       

      2) Second way:

      Sum(

        if (current_grade ='A','A-','B','B+','B-','C','C+','C-','D','D+','F'),

        SUM([Grade Value] * (credit_hours)) / Sum(credit_hours)

          )

       

      What I basically need is that only the grades that I have selected above be used in calculation of GPA.

      Let me know if anyone have come across this problem.

       

      BR,

      Vipin Saroha

        • Re: Conditional sum in Qliksense
          Sinan Ozdemir

          Hi VIPIN,

           

          You can try to use set analysis, like the below:

           

          SUM({<current_grade = {'A','A-','B','B+','B-','C','C+','C-','D','D+','F'}>}[Grade Value] * (credit_hours))

               / Sum({<current_grade = {'A','A-','B','B+','B-','C','C+','C-','D','D+','F'}>}credit_hours)

           

          Hope this helps.

            • Re: Conditional sum in Qliksense

              Hello Sinan,

               

              Thank you for this, the set analysis works fine.

              The problem arises when there is only one selection available, at that time it does not show updated info.

              See the image attached, in this selection the GPA Gauge should show 4, but it gets stuck with the last value.

              Let me know if you can help.

              GPA calc.PNG

            • Re: Conditional sum in Qliksense
              Robert Mika

              In this solution:

              if ((current_grade ='A','A-','B','B+','B-','C','C+','C-','D','D+','F'),

                SUM([Grade Value] * (credit_hours)) / Sum(credit_hours))

               

              you will need OR after each value

               

              if ((current_grade ='A',OR current_grade='A-', OR...,

                SUM([Grade Value] * (credit_hours)) / Sum(credit_hours))

              Sinan solution is the way to go as IF will increase the calculation time but you can use IF in this form

              IF(MATCH(current_grade,'A','A-','B','B+','B-','C','C+','C-','D','D+','F'),(SUM([Grade Value] * credit_hours)) / Sum(credit_hours))