Power BI Bookmarks, Synced Slicers and Selections; these features transformed the way we report using Power BI. Now, most of the business users want reports with actionable interactivity. Well, it has pros and cons; today’s post is not to discuss that but to talk about Synced Slicers.

Synced Slicers were one of the most requested features. As the name says, this functionality enables you to Sync slicers among various Power BI Report pages, and you can manage the properties of it under Sync Slicers Pane.

Creating Synced Slicers:

For me there are two approaches to carry out Sync Slicers:

  1. Slicer First – Create Slicer, then sync to other pages
  2. Report First – Design the report page then sync. If you use the same field on different pages, Sync Slicers automatically detects and come up with a dialogue saying do you want to sync.

I usually prefer to go for Slicer first. If I knew I need Synced Slicers, then I will try to be consistent with the report layout and position of slicers on each page. With Slicer first approach, we create Slicers then using Sync Slicers pane; we push the Synced Slicers to the pages we want. This method helps you to place the slicer exactly at the same place on all the page. Not only place, but it also keeps the formatting too.

If I don’t want to be consistent with formatting and place of the Slicer Viz then I will go for the second method. Where I place the slicer where ever I want then Sync using Synced Slicers Pane.

That’s it, it is straightforward and works like a charm. But what if you want to Sync within a Page? You may ask why would you ever want to Sync within the Page. We will look at it in my next blog post, for now, let’s assume for a valid cause. That’s when Advanced Options comes to the rescue.

Synced Slicers Advanced Options:

You can find advanced options in Sync Slicers window, just below all pages.

As per Microsoft docs:

“This feature lets you create a custom group of slicers to keep synchronized. A default name is provided, but you can use any name you prefer.

The group name provides additional flexibility with slicers. You can create separate groups to sync slicers that use the same field, or put slicers that use different fields into the same group.”

First, let’s look at creating groups to sync slicers that use the same field. The use case Syncing within a page, we can easily use the group functionality to do this.

For example, here I have two slicers, both slicers come from the same field.

If I don’t have them in a group, when I select using one slicer other slicer gets cross filtered like below

But if I keep them in a group and choose Sync field changes to other slicers, I won’t have that problem. This enables me to have two synced slicers within a page.

Next Creating groups to sync slicers that use different fields. This was interesting, You can add slicers with different fields into one group, and all the pages which have a slicer with this group will sync. I didn’t understand it quickly, but with the help of Will Thomson, I understood the beauty of it.

For example, consider having a sales table with Order Date, Delivery Date and Product. You want to find all products which were purchased and delivered on the same day; then you can use this functionality.

For example here I have a table with Order Date, Delivery Date and Product

Order Date

Delivery Date

Product

1 January 2019

2 January 2019

Apples

2 January 2019

10 January 2019

Pine Apple

3 January 2019

3 January 2019

Avocado

12 January 2019

28 January 2019

Apples

15 January 2019

15 January 2019

Pine Apple

If I create a report like this:

If I don’t keep both of those slicers in the same group, by default my report will interact like below:

But if I keep both slicers under one group, my report will behave differently:

An intresting thing to notice here is when two fields are in same group, it basically add the data from one slicers to another one. Sounds a bit tricky but it does work.

We can see if a slicer is Synced using Pages or group by looking at Sync Slicers pane. In the SYNC SLICERS pane, page synced slicers will be highlighted with Yellow tick box and Grouped Synced Slicers will be highlighted with Grey tick. Also, note a slicer can be part of the group and can also be synced page wise. I also noticed Add and Sync all pages in one click. I never knew this exists.

 

Summary:

I use sync slicers all the time. My clients love this functionality. Sync slicers are not great for data analysis but great for story telling. Will I use Slicers grouping functionality? I am not sure. But it’s definitely worth knowing the feature.

Keep Smiling,
Prathy 🙂

4 comments
1 FacebookTwitterPinterestEmail

Happy New Year!

Hope you all had a lovely time over Christmas and New Year period. My holiday started nicely with a visit to the Taj Mahal but ended badly with very unpleasant fever, hence the delay in this post. So we wrapped 2018 with an awesome session by James Dales (I totally recommend watching the recording- https://skillsmatter.com/skillscasts/12865-how-to-create-a-custom-visual-for-power-bi) and numerous fantastic submissions for LondonPugDataViz. This time I asked all submitters to write a bit about their submission and the experience; this what I received:

Submission 1:

Samy
samydoreau@gmail.com
https://www.linkedin.com/in/samydoreau/

My aim for this Data Challenge was to create a choropleth showing statistics (average, median, min, max, count etc.) around Price Paid from the dataset per Postcode – people relate quite well to postcodes and I thought it would be better to show the data as colors areas rather than points / circles on a map.

Data preparation : I initially attempted to upload the entire file into Power BI but encountered memory issues as the file has upwards of 32 million rows. There isn’t in fact a straightforward way to handle such big files so I decided to reduce the data size by loading the data into a local Spark cluster via one of the R interfaces to Spark : Sparklyr. Sparklyr has the immense advantage to be able to easily import huge CSVs, then create aggregations efficiently by using all of the machine’s cores and most of all performs distributed computation and therefore scales very well to large datasets. This allowed me to obtain the mean / min / max / median price paid and count of sales by postcode.

Data Visualisation : I obtained geocoding files for UK postcodes from the OpenDoor Logistics website and converted the data into geoJSON via the mapshaper web utility to use with the Power BI native shapemap visual – however I encountered three issues. First the visualisation was really slow, second the visual was unable to hold all the data points in the dataset, and finally the polygons weren’t overlaid on an actual map, which made it hard to see where each polygon was actually located.

I then decided to use the Mapbox visual and uploaded the shp, dbf, fix, prj and shx files from opendoor logistics into the mapbox website to create a custom tileset (See links below to Mapbox and blog tutorial for detailed instructions) – after a bit of tweaking the visual config, I obtained a cool visualization solving all three above problems : the viz is very responsive and smooth, the polygons are overlaid on an openstreet map and all data points are shown.

The report is very simple and allows to filter the data on the first two letter of the postcode and the price range – the map show the postcodes areas with higher average price as red, and the postcode areas with lower average price as white / yellow, following an automatic gradient. See the gif and picture attached as illustrations.

 

Submission 2:

Thomas Foster

https://www.linkedin.com/in/twfoster/

My submission was focused on the top 10 sales in each month as I felt these were the most interesting sales. This meant there was a strong story around these excessive properties. If I had been able to spend more time on it, I wanted to bring in more data around the specific sales. If you want an embed version I have it published to web below

https://app.powerbi.com/view?r=eyJrIjoiOTJmMDYwNjgtOTY1OC00M2NkLTg0MWItODllZjE3ZGQ4ZGUyIiwidCI6IjYwNWNiYjA1LWJjNzQtNGMxZi1hY2Y2LWI5OGI1YzJmZjFhNSJ9

Submission 3:

Jude Moore
jude_moore@outlook.com
https://www.linkedin.com/in/judemcbride/

Goal>
To allow forecasting of property prices down to postcode level based on average price paid changes for the same property type during the last calendar year for a specific region of the UK at a time.

Tools list >
1. PC with Windows
2. Power BI Desktop latest version installed
3. Microsoft Open R installed
4. R studio installed
5. The data itself downloaded in CSV format

Steps
1. Downloaded the annual price paid data from gov.uk (land registry) for year to date (Jan 2018 to September 2018)
2. Used the below guide to install and allow R visuals to be implemented in Power BI Desktop. https://docs.microsoft.com/en-us/power-bi/desktop-r-visuals
3. Started a new Power BI pbix report
4. Set up two parameters to accept the region and the maximum budget for the user’s average property purchase price. Also allowing to accept infinite or all regions.
5. Loaded the data in while filtering price and location based on the parameters.

  1. Discovery – Tested by ensuring the averages were believable using my experience, and by viewing the data across all regions and introducing maps.

  2. Remove outliners to prepare for data science. Outliners are very extreme values like £55m which can damage averages and predictions. One was found.

  3. Introduced R forecasting using price and dateoftransfer using this guide’s R script. http://www.datamic.net/blog/dynamic-forecasting-with-power-bi-and-r

  4. Tested the forecasting in R

  5. Produced final report using R forecasting

Known Limitations :
* Data size limitations – data used by the R visual for plotting is limited to 150,000 rows. If more than 150,000 rows are selected, only the top 150,000 rows are used and a message is displayed on the image.
* Calculation time limitation – if an R visual calculation exceeds five minutes the execution times out, resulting in an error.
* With the forecasting R package, results in an error if the dataset only has one record, ie with streets or postcodes with only one result brought back  in the report

Submission 4

Jese Navaranjan

jese.navaranjan@altius.co.uk

https://www.linkedin.com/in/jese-navaranjan-1a836356/

Hoping to see more submissions in the future. Do check out London Power BI Meetup previous events here – https://prathy.com/londonpowerbi/

Till next time,

Prathy 🙂

0 comment
0 FacebookTwitterPinterestEmail

In my current project, one of the user requirement was to have a filter on the Year Slicer. To explain in detail, we have various measures to show metrics for current and earlier measures. For example 2016,2017 and 2018. In 2016, we always have blank values for Last Year metrics, having empty values don’t tell the story well. So to tell the story, we need to pull three years worth of data but display only two years in the Slicer. The easiest way to handle this situation would have had a visual level filter on the Year slicer.

Power BI Slicers doesn’t support Visual Slicers. However, with the help of Selection Pane and Sync slicers, I did a quick workaround. I created another slicer for Year attribute, let’s call it Slicer-0. Updated the Visual Interactions of the original slicer (let’s call it Slicer-1) to not to filter the Slicer-0. As I have Synced Slicers on all pages, so I synced Slicer-0 on all pages. And I made sure; I updated the Visual Interactions on all Pages. Then hidden the Slicer-0 on all pages

Things to remember:

A hidden slicer means hidden logic in the Model. Whenever I design Power BI Models, I try to keep up a page with Designer Notes by specifying things like this. Basically, things which are helpful during troubleshooting. So if you are using hidden slicers, make sure you note it somewhere.

Another thing to note is, under Filters and Slicers affecting this Visual will show extra slicer information in the Pop-Up. If you want you can disable the Filter Icon under Visual Headers. But I prefer having the Filter option enabled.

Prathy 🙂

1 comment
0 FacebookTwitterPinterestEmail

It has been a while since I written a blog post, even my ten years old daughter started teasing saying “Motionless blog”, so decided to get back to blogging with a short and simple blog post based on a question I received about one of my Power BI portfolio report Global Landslides Data. Few people asked me how I created the slicer in this report,

So how I created the Dynamic Legend in Power BI Visual, Line Chart :

I was using slicer as a button to dynamically choose the legend I wanted to show in the line Chart. In fact, it was relatively straightforward:

First I created an aggregated table like below

Table =
UNION(
//Incidents
SUMMARIZE('Global Landslide Data'
,'Global Landslide Data'[ID]
,'Global Landslide Data'[Date]
,"Slicer","Incidents"
,"Incidents",'Global Landslide Data'[Incidents]
,"Distance",BLANK()
,"Injuries",BLANK()
,"Fatalities",BLANK()
)
,//Distance

SUMMARIZE('Global Landslide Data'
,'Global Landslide Data'[ID]
,'Global Landslide Data'[Date]
,"Slicer","Distance"
,"Incidents",BLANK()
,"Distance",CALCULATE(SUM('Global Landslide Data'[Distance]))
,"Injuries",BLANK()
,"Fatalities",BLANK()
)
,//Injuries

SUMMARIZE('Global Landslide Data'
,'Global Landslide Data'[ID]
,'Global Landslide Data'[Date]
,"Slicer","Injuries"
,"Incidents",BLANK()
,"Distance",BLANK()
,"Injuries",CALCULATE(SUM('Global Landslide Data'[Injuries]))
,"Fatalities",BLANK()
)
,//Fatalities

SUMMARIZE('Global Landslide Data'
,'Global Landslide Data'[ID]
,'Global Landslide Data'[Date]
,"Slicer","Fatalities"
,"Incidents",BLANK()
,"Distance",BLANK()
,"Injuries",BLANK()
,"Fatalities",CALCULATE(SUM('Global Landslide Data'[Fatalities]))
)
)

The logic is to create a table with the DAX function UNION. Each Table expression in UNION function represents a value of slicer. Apart from that slicer related value, all the rest of the values are blanks.  It is key to have them as blanks than zero’s, we don’t see any data.

Then I chose the slicer column as the value in my Slicer visual and allowed slicer to have multiple selections. Then in the visual, I have used all measures as values, so based on the slicer selection it shows the trend line.

You can see it in the report here – https://app.powerbi.com/view?r=eyJrIjoiN2I4YWI4MjMtYmIyYy00ZjRkLWFjYTktZjM1ZjIwODk0ZjkzIiwidCI6IjM4YmU3MjU5LTMyMGQtNDZkYy04YzNiLWNkZDA5OTM1NGExMyIsImMiOjh9

Till next time,

Prathy 🙂

4 comments
2 FacebookTwitterPinterestEmail

My Power BI journey started with this dataset. Probably one of the most reliable open data source. Nicely formatted and very local. Hence we are going to use this for our next #LondonPUGDataViz. Hoping to see more submissions than usual.

You can find the dataset here – https://www.gov.uk/government/statistical-data-sets/price-paid-data-downloads#single-file

Remember the two rules: Have fun and use Power BI 🙂

For people who are interested in the previous submission, you can find the submitted models here – https://1drv.ms/f/s!Avm7gbgZtlMlwXBdwTGWmHkJkUwv

0 comment
0 FacebookTwitterPinterestEmail

In one of my recent project, I did a fair bit of PowerApps. PowerApps was the front end, Share point list was backend and Power BI as a visualization tool. Users will be using PowerApps App to update the Sharepoint List.

Basically, I have a gallery in PowerApps, when the user clicks on the gallery item, edit form gets updated with detail data and the user can input their comments which will write back to share point list. More like a survey! But different items comments get updated at a different time by different people. For better user experience, I wanted to differentiate items with and without comments.

There are several ways we can do this, my colleague randomly said maybe we can use a different background for all updated fields. And that was a fantastic idea, so let’s see how I did it.

So here is my basic PowerApps screen with a gallery item and detail form.

By default price is blank, I want the user to see all items with price with a different background. And I updated the Fill option of the data card to use conditional formatting by using the lookup function

If(LookUp( Table1_1, ID = ThisItem.ID, Price )="",RGBA(0,0,0,0),LightGray)

Now user can quickly differentiate item with price and no price.

Again, there are several ways we can customize the app, but I love the fact that I can pretty much customise any possible thing in PowerApps using expressions. I can see more and more use cases with Power BI and PowerApps integration and I am hoping to write more posts on PowerApps.

Hope it helps someone out there !

Prathy 🙂

0 comment
0 FacebookTwitterPinterestEmail

One of those days where I spent a reasonable amount of time trying to solve a tricky DAX expression and once I got it; I came to know it was not at all tricky. In fact, it was far too simple to admit the time spent 🙂

When I showed PARALLELPERIOD and SAMEPERIODLASTYEAR measures to my business user, he asked me if he can select random quarters and measure should always get the variance from the earlier period based on the slicer choice than Time intelligence.

This is how my data looked like:

To get the Selected Previous Period value, I first created a variable to get the Current period value

VAR CurrentPeriod = MAX(Table1[Period])

then I created another table variable to get the selected values from the slicer.  I used CalculatedTable with ALLSelected(), so my context works.

VAR Selectedvalues = CALCULATETABLE(VALUES ( Table1[Period] ),ALLSELECTED(Table1))

Then I created another variable to get the earlier period value based on Filter.

VAR PP=CALCULATE(MAX(Table1[Period]),FILTER(Selectedvalues,Table1[Period]<CurrentPeriod))

And finally, in Return statement, I used the Value column with SUM and filter. Here is the full DAX expression of the measure

Previous Period =

VAR CurrentPeriod = MAX(Table1[Period])

VAR Selectedvalues = CALCULATETABLE(VALUES ( Table1[Period] ),ALLSELECTED(Table1))

VAR PP=CALCULATE(MAX(Table1[Period]),FILTER(Selectedvalues,Table1[Period]<CurrentPeriod))

Return

CALCULATE(SUM(Table1[Val]),Table1[Period]=PP)

If you want to try yourself, here is the M Script for Query Editor.

let

Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCjRU0lEyNFCK1QGyjUBsQwjbGMQ2grBNQGxjpdhYAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Period = _t, Val = _t]),

#"Changed Type" = Table.TransformColumnTypes(Source,{{"Period", type text}, {"Val", Int64.Type}})

in

#"Changed Type"

It was a good exercise, I certainly learned how to not to think when working with DAX! Hope it helps someone out there.

URL to download the PBIX – https://1drv.ms/u/s!Avm7gbgZtlMlwFB99Ti5W2_eYsjU

Keep Smiling,

Prathy 🙂

4 comments
1 FacebookTwitterPinterestEmail

Another quick, more of “Note to self” blog post. While I was working with FIFA Football Model, one of the queries has a dataset like below

But what I wanted was group every three rows into one group. So I can do further transformations to achieve a result like below.

So what have I done, I created a blank query to create my duplicate values. As I knew I needed eight groups, I created a base list in my blank query with following M

= {“a”..”h”}

Then I added a custom column with List.Repeat()

{List.Repeat({[Column1]},3)}

 

Then I added an index column which I used to join my base query, which gives me the following result after expanding.

Grouping values were easy with above state of data

Here is full M code:

Base Query

let

Source = #"2018 FIFA World Cup Wiki (2)",

#"Removed Other Columns" = Table.SelectColumns(Source,{"Column2"}),

#"Removed Duplicates" = Table.Distinct(#"Removed Other Columns"),

#"Promoted Headers" = Table.PromoteHeaders(#"Removed Duplicates", [PromoteAllScalars=true]),

#"Added Index" = Table.AddIndexColumn(#"Promoted Headers", "Index", 1, 1),

#"Merged Queries" = Table.NestedJoin(#"Added Index",{"Index"},Query1,{"Index"},"Query1",JoinKind.LeftOuter),

#"Expanded Query1" = Table.ExpandTableColumn(#"Merged Queries", "Query1", {"Custom"}, {"Custom"}),

#"Removed Other Columns1" = Table.SelectColumns(#"Expanded Query1",{"Custom", "Round of 16"}),

#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns1",{{"Round of 16", "R"}}),

#"Grouped Rows" = Table.Group(#"Renamed Columns", {"Custom"}, {{"Count", each [R], type table}}),

#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom.1", each [Count]),

#"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom.1", each Text.Combine(List.Transform(_, Text.From), ";"), type text}),

#"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values", "Custom.1", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv)),

#"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter",{"Custom", "Count"})

in

#"Removed Columns"

Referenced Query

let

Source = {"a".."h"},

#"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),

#"Added Custom" = Table.AddColumn(#"Converted to Table", "Custom", each {List.Repeat({[Column1]},3)}),

#"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom"),

#"Removed Other Columns" = Table.SelectColumns(#"Expanded Custom",{"Custom"}),

#"Expanded Custom1" = Table.ExpandListColumn(#"Removed Other Columns", "Custom"),

#"Added Index" = Table.AddIndexColumn(#"Expanded Custom1", "Index", 1, 1)

in

#"Added Index"

I genuinely feel like there must be an elegant way of grouping that data instead of creating another query, but then, this was the only way I could think off. Maybe with a bit of thinking, I could use List.Generate() to integrate and create duplicate values in the base query itself. Instead of using List.Repeat(), I can add a column by with list {1..3}, which also creates duplicate rows.  Like any other language, there are various ways but, I used List.Repeat() the very first time, hence this blog post. Hope it helps someone out there 🙂

Keep smiling,
Prathy 🙂

2 comments
2 FacebookTwitterPinterestEmail

For this month #LondonPUGDataViz, we are going to play with Gun violence archive data. This data is very interesting because it can tell a powerful story.

You can find the dataset here – http://www.gunviolencearchive.org/reports/mass-shooting?year=2018

Data source URL is nicely formatted, you can use year as a parameter and get data for that year. Here is a sample file I created with the Power query in it for a quick start. You don’t have to use this model or this particular dataset. Our topic is Gun Violence and our tool is Power BI 😊

Looking forward to seeing your submissions 😊

URL for sample Model – https://1drv.ms/f/s!Avm7gbgZtlMlwE39PrTxLVlIBPxK

Power Query used for sample model:

Parameters:

StartYear

2017 meta [IsParameterQuery=true, Type="Any", IsParameterQueryRequired=true]

EndYear

2018 meta [IsParameterQuery=true, Type="Any", IsParameterQueryRequired=true]

Function
GetData

(PageNumber as text, Year as text) => let

        URL = "http://www.gunviolencearchive.org/reports/mass-shooting?page="&PageNumber&"&year="&Year,

        Source = Web.Page(Web.Contents(URL)),

        Data0 = Source{0}[Data],

        #"Removed Columns" = Table.RemoveColumns(Data0,{"Operations"}),

        #"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Incident Date", type date}, {"State", type text}, {"City Or County", type text}, {"Address", type text}, {"# Killed", Int64.Type}, {"# Injured", Int64.Type}})

    in

        #"Changed Type"

Query
Data

let

    Source = {StartYear..EndYear},

    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),

    #"Added Custom" = Table.AddColumn(#"Converted to Table", "PageNumber", each {1..18}),

    #"Renamed Columns" = Table.RenameColumns(#"Added Custom",{{"Column1", "Year"}}),

    #"Expanded PageNumber" = Table.ExpandListColumn(#"Renamed Columns", "PageNumber"),

    #"Changed Type" = Table.TransformColumnTypes(#"Expanded PageNumber",{{"Year", type text}, {"PageNumber", type text}}),

    #"Invoked Custom Function" = Table.AddColumn(#"Changed Type", "GetData", each GetData([PageNumber], [Year])),

    #"Removed Columns" = Table.RemoveColumns(#"Invoked Custom Function",{"Year", "PageNumber"}),

    #"Expanded GetData" = Table.ExpandTableColumn(#"Removed Columns", "GetData", {"Incident Date", "State", "City Or County", "Address", "# Killed", "# Injured"}, {"Incident Date", "State", "City Or County", "Address", "# Killed", "# Injured"}),

    #"Removed Duplicates" = Table.Distinct(#"Expanded GetData"),

    #"Sorted Rows" = Table.Sort(#"Removed Duplicates",{{"Incident Date", Order.Ascending}}),

    #"Changed Type1" = Table.TransformColumnTypes(#"Sorted Rows",{{"Incident Date", type date}, {"State", type text}, {"City Or County", type text}, {"Address", type text}, {"# Killed", Int64.Type}, {"# Injured", Int64.Type}})

in

    #"Changed Type1"

Previous submissions – https://prathy.com/category/londonpugdataviz/

London Power BI Meetup – https://www.meetup.com/London-PUG/

Prathy 🙂

P.S. I showed a different data set during the event, but I just realised it was displaying limited data set. Hence changed the data set to mass shooting than all incidents

 

 

0 comment
0 FacebookTwitterPinterestEmail
ADDING A VERTICAL LINE OR MARKER TO A CHART IN POWER BI

A business user came to me asking “how can I get a vertical line on Line Chart in Power BI like my Excel report?”. I was like, “It’s straightforward. We have this analytics pane which lets you add so many types of lines 😊 “. But, quite quickly I understood, I cannot draw a vertical line as we do in Excel or SSRS.

Adding a vertical line or marker to a chart in Power BI

Data looks like below:

The user wants a marker, ideally a line to point those events on the chart. I cannot think of an out the box option, but there are some workarounds. Let’s look at adding a line using Combo Chart. This chart clearly shows events as bars and tooltips can define what kind of event it was. I would prefer to change the bar width. It’s a bar; it’s not exactly a line; however, it fits for the purpose.

 

Next using Markers:

With latest Power BI update, we can set line stroke width to zero. So I decided to use that feature to highlight the events on the chart. It’s a simple Line Chart with one axis and two values. One value is to show the Value column and other to show Count of Event. My chart looks like this:

Then I updated X Axis type to Categorical (Otherwise, Markers functionality will not be available). Then under Shapes, set Show marker to On, followed by Customize series option to On. Then I turned off marker for Value column, On for Count of Event.

Then I decreased Stoke width to 0 and increased Marker size to 16. Now the chart looks like this:

Tooltip don’t make much sense, but by using new report tool tip pages functionality we can have much more helpful and user-friendly tooltip like below:

Hope this post helps someone out there
Prathy 🙂
3 comments
3 FacebookTwitterPinterestEmail