Forum Discussion
conditional format in matrix based on selected years
I have created an order intake report where the user can select the years they want to compare.
There is a matrix which shows all the months and the selected years with the value
I want to add conditional formatting which shows red if less than the previous year selected and green if greater than.
I can obviousy do this based on the previous year but cannot workout how to do this based on the selected years.
Below is an image of how i want it to work - done in excel where you can add based on the row. Any ideas how to achieve this?
- Anonymous2 years ago
Hi Tizzerbelle ,
I thought about it differently and got the answer you wanted:
Measure = var _current=[Orders Intake] var _rank=[Measure 2] var _table=ADDCOLUMNS(ADDCOLUMNS(SUMMARIZE(ALLSELECTED('DateTable'),[FinYear],[Financial_Fiscal_Month_Name]),"order",[Orders Intake]),"rank",[Measure 2]) var _pre=MAXX(FILTER(_table, [rank] =_rank-1 && [Financial_Fiscal_Month_Name] in VALUES(DateTable[Financial_Fiscal_Month_Name])),[order]) RETURN _pre Measure 2 = RANKX(ALLSELECTED('DateTable'),[FinYear],MAX('DateTable'[FinYear]),ASC,Dense) Measure 3 = SWITCH(TRUE(), ISBLANK([Measure]),"black", [Orders Intake]<=[Measure],"red","green")An attachment for your reference. Hope it helps!
Best regards,
Community Support Team_ Scott ChangIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.
9 Replies
- AnonymousNot applicable
Hi Tizzerbelle ,
I made simple samples and you can check the results below:
Measure = var _t = CALCULATE(MAX('Table'[Value]),SAMEPERIODLASTYEAR('Table'[Date].[Date])) RETURN IF(_t>MAX('Table'[Value]),"RED","GREEN")An attachment for your reference. Hope it helps!
Best regards,
Community Support Team_ Scott ChangIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.
- TizzerbelleFrequent Visitor
Hi
Thank you for your assistance, I have tried to use this but as i am using a measure within the table - i cannot use MAX so i tried this:
ConditionalColPY = var _t = CALCULATE(MAXX(All('DateTable'),[Orders Intake]),SAMEPERIODLASTYEAR(DateTable[PKDate])) RETURN IF(_t>MAXX(All(DateTable),[Orders Intake]),"RED","GREEN")As you can see i am using a related Date table.
The conditional formatting just shows green for all rows, which i suspect is due to the MAXX statement.
Any suggestions?
- TizzerbelleFrequent Visitor
I have also tried this:
ConditionalColPY = VAR CurrentPeriodValue = [Orders Intake] VAR LastYearValue = CALCULATE( [Orders Intake], SAMEPERIODLASTYEAR(ALL(DateTable[PKDate])) ) RETURN IF( LastYearValue > CurrentPeriodValue, "RED", "GREEN" )But this shows all rows and columns as red