To implement this recipe, do the following:
- Create a column in the R03_Project table using the following formula:
Earned Value = 'R03_Project'[Planned Value] * 'R03_Project'[% Complete]
- 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]))
- 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.
- In the same matrix visualization, place the Earned Value column from the R03_Project table into the Value area.
- 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.
- In the same line chart visualization, place the EV measure into the Value area.