Forum Discussion

elza_ts's avatar
elza_ts
Copper Contributor
Feb 28, 2019
Solved

Weighted average in Azure Log Analytics

Hi everybody,
I'm new in Azure Log Analytics /KQL/
Language that AppInsights uses

How can i calculate weighted average?

 

Thank you

  • elza_ts's avatar
    elza_ts
    Mar 01, 2019
    this is super weird. i had done the same thing with 'by Week' stuff before I replied to you.
    and It didn't work. there was some mistake with 'By'.

    and now it works! ha-ha
    Thank you, Clive! You helped me a lot!

7 Replies


  • // = (20 + 40 + 40 + 90 + 90 + 90) / 1 + 2 + 3
    let t = datatable (Value:int, Weight:int)
    [
    20,1,
    40,2,
    90,3
    ];
    t
    | extend sumvalue = (Value * Weight)
    | summarize weighted_avg = (sum(sumvalue) / sum(Weight) )
     
    // = 61
    • elza_ts's avatar
      elza_ts
      Copper Contributor
      Hi Clive,
      Thank you so much for your response. It is very helpful!

      I also have column with weeks in my table, how can i calculate weighted_avg within each week?
      In excel i usually do it using IF clause logic:
      SUMPRODUCT(--(weeks!$C:$C=$A6),weight!$I:$I,value!$G:$G)/SUMIF(weeks!$C:$C,$A6,weight!$I:$I)

      Can do it somehow like this in AppInsights?
      • CliveWatson's avatar
        CliveWatson
        Former Employee

        Hello,

         

        Its always easier if you can provide the actual data or an example, what format is the "weeks" column in, is it a timestamp, a week number etc.... 

         

        Would my datatable look like this?  

         

        let t = datatable (Value:int, Weight:int, Week:string)
        [
        20,1,"Week1",
        40,2,"Week2",
        90,3,"Week3",
        ];
         
        I assume you want to see a line that says:
         
        Project <weighted avg>, <week name or number>
         
         

Resources