Forum Discussion
Tevon713
3 years agoHelper V
Display table in matrix
Hi all..
I'm struggling to display a simple in matrix output as follow. Can't seem to wrap my head around it. How would I achieve this?
Data:
Month
Year
BU
Ops Day
FTE Cou...
- 3 years ago
Tevon713 ,
try the below,
1. Create a static Table like the below by using attached M code,
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WcgtxVXDOL80rUdJRMlSK1YGJFJcoqACFjJRiYwE=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Metrics = _t, Index = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Metrics", type text}, {"Index", Int64.Type}}) in #"Changed Type"2. Then load the data to Power BI desktop and then sort the metric column based on index column.
3. Then, Write the below 4 measures by changing the actual table of your dataset and use it in matrix visual.Previous Year = VAR _previousYear = MAX('Test Matrix'[Year])-1 VAR _resultFTECostPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _previousYear) VAR _resultFTECountPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _previousYear) VAR _result = SWITCH(SELECTEDVALUE('Static'[Metrics]), "FTE Count",_resultFTECountPreviousYear, "FTE Cost $",_resultFTECostPreviousYear) RETURN _resultCurrent Year = VAR _currentYear = MAX('Test Matrix'[Year]) VAR _resultFTECostCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _currentYear) VAR _resultFTECountCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _currentYear) VAR _result = SWITCH(SELECTEDVALUE('Static'[Metrics]), "FTE Count",_resultFTECountCurrentYear, "FTE Cost $",_resultFTECostCurrentYear) RETURN _result% = VAR _previousYear = MAX('Test Matrix'[Year])-1 VAR _resultFTECostPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _previousYear) VAR _resultFTECountPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _previousYear) VAR _currentYear = MAX('Test Matrix'[Year]) VAR _resultFTECostCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _currentYear) VAR _resultFTECountCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _currentYear) VAR _differenceFTECount = _resultFTECountCurrentYear-_resultFTECountPreviousYear VAR _differenceFTECost = _resultFTECostCurrentYear-_resultFTECostPreviousYear VAR _result = SWITCH(SELECTEDVALUE('Static'[Metrics]), "FTE Count",DIVIDE(_differenceFTECount,_resultFTECountPreviousYear), "FTE Cost $",DIVIDE(_differenceFTECost,_resultFTECostPreviousYear)) RETURN _resultDifference = VAR _previousYear = MAX('Test Matrix'[Year])-1 VAR _resultFTECostPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _previousYear) VAR _resultFTECountPreviousYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _previousYear) VAR _currentYear = MAX('Test Matrix'[Year]) VAR _resultFTECostCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Cost]), 'Test Matrix'[Year] = _currentYear) VAR _resultFTECountCurrentYear = CALCULATE( SUM('Test Matrix'[FTE Count]), 'Test Matrix'[Year] = _currentYear) VAR _result = SWITCH(SELECTEDVALUE('Static'[Metrics]), "FTE Count",_resultFTECountCurrentYear-_resultFTECountPreviousYear, "FTE Cost $",_resultFTECostCurrentYear-_resultFTECostPreviousYear) RETURN _resultResult:
Thanks,
Arul
Tevon713
3 years agoHelper V
Those are sample for FTE Count and FTE Cost, expecting least 20 other metrics of comparison. Right now I have 2 separate table for current and previous year due to the diff BU.