Skip to main content

Customizing Themes With Advanced Elements in Power BI

Advanced Elements is not an intuitive description, that's why I'm going to show you what I'm talking about directly.


For my recent project, I've decided to create my own theme for the report. When I was exploring Customize Theme tab, I have come up with the Advanced section. While text, visuals, page, and filter pane sections are self-explanatory, this advanced section seemed quite enigmatic to me. What are the first-level elements? Or the others? I think Microsoft agrees with me upon being enigmatic because the section comes with "Learn more" option: Click to Learn More. But when I tried to learn more, it didn't make any sense to me, because I'm a visual person and those descriptions are quite hard to remember. That's why I have decided to be a good samaritan and visualize it, and then share it with you. 

As you see, while the border is a third-level element, the shadow is a first-level element. Legend, x-axis, and y-axis are second-level elements. The interesting thing that I have noticed, if data labels' positions are outside, they are considered as second-level elements and colored red. But if they are inside the bar, then they are considered as background elements and colored yellow. Who would have thought?


Other than the border, the line on the x-axis is also considered as a third-level element. Background elements represent the background of data labels so far.


Another surprise is, data labels and category labels for treemap are considered as background elements. But for line & stack column chart, and line & clustered column chart, data labels are second-level elements, their backgrounds are background elements.

For the pie chart and donut chart, if the detail label position is outside, it is a second-level element and red. But if I put them inside, they are considered as background elements and turn yellow. Also, they get a green background which is the color of first-level elements. But for line & stacked column chart, and line & clustered column chart, the color of detail labels are second-level element and background of detail label is background element. So easy to remember right?


Finally we can see a fourth-level element. Bar color for the Multi-row card is a fourth-level element. Fill color for the filled map and borders of the shape map are considered as second-level elements.


These are the last visuals that I have tested. Table and Matrix definitely don't look well. Values of them considered as first-level elements while backgrounds are unexpectedly background, after all that confusion. Items for slicer are first-level elements. No confusion there. The thing with key influencers is this: The part where "What influences Sales to" is considered as first-level element and it's green. But, you can't control that part from format pane. You can only change it with this advanced elements pane. Looks like somebody forget to put section for it to format pane! 

The important thing to remember with Advanced Elements: If your element doesn't match the color which is assigned by Advanced Elements, it's because the color for that element is already assigned from format's pane. If you choose them yourself from format pane, then they don't get affected by  current theme.

Comments

Popular posts from this blog

Manipulating Grand Totals with ISINSCOPE in Power BI

ISINSCOPE function was introduced in with November 2018 Power BI update. We can say it's a very young player in the game, but it's definitely magic. It can be used to manage lots of issues related to hierarchies, but in this post, I'm going to focus on manipulating the grand total line with it.  This is my budget forecast table. The budget forecast that you see for every month is not the forecast for every month, but it's the forecast for the whole year. The budget forecast for 2020 has changed every month. That's why we have different numbers for every row. Below you see the table visual with the year-month column and a measure that shows the values for every month. The thing that I want you to pay attention to is the total line. I wanted to see the last month's value for the total line and this is the measure for that.  This measure calculates this: If the year-month column has one value then take the average of that value. If it doesn't have one value, li...

How to Add Flags to Power BI Reports

Adding flags to Power BI Reports might be easier said than done. If you have a dataset which contains data of various countries, adding country flags looks cool. The process to do it, on the other hand, might be compelling. Now I am going to share with you the obstacles I  have faced during the process and of course, how I overcame them. First I made an excel list of countries that my dataset has. Then I have downloaded to my computer all the flags I need from Wikipedia and converted them to Base64 link via an image encoder website  base64-image.de  and added those links to my excel file, which looks like this: After I added my excel file to Power BI, I converted the data category of URL column from 'uncategorized' to 'image URL', which might be a small step for you but it's a big step for the success of the flag operation. Then I created one to many relationship with DimLocation table and chose 'both' as filter direction, so that I can filter from both t...

Solving Data Type Conflicts in Power BI and SQL

Whether we like it or not, error messages are part of our lives. The other day, I faced one of those little horrid yellow messages. For me, it's impossible to stay chill when I see that message. For a second, I feel alarmed and panicked. Let me show you what I'm talking about. The first column is the customer code, quite self-explanatory. The Registration Date column shows the date when the customer registered to my shop. The First Sale Date column shows the date when the customer bought something for the first time. And this is what I'm trying to see in the Sales Day column: If Registration Date and First Sale Date are the same, meaning customer bought something at the same day customer registered to my shop, print  "First Day", otherwise show the data of First Sale Date column. But computer says no! It says "Expressions that yield variant data-type cannot be used to define calculated columns." If I need to translate it in simplified English, it means: ...