How to do it...

To implement this recipe, do the following:

  1. Create a column in the R03_Project table using the following formula:
Earned Value = 'R03_Project'[Planned Value] * 'R03_Project'[% Complete]
  1. Create the following measure:
EV = 
VAR __ReportingDate = DATE(2020,4,1)
VAR __MaxDate = MAX('R03_Project'[Finish_Date])
VAR __Date = MAX('R03_Calendar'[Date])
VAR __Table =
ADDCOLUMNS(
ADDCOLUMNS(
FILTER('R03_Project','R03_Project'[Start_Date] < __Date),
"__TaskDaysDuration",
DATEDIFF('R03_Project'[Start_Date],'R03_Project'[Finish_Date],DAY) + 1,
"__Days",
DATEDIFF('R03_Project'[Start_Date],__Date,DAY)
),
"__EV",
IF(
__Date > __MaxDate,
BLANK(),
IF(
[__Days] >= [__TaskDaysDuration],
[Earned Value],
[__Days]/[__TaskDaysDuration] * [Earned Value]
)
)
)
RETURN
IF(__Date > __ReportingDate, BLANK(), SUMX(__Table,[__EV]))
  1. On a Report page, create a matrix visualization and place the Project, Phase, and Name columns from the R03_Project table into the Rows area with the Project column being at the top, then the Phase column and the Name column at the bottom.
  2. In the same matrix visualization, place the Earned Value column from the R03_Project table into the Value area.
  3. On the same Report page, create a line chart visualization and place the Date column from the R03_Calendar table into the Axis area. Ensure that this field is set to Date and not Date Hierarchy.
  4. In the same line chart visualization, place the EV measure into the Value area.