Forum Discussion

Consta's avatar
Consta
Frequent Visitor
4 years ago
Solved

Burndown Graph for projects based on date

Hello all.
I have already started a topic here, but now I would like to be more specific.
So far I have created and used a burndown chart in Excel, now I want to display the same in Power BI.
The following graph should be created:


Previously created in Power BI:

I don't quite know how to display the remaining projects. The logic behind reamining projects is that it takes the total number of projects at the beginning (20 - Q3) and each quarter subtracts the starting projects from the previous quarter (e.g. in total there are 160 projects, 20 - Q3 start 5, so remaining projects 20 - Q4 are 155).
Also I want to create an equal distribution. This means also start at the maximum number, but subtract each quarter a fixed value (number of projects / number of quarters).

Starting projects per quarter works fine!


I have a big problem with displaying such simple formulas in Power BI.
I am super grateful for all answers! Maybe I am just too stupid.
Testfile: https://easyupload.io/kmk4my

Best regards

 

UPDATE:

Got the remaining projects with this formula:

Count projects = calculate(DISTINCTCOUNT('211004 Export'[Project Name])+1, filter(allselected('211004 Export'), '211004 Export'[Planned start date] > min('211004 Export'[Planned start date])))

But it starts way too early and goes one quarter further.

Any suggestions how to solve this?

  • Hi Consta 

     

    I started by creating a calendar table to get consecutive columns of dates. Then create three measures to be used as values. I put my pbix file in the attachment you can reference.

    Result :

     

    In fact, if the date starts too long, you might consider using this setting below to specify the time period you need.

     

    If something wrong, please let me know.

     

    Best Regards

    Community Support Team _ chenwu zhu

     

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

8 Replies

  • v-chenwuz-msft's avatar
    v-chenwuz-msft
    Icon for Community Support rankCommunity Support

    Hi Consta 

     

    I started by creating a calendar table to get consecutive columns of dates. Then create three measures to be used as values. I put my pbix file in the attachment you can reference.

    Result :

     

    In fact, if the date starts too long, you might consider using this setting below to specify the time period you need.

     

    If something wrong, please let me know.

     

    Best Regards

    Community Support Team _ chenwu zhu

     

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

    • Consta's avatar
      Consta
      Frequent Visitor

      Wow.

      That was what I need! Thank you.

      I want to understand the equal distr. and start_project measures.

       

      Can you explain what you did there? I want to learn. 

      Your solution looks great.

       

      And: Why doesnt this work instead of the measure start_projects: Drag the Project Name as a count to the values of the chart. 

       

      • v-chenwuz-msft's avatar
        v-chenwuz-msft
        Icon for Community Support rankCommunity Support

        Hi Consta,I am glad you are satisfied with this result.

        The visual conversion from line chart to table allows you to see the underlying data more visually.

        equal distribution =
        VAR _total =
            DISTINCTCOUNT( 'Table'[Project Name] ) // How many project names are there in total
        VAR _diff =
            DATEDIFF(
                MINX( ALL( 'Table 2' ), [Date] ),
                MAXX( ALL( 'Table 2' ), [Date] ),
                QUARTER
            ) // How many quarters are there in total
        VAR _1 =
            DATEDIFF(
                MINX( ALL( 'Table 2' ), [Date] ),
                DATE( SELECTEDVALUE( 'Table 2'[Date].[Year] ), 3 * ( SELECTEDVALUE( 'Table 2'[Date].[QuarterNo] ) ), 1 ),
                QUARTER
            ) //Total number of quarters starting from the smallest date to the currently selected date (function of selectedvalue)
        VAR _result = _total - _1 * ( _total / _diff ) // for example: 160 ProName - 2 months have passed* (average ProName starting each month)
        RETURN
            IF( _result > _total, BLANK(), _result )
        // when blank, it will hidden the year and quarter.
        
        start_projects =
        CALCULATE(
            DISTINCTCOUNT( 'Table'[Project Name] ),
            FILTER(
                'Table',
                [Planned start date].[Quarter] = SELECTEDVALUE( 'Table 2'[Date].[Quarter] )
                    && [Planned start date].[Year] = SELECTEDVALUE( 'Table 2'[Date].[Year] )
            )
        )//Count the number of non-duplicates in a filtered table. The filtering condition is that the quarter and year in the planned start date are equal to the values in the first and second columns of the current table.
        

        For the first row, the selectedvalue() is the 2020-3 quarter.

        Did I explain myself clearly? You can ask me again if you have any questions.

        Best Regards

        Community Support Team _ chenwu zhu

         

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