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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
LuisGerardoSR
Helper II
Helper II

Progress Tracker

Hi,

 

I would like to use a visual that would let me track the progress of the activities by area and be able to see the following criteria:

 

  • If the activity started on the date suggested
  • How much progress has been made after it started
  • If the activity is over due or not
  • If the whole project is over due

this is the table that shows the tasks assigned to each area:

 

AreaTaskEstimated DaysBegin Date
LogisticsShip Parts78/27/2020
MaintenanceRepair Engines219/3/2020
OperationsDrill Well569/24/2020

 

The due date for the whole project is 9/24/2020.

 

Thanks!

2 ACCEPTED SOLUTIONS

Hi @LuisGerardoSR ,

 

Create something like this.

 

Calculated Column

ESTIMATED START DATE1 =
VAR prevdate =
    CALCULATE (
        MAX ( 'Table'[Begin Date] ),
        FILTER (
            'Table',
            'Table'[Begin Date]
                < EARLIER ( 'Table'[Begin Date] )
        )
    )
VAR est =
    CALCULATE (
        MAX ( 'Table'[Estimated Days] ),
        FILTER (
            'Table',
            'Table'[Begin Date] = prevdate
        )
    )
RETURN
    est + prevdate

 

 

Measures

 

Did it start on Estimate Date =
VAR _datediff =
    DATEDIFF (
        MAX ( 'Table'[ESTIMATED START DATE1] ),
        MAX ( 'Table'[Begin Date] ),
        DAY
    )
RETURN
    IF (
        _datediff = 0,
        "Yes",
        "No"
    )

 

Overdue =
VAR _datediffactivitybeginend =
    DATEDIFF (
        MAX ( 'Table'[Begin Date] ),
        MAX ( 'Table'[End Date] ),
        DAY
    )
RETURN
    IF (
        _datediffactivitybeginend
            > MAX ( 'Table'[Estimated Days] ),
        "Overdue",
        "On-Time"
    )

 

 

Project Overdue = 
var _beginactivity = CALCULATE(MIN('Table'[Begin Date]),ALL('Table'))---Date of 1st Task of project
var _endactivity = CALCULATE(MAX('Table'[End Date]),ALL('Table'))

var _datediffactivitybeginend = CALCULATE( DATEDIFF(_beginactivity,_endactivity,DAY))

RETURN

IF(_datediffactivitybeginend <= SUM('Table'[Estimated Days]), "On-Time","OverDue")

 

 

1.jpg

 

 

 

Regards,
Harsh Nathani

Appreciate with a Kudos!! (Click the Thumbs Up Button)
Did I answer your question? Mark my post as a solution!

View solution in original post

v-lionel-msft
Community Support
Community Support

Hi @LuisGerardoSR ,

 

Maybe you can do like this.

IF suggested date = 
IF(
    MAX(Sheet5[Begin Date]) = DATE(2020, 8, 27),
    "Yes", "No"
)
How much progress = 
CALCULATE(
    COUNT(Sheet5[Task]),
    ALLEXCEPT( Sheet5, Sheet5[Task])
)
If the activity is over = 
VAR x = 
DATEDIFF(
    MAX(Sheet5[Begin Date]),
    MAX(Sheet5[End Date]),
    DAY
)
RETURN
IF(
    x > MAX(Sheet5[Estimated Days]),
    "Yes", "No"
)
If the whole project is over due = 
VAR x = 
DATEDIFF(
    MAX(Sheet5[Begin Date]),
    MAX(Sheet5[End Date]),
    DAY
)
RETURN
IF(
    x > 84,
    "Yes", "No"
)

v-lionel-msft_0-1595835895374.png

But to be honest, your data lacks completeness. If this is not what you want, please provide a more complete data table, including more key columns and duplicate rows.

 

Best regards,
Lionel Chen

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

 

View solution in original post

9 REPLIES 9
v-lionel-msft
Community Support
Community Support

Hi @LuisGerardoSR ,

 

Maybe you can do like this.

IF suggested date = 
IF(
    MAX(Sheet5[Begin Date]) = DATE(2020, 8, 27),
    "Yes", "No"
)
How much progress = 
CALCULATE(
    COUNT(Sheet5[Task]),
    ALLEXCEPT( Sheet5, Sheet5[Task])
)
If the activity is over = 
VAR x = 
DATEDIFF(
    MAX(Sheet5[Begin Date]),
    MAX(Sheet5[End Date]),
    DAY
)
RETURN
IF(
    x > MAX(Sheet5[Estimated Days]),
    "Yes", "No"
)
If the whole project is over due = 
VAR x = 
DATEDIFF(
    MAX(Sheet5[Begin Date]),
    MAX(Sheet5[End Date]),
    DAY
)
RETURN
IF(
    x > 84,
    "Yes", "No"
)

v-lionel-msft_0-1595835895374.png

But to be honest, your data lacks completeness. If this is not what you want, please provide a more complete data table, including more key columns and duplicate rows.

 

Best regards,
Lionel Chen

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

 

Hi @LuisGerardoSR ,

 

Has your problem been solved?

 

Best regards,
Lionel Chen

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

harshnathani
Community Champion
Community Champion

Hi @LuisGerardoSR ,

 

Thanks for posting, but can you share logic for each calculation.

 

Regards,

HN

 

Hello,

 

Right now I do not have any measures or anything else built for this report.

 

What I am looking for is for measures and visuals that would help me show that the tasks assigned to Maintenance have a limit of days to be completed and are necessary for Operations to begin with their tasks assigned. Also, for logistics to begin working on their tasks, Maintenance and Operations should all be done with everything assigned to them.

 

 

Hi @LuisGerardoSR ,

 

I meant this

 

 

  • If the activity started on the date suggested   --> What is the Suggested Date?
  • How much progress has been made after it started  --> HOw do you track progress??
  • If the activity is over due or not  --> What is the logic for overdue date?  How to check if it is overdue? 
  • If the whole project is over due  

 

Share some more details and also the expected output you would want to see.

 

Regards,

HN

 

the answers in red:

 

  • If the activity started on the date suggested   --> What is the Suggested Date? for Logistics the suggested to begin is 8/27/2020.

 

  • How much progress has been made after it started  --> HOw do you track progress?? progress can be track by showing how many have past after the actual begin date.

 

  • If the activity is over due or not  --> What is the logic for overdue date?  How to check if it is overdue? if it is overdue is because it took more days than planned.

 

  • If the whole project is over due --- the project is over due if the whole tasks took more than 84 days (the estimated days for all area to complete their tasks).

HI @LuisGerardoSR ,

 

You will need a end date for the tasks. That is not available.

 

How do I detemine how many days did the task Repair Engine take if I do not have the End Date?

 

I may be missing something. But pls share all information to help you.

 

Regards,

HN

you are right...

 

I added another column with the end date.

 

AreaTaskEstimated DaysBegin DateEnd Date
LogisticsShip Parts78/27/20209/3/2020
MaintenanceRepair Engines219/3/20209/24/2020
OperationsDrill Well569/24/202011/19/2020

Hi @LuisGerardoSR ,

 

Create something like this.

 

Calculated Column

ESTIMATED START DATE1 =
VAR prevdate =
    CALCULATE (
        MAX ( 'Table'[Begin Date] ),
        FILTER (
            'Table',
            'Table'[Begin Date]
                < EARLIER ( 'Table'[Begin Date] )
        )
    )
VAR est =
    CALCULATE (
        MAX ( 'Table'[Estimated Days] ),
        FILTER (
            'Table',
            'Table'[Begin Date] = prevdate
        )
    )
RETURN
    est + prevdate

 

 

Measures

 

Did it start on Estimate Date =
VAR _datediff =
    DATEDIFF (
        MAX ( 'Table'[ESTIMATED START DATE1] ),
        MAX ( 'Table'[Begin Date] ),
        DAY
    )
RETURN
    IF (
        _datediff = 0,
        "Yes",
        "No"
    )

 

Overdue =
VAR _datediffactivitybeginend =
    DATEDIFF (
        MAX ( 'Table'[Begin Date] ),
        MAX ( 'Table'[End Date] ),
        DAY
    )
RETURN
    IF (
        _datediffactivitybeginend
            > MAX ( 'Table'[Estimated Days] ),
        "Overdue",
        "On-Time"
    )

 

 

Project Overdue = 
var _beginactivity = CALCULATE(MIN('Table'[Begin Date]),ALL('Table'))---Date of 1st Task of project
var _endactivity = CALCULATE(MAX('Table'[End Date]),ALL('Table'))

var _datediffactivitybeginend = CALCULATE( DATEDIFF(_beginactivity,_endactivity,DAY))

RETURN

IF(_datediffactivitybeginend <= SUM('Table'[Estimated Days]), "On-Time","OverDue")

 

 

1.jpg

 

 

 

Regards,
Harsh Nathani

Appreciate with a Kudos!! (Click the Thumbs Up Button)
Did I answer your question? Mark my post as a solution!

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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