Skip to main content

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 tables. When I tested it looked like this:


Between Power BI visuals, slicer, multi-row card, table, and matrix were able to display the flag but I didn't prefer any of them because I can't change the size of the flag with any of them the way I want to. That's why I added another visual displayer from AppSource which is called 'Simple Image'. With this visual displayer, you can easily resize and fit your flag to your report page. When I was testing the visuals of flags I came up with this horrible scene: 


Where is the other part of the Portugal flag? How could this be possible? What did I do wrong? What am I going to do now?... After calming myself, I have noticed that the Spanish flag also has the same problem and it occurred to me that the reason might be the size because both flags have very intricate details compared to others. I went back to the encoder website, copied the URL link of the Portugal flag to a blank Word page, and count the number of characters. It was 58.826. When I checked the number of characters in my excel cell for the URL it was 32.767 which is the maximum character limit. At that moment I had 2 options: I could either choose another tool that has the capacity to store 58.826 in one unit, or I could try to shorten my URL with small-sized flags. When I tried Text or CSV file not to face size limit problem, I have noticed that Power Query has a size limit too. Like in Excel, Power Query also has 32.767 character limit in one cell. If it's more than that the text will be silently truncated. I had no choice other than finding small size flags. At that point, I also had two options. I could either resize my current flags at Paint so that they are going to have shorter URLs or I could find smaller-sized flags. The second option seemed easier and that was the way I chose to solve my flag problem. In the end, I could have one big whole happy Portugal flag. 


There is one more method to small the size of the images and it's changing their format. Let's say you have a JPG file. If you convert it to PNG via Paint, it's size will be smaller. But if you convert it to GIF it's size will be bigger. In the folder down below you can see 3 images. They are all the same picture. I have downloaded the JPG formatted image from the internet and converted it to GIF and PNG at Paint. Their sizes are heavily affected by their format.



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...

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: ...