Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

DAX for Average Calculation

Hello all,

 

I have a dashboard to measure the % of people working in office compared to working from home.

But for the life of me, I am unable to make a DAX that shows the average % of time spent in the office. Is anyone able to show me how this could be done?

 

Here's what I'm using at the moment:

 

Table: "Register"

Agent Name

WeekdayDate DD/MMMMAM/PMStatus
JohnMonday03 OctoberAMIO
JohnMonday03 OctoberPMWFH

 

Status:

IO - In Office

WFH - Working from Home

OOO - Out of Office

 

Current DAX to work out % "In Office"

In_Office_Percentage =
Var All_Working_Days = CALCULATE(Count('Register'[Date]), 'Register'[Status] <> "OOO", 'Register'[Status] <> BLANK())
Var In_Office = CALCULATE(Count('Register'[Date]), 'Register'[Status] = "IO")
RETURN
DIVIDE(In_Office, All_Working_Days)
  • Hi Anonymous ,

    According to your description, if you want to show the percentage of people who are in office each day, here's my solution.

    Sample:

    Create a measure:

    Measure =
    VAR _IO =
        CALCULATE ( DISTINCTCOUNT ( Register[Agent Name] ), 'Register'[Status] = "IO" )
    VAR _Total =
        DISTINCTCOUNT ( Register[Agent Name] )
    RETURN
        DIVIDE ( _IO, _Total )
    

    Get the result:

     

    I attach my sample below for your reference.

     

    Best Regards,
    Community Support Team _ kalyj

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • Shaurya's avatar
    Shaurya
    Memorable Member

    Hi Anonymous,

     

    The formula posted by you seems to work for me.

     

    In Office Percentage = 
    Var All_Working_Days = CALCULATE(COUNT('Register'[Date]),('Register'[Status] <> "OOO" || 'Register'[Status] <> BLANK()))
    Var In_Office = CALCULATE(COUNT('Register'[Date]),('Register'[Status] = "IO"))
    RETURN
    DIVIDE(In_Office, All_Working_Days)

     

     

    The person was in office 50% of the time. That makes sense to me. Is there a chance that you want to calculate the percentage considering some other condition as well? If yes, some sample data would be of great help.

     

    Did I answer your question? Mark this post as a solution if I did!
    Consider taking a look at my blog: Forecast Period - Graphical Comparison 

  • Hi Anonymous ,

    According to your description, if you want to show the percentage of people who are in office each day, here's my solution.

    Sample:

    Create a measure:

    Measure =
    VAR _IO =
        CALCULATE ( DISTINCTCOUNT ( Register[Agent Name] ), 'Register'[Status] = "IO" )
    VAR _Total =
        DISTINCTCOUNT ( Register[Agent Name] )
    RETURN
        DIVIDE ( _IO, _Total )
    

    Get the result:

     

    I attach my sample below for your reference.

     

    Best Regards,
    Community Support Team _ kalyj

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.