Forum Discussion

donbonbon's avatar
donbonbon
Frequent Visitor
8 years ago
Solved

Add IF not zero to calculated measure (while dividing)

Hi,

 

how could I add a filter so that sum of cost is not 0 to this calculated measure?

 

Rev per click = sum(GA[Cost])/sum(GA[Clicks])

 

I want it to make calculations only if s sum of cost is more than 0.

 

Thnx!

  • Anonymous's avatar
    Anonymous
    8 years ago

    That is because you are having a scenario where the sum of GA[Clicks] is zero and the measure is attempting to divide by 0.

     

    How you want to handle this depends on your report.

    Usually you want to have your data setup so that you do not get div by zero.

     

    Rev per click =
    VAR CostSum =
        SUM ( GA[Cost] )
    VAR ClickSum =
        SUM ( GA[Clicks] )
    RETURN
        IF (
            ClickSum = 0
                || ISBLANK ( ClickSum ),
            ERROR ( "Div by 0" ),
            IF ( CostSum > 0, CostSum / ClickSum, BLANK () )
        )

    However if div by zero is a normal case then you can use the divide function to replace the errors by blanks

     

    Rev per click =
    VAR CostSum =
    SUM ( GA[Cost] )
    RETURN
    IF ( CostSum > 0, DIVIDE ( CostSum, SUM ( GA[Clicks] ), BLANK () ), BLANK () )

     

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

     

    If all you want is to not see values less than 0 then this will do what you want

     

    Rev per click =
    VAR CostSum =
        SUM ( GA[Cost] )
    RETURN
        IF ( CostSum > 0, SUM ( CostSum ) / SUM ( GA[Clicks] ), BLANK () )

     

    • donbonbon's avatar
      donbonbon
      Frequent Visitor

      Thnx, I did as you told me, but it doesnt work anyway, shows to me the same error 

      • Anonymous's avatar
        Anonymous
        Not applicable

        That is because you are having a scenario where the sum of GA[Clicks] is zero and the measure is attempting to divide by 0.

         

        How you want to handle this depends on your report.

        Usually you want to have your data setup so that you do not get div by zero.

         

        Rev per click =
        VAR CostSum =
            SUM ( GA[Cost] )
        VAR ClickSum =
            SUM ( GA[Clicks] )
        RETURN
            IF (
                ClickSum = 0
                    || ISBLANK ( ClickSum ),
                ERROR ( "Div by 0" ),
                IF ( CostSum > 0, CostSum / ClickSum, BLANK () )
            )

        However if div by zero is a normal case then you can use the divide function to replace the errors by blanks

         

        Rev per click =
        VAR CostSum =
        SUM ( GA[Cost] )
        RETURN
        IF ( CostSum > 0, DIVIDE ( CostSum, SUM ( GA[Clicks] ), BLANK () ), BLANK () )