Forum Discussion
How to border on first level column header only?
Hello everyone,
I have a matrix table like the one below, as you can see, the column have two levels, financial year and quarters.
I would like to put border around the year only so that the reader can easily identify financial year when they read the matrix.
any help would be great.
Hi BenBlackswan
You can be a bit sneaky and make the | only appear on the last Quarter. Then using conditional formatting to only format the cells with a | in them.
Measure would be something like this:
. =
IF (
SELECTEDVALUE ( Sales[SaleDate].[Quarter] ) --For the current quarter
= CALCULATE (
MAX ( Sales[SaleDate].[Quarter] ), --is it equal to the max quarter
ALLSELECTED ( Sales[SaleDate].[Quarter], Sales[SaleDate].[QuarterNo] )
),
"|", --if it is return |
BLANK () --Otherwise blank
)
Then conditionally format this column like this:If the cell contains a | return a black background.
Make sure the measure is below your calculation in values.
For the very first column use the grid border
Hope this helps!
4 Replies
- SamWiseOwlSuper User
Hi BenBlackswan
Will the matrix stay in this shape?
If so you could use a line rotated:
Insert -> Shapes _> Line -> Rotation 90It isn't perfect but it is a workaround!
Ignore that, check out this genius move at 5:20:
How To Put Thick Borders On Matrix Visualizations In Power BI (youtube.com)Use a measure that returns a | and format that!
- BenBlackswanHelper V
hi Sam,
Thank you for the reply.
That pipe separate technique is cool but will not work for my situation because I have two column while in the video, he only had one column header.If I add pipe separator on my visual's value box, pipe separator will end up at the end of every quarter. so it end up looking like this
- SamWiseOwlSuper User
Hi BenBlackswan
You can be a bit sneaky and make the | only appear on the last Quarter. Then using conditional formatting to only format the cells with a | in them.
Measure would be something like this:
. =
IF (
SELECTEDVALUE ( Sales[SaleDate].[Quarter] ) --For the current quarter
= CALCULATE (
MAX ( Sales[SaleDate].[Quarter] ), --is it equal to the max quarter
ALLSELECTED ( Sales[SaleDate].[Quarter], Sales[SaleDate].[QuarterNo] )
),
"|", --if it is return |
BLANK () --Otherwise blank
)
Then conditionally format this column like this:If the cell contains a | return a black background.
Make sure the measure is below your calculation in values.
For the very first column use the grid border
Hope this helps!