Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
KarlConstruct
Frequent Visitor

Calculating Average Time based on a Status

Hello,

 

I am struggling with a problem calculating average days in Power BI Desktop.

 

I have the following data in their own columns;

 

  • Status Column
  • status.jpg
  • Created date (date/hh/mm/ss)
  • Last Modifed date (date/hh/mm/ss)

created_last modified.jpg

 

My aim is to find a formula/s which will help me calculate;

 

  • The time interval (in days) spent between Date Created and Last Modified only if the status is set to "Passed". 

Does anyone know the steps, or formula's that i can use to calculate this information? 

 

Thanks!

1 ACCEPTED SOLUTION

So in PowerBI there are 2 locations to create custom calculated columns:

  1. Through Query Editor using PowerQuery (M) language
  2. Though the main window using DAX language. This is similiar to excel.

I gave you the DAX version because it's easier to read/understand/manipulate IMO. With DAX, you don't need to reload your data everytime there is logic changed on a caluclated column. Instead, DAX uses your existing loaded dataset, and processes the logic. This makes is much more agile than SQL or PowerQuery. However, I still write native SQL queries to pull my data, and even build calculated columns in SQL. I tend to avoid PowerQuery if possible, though it has it's benefits like parsing JSON.

 

Going Forward:

  1. Delete that step in PowerQuery
  2. Load your data
  3. From the Home Tab, Add a Calculated Column
  4. Paste my formula
  5. View the data on the Data view on the left side of the main Pbi window

Add FieldAdd Field

 

 

 

 

 

 

View solution in original post

4 REPLIES 4
jsh121988
Microsoft Employee
Microsoft Employee

This is fairly easy in DAX with a new calculated column.

 

PassedDays =
IF( [Status] = "Passed",
DATEDIFF([Created], [LastModified], SECOND) / 60 / 60 / 24,
BLANK()
)
// I intentionally do a datediff using seconds and divide because days rounds down and it's not an accurate representation.
// This means a DATEDIFF('2019-01-01 23:59','2019-01-02 00:01', DAY) = 1 Day even though it's 2 minutes.

Also, this MUST return BLANK() if not 'Passed' so the Non-Passed items don't get calculated in the average.

 

Thank you for the info, when I plugged in this formula to a custom column, I am recieving errors.  Could you give me any pointers on what im doing wrong here?  (see screenshots below)

 

Appreciate the help. 

 

Formula entered into custom columnFormula entered into custom column

error receivederror received

So in PowerBI there are 2 locations to create custom calculated columns:

  1. Through Query Editor using PowerQuery (M) language
  2. Though the main window using DAX language. This is similiar to excel.

I gave you the DAX version because it's easier to read/understand/manipulate IMO. With DAX, you don't need to reload your data everytime there is logic changed on a caluclated column. Instead, DAX uses your existing loaded dataset, and processes the logic. This makes is much more agile than SQL or PowerQuery. However, I still write native SQL queries to pull my data, and even build calculated columns in SQL. I tend to avoid PowerQuery if possible, though it has it's benefits like parsing JSON.

 

Going Forward:

  1. Delete that step in PowerQuery
  2. Load your data
  3. From the Home Tab, Add a Calculated Column
  4. Paste my formula
  5. View the data on the Data view on the left side of the main Pbi window

Add FieldAdd Field

 

 

 

 

 

 

Thanks for the explaination, this helps a lot! 

Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.