Bullet Charts: Advanced Custom Visuals For LuckyTemplates

In this tutorial, we’ll discuss a custom visual called Bullet charts. They’re mainly used for measuring performance against target or previous years.

Bullet charts are useful visuals for comparing employee performance, shipment targets, sales targets, production targets, and many more.

This is a sample bullet chart that I have created. We’ll discuss how I created this bullet chart and the things that we can do in this particular custom visual. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

This is the data that we’ll be using in this example. It contains the player names, goals scored, target, and goals for last year. Later in this tutorial, we’ll create measures for the calculated columns. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Table of Contents

Creating Bullet Charts In LuckyTemplates

The bullet chart that we’ll use in this tutorial will be imported from the marketplace. Click the 3 dots here, then click “Get more visuals”.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Search for “Bullet”, then add the Bullet Chart by OKViz

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

This is the one I prefer because it also shows the negative values on the other side if we have it in our data. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s add this visual on our report page and resize it. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then, add the Player for the Category field and the Goals Scored measure for the Value field. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We should get this output. As you can see, we currently have bandings in our bullet chart. These are represented by the different hues of gray.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s now drag the Target measure on the Targets field. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

It will then add target markers on our output.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Modifying Bullet Charts In LuckyTemplates

In the General section of the Formatting tab, we can also change the orientation of our visual to vertical if we want to.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

By default, if we resize this visual on our report page, the bars will also be resized automatically. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

If we don’t want that to happen, we can just set the minimum or maximum height of the bars.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

After setting the maximum height of the bars, it will then look like this.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

This part of the visual is the categories. If we want to, we can turn them off by disabling the Category.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

For this example, it’s better if we leave this turned on. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

The Value axis is the X-axis of the visual. We can also turn off this one. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

But for this example, let’s just leave it on.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Another feature that would be useful is the Data labels

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

It will then show these labels which are the scores of our categories (the players).

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Conditional Formatting For Bullet Charts

Another cool thing about this visual is the conditional formatting. If we’ll just use a bar chart here, we won’t be able to conditionally format each one of the categories. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

As you can see from the image, only one target was set for all the individual players. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

However, in our dataset, there are different targets for each of the individual players. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

So, using a bar chart won’t create the visual that we want. That’s the reason why we are using a bullet chart in this particular example. 

As you can see, we can now set the if condition.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s assign a red color for this condition so we can see which players are behind their target scores.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Obviously, these 3 players are behind their target scores. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can also change the color of the target markers. For this example, we’ll just use black.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can change the shape of the target marker as well. For this example, let’s stick to the Line shape because it looks better than the other shapes.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

LuckyTemplates Bandings

In this visual, you can see the gray parts behind the bars. These are called Bandings

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can define static or dynamic bandings. For dynamic bandings, we can do that by creating calculated measures. We’ll be doing that after learning how to define static bandings.

Defining Static Bandings

For static bandings, we can set them here. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Currently, there are 5 States where we can set a value for each of them.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can define the State by an Absolute value or Percentage. In this instance, let’s use an Absolute value

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

For State 1, let’s set the value to 60 and change the color to a darker gray. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

As you can see, the banding changed on our visual.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s then set the value and color for the other states. Make sure that the succeeding value you’ll be using is always higher than the previous state values.

As you can see, we also used a lighter gray color for every succeeding state. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Now, the output should look like this. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

So, that’s how we can set a static banding.

Defining Dynamic Bandings

For the dynamic bandings, we can place the measures in the States field. This will automatically override the static bandings that we defined previously.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s now display the legends and set their position.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

It should then look like this.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s also turn off the Title and Background.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can now start creating dynamic bandings. Let’s go to our Table. Then, add a new column by clicking the New column.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s define a new column as State 1 and set 60% for the target goal. To get the percentage value of the first state, just multiply the Target value to .60. This basically means that if a player achieved only 60% of the target goal, they will be kicked from the team. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

For State 2, let’s use 70% and multiply the Target value to .70. This time, if the player reaches 70% of their target goal, they must be retained on the team.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s add another column for State 3. For this one, let’s set 80% for the target goal and multiply it by .80. If the players achieved 80% of the target goal, their contract price will be raised.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then, for State 4, let’s set the goal to 100%. If the player achieves 100% of their target goal, we must do anything to retain these players

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

For State 5, we’ll set the maximum value from either the Goals Scored or Target value. So, let’s define this with an if conditional statement wherein if the Goals Scored is greater than the Target, then we’ll get the Goals Scored. Else, we’ll get the Target value. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Before we can use these calculated column measures, we need to change their format to Whole number. Make sure to change each one of them.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s then add the first state on the States field.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

As you can see, the first band has changed.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s now add the other states on the States field. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

The output should then look like this.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We now have the dynamic bandings on our custom bullet chart. With this, we can easily see who the best players and the worst players are. 

Showing Comparisons In Bullet Charts

The other thing that we can do with this visual is to use the Show % change over option. We can use this to compare how far a certain individual or player exceeded their target goal. For this example, let’s use the Closest achieved target.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

On our visual, we’ll see that Christiano exceeded 9% of his target goal, and Salah exceeded 6% of his target goal. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can also use the Comparison value. However, we need to add an additional measure for comparison if we will use this.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

For instance, let’s add the previous year target goals (Goals LY) on the Comparison value field. ‘ 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

As you can see, the Comparison value works now. We can finally see that Christiano already achieved 41% of his target goal last year while Salah got 31%

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s remove the Comparison value for this example.  

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s keep using the Closest achieved target instead.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

The last thing that we should do is the legends for the bandings. This is because we don’t really know what these bandings mean in our visual. 

Creating Legends For The Bandings

To create the legend for our bandings, let’s add a 100% Stacked bar chart visual.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then, let’s place our dynamic states on the Values field.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

After that, turn off the Title

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Turn off the Title under the X and Y axis

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then, turn off the X and Y axis as well. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

State 3 wasn’t added, and State 2 was added twice. So, let’s remove the second State 2 and add State 3 instead. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s change the colors of the states and use the same colors as the bandings on our bullet chart (darker gray to lighter gray).

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can also change the names of these states for the legend. For example, let’s change the first state to Kick the Players.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s then change the name of the other states.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can also create this using PowerPoint to make the legend look more appealing. If we don’t want to use PowerPoint, we can just turn off the Legend option.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Let’s now add a text by clicking the Text box under the Home tab.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then create our label as “Kick the Players” and style it using this text box.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

After that, move the text box on top of the bar chart and align it to the first bar. 

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then duplicate the first text box to change the text and color that correspond to our legend bars.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

We can now select the text boxes and the bar chart to group them.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates

Then, properly position the bullet chart and the bar chart.

Bullet Charts: Advanced Custom Visuals For LuckyTemplates


New LuckyTemplates Course: Advanced Visualization Techniques
LuckyTemplates Banding & Segmenting Example Using DAX
Group Data In A Retail Dashboard In LuckyTemplates

Conclusion

To sum up, you’ve learned how to create bullet charts and customize them. You’ve also learned a new technique called Banding, which allows you to group data into chunks based on your underlying data. Static and Dynamic are the two types of bandings in LuckyTemplates.

You’ve also gained an understanding of how comparisons can be made possible in bullet charts and how they can elevate the presentation of your data.

I hope you liked this tutorial and found it useful for your data visualizations.

Until next time,

Mudassir

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.