Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Anonymous
Not applicable

How to create a Quadrant with concatenated row values

Hi, i'm trying to recreate this chart and i'm struggling to work out the best way to do it. i've tried using a scatter chart but it isn't giving me quite what i need. the real dataset has a lot more values, and when there are a lot of names, they overlap and also some get missed off the chart. i'm thinking about concatenating and comma separating the rep names and creating a table for each of the 16 quadrants, but not sure that's the best way and i've not been able to get the concatenatex to work which i think i need for that. 

i could go with the quadrant if all else fails but the format below is what is really wanted.

 

thanks in advance

 

dannorris-uk_0-1597313430503.png

 

Sales RepHome Sales/Target %Oseas Sales/Target %
Dan100
Pete2510
Kerry3010
Hannah108150
1 ACCEPTED SOLUTION

Hi @Anonymous ,

 

Maybe you can do like this.

% Sales/Target (Home) = 
IF(
    [Home/Oseas] = "Home",
    DIVIDE(
        Sheet3[Sales], Sheet3[Target],
        0
    )
)
% Sales/Target (Oseas) = 
IF(
    [Home/Oseas] = "Oseas",
    DIVIDE(
        Sheet3[Sales], Sheet3[Target],
        0
    )
)
bucket 1 = 
SWITCH(
    TRUE(),
    [% Sales/Target (Home)] <50, " 0 - 50%",
    [% Sales/Target (Home)] <75, " 50 - 74%",
    [% Sales/Target (Home)] < 100," 75 - 99%",
    [% Sales/Target (Home)] >100, "100+%"
)
bucket 2 = 
SWITCH(
    TRUE(),
    [% Sales/Target (Oseas)] <50, " 0 - 50 %",
    [% Sales/Target (Oseas)] <75, " 50 - 74 %",
    [% Sales/Target (Oseas)] < 100," 75 - 100 %",
    [% Sales/Target (Oseas)] >100, "100+ %"
)

v-lionel-msft_0-1598426695949.png

 

Best regards,
Lionel Chen

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

6 REPLIES 6
Anonymous
Not applicable

Hi all, has anyone got any suggestions how to get around issue i have with creating the 2 calculated columns as suggested in the 2 posts above? this crosstab will work for me if i can get that working but i'm really struggling with the circular dependency when creating the 2nd bucket column. i'm newish to pbi so might be missing a simple solution. 

Alternatively i am happy to use a scatter chart which does work with the measures i've created but that misses out rep name labels where they are closely clustered or too near to an axis, and i need to be able to see all names. any help greatly appreciated as i've spent a while going round in (dependency) circles 🙂

 

thanks

Anonymous
Not applicable

Hi, i'm having a problem creating 2 buckets - i'm getting a circular dependency error with the 2nd bucket. The Home Sales/Target% and Oseas Sales/Target% are actually calculated from the Sales which has rows for Home and Oseas for each rep. Data modelled like this:

 

RepSalesTargetHome/Oseas
A1015Home
A155Oseas
B6020Home
C55Home
C1015Oseas


This is how i get the % Sales/Target measure:

% Sales/Target (Home) = CALCULATE(IFERROR([Sum Sales] / [Sum Target], 0), 'Sales vs Targets'[Home/Oseas] = "Home")

% Sales/Target (Oseas) = CALCULATE(IFERROR([Sum Sales] / [Sum Target], 0), 'Sales vs Targets'[Home/Oseas] = "Oseas")

 

If i now try to create the buckets i get the circular dependency error, i guess because both are using the same Sales and Targets fields as their source. i've tried creating calculated fields: Sales Home; Sales Oseas; Target Home; Target Oseas conditionally using the Home/Oseas column but hit the same issue. Any ideas how i can get around this? I think the solutions posted will work if i can get these buckets right.

 

many thanks for your help

 

Hi @Anonymous ,

 

Maybe you can do like this.

% Sales/Target (Home) = 
IF(
    [Home/Oseas] = "Home",
    DIVIDE(
        Sheet3[Sales], Sheet3[Target],
        0
    )
)
% Sales/Target (Oseas) = 
IF(
    [Home/Oseas] = "Oseas",
    DIVIDE(
        Sheet3[Sales], Sheet3[Target],
        0
    )
)
bucket 1 = 
SWITCH(
    TRUE(),
    [% Sales/Target (Home)] <50, " 0 - 50%",
    [% Sales/Target (Home)] <75, " 50 - 74%",
    [% Sales/Target (Home)] < 100," 75 - 99%",
    [% Sales/Target (Home)] >100, "100+%"
)
bucket 2 = 
SWITCH(
    TRUE(),
    [% Sales/Target (Oseas)] <50, " 0 - 50 %",
    [% Sales/Target (Oseas)] <75, " 50 - 74 %",
    [% Sales/Target (Oseas)] < 100," 75 - 100 %",
    [% Sales/Target (Oseas)] >100, "100+ %"
)

v-lionel-msft_0-1598426695949.png

 

Best regards,
Lionel Chen

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Anonymous
Not applicable

Many thanks for the replies. i'll have a look and let you know how it goes.

 

v-lionel-msft
Community Support
Community Support

Hi @Anonymous ,

 

Please refer to my .pbix file.

 

v-lionel-msft_0-1597381822457.png

 

Best regards,
Lionel Chen

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

amitchandak
Super User
Super User

@Anonymous , you will not get the same visual, create two buckets like

bucket 1 =
switch(true(),
[Home Sales/Target %] <50, " 0 - 50 %",
[Home Sales/Target %] <75, " 50 - 74 %",
[Home Sales/Target %] < 100," 75 - 100 %",
[Home Sales/Target %] >100, "100+ %")

 

bucket 2 =
switch(true(),
[Oseas Sales/Target %] <50, " 0 - 50 %",
[Oseas Sales/Target %] <75, " 50 - 74 %",
[Oseas Sales/Target %] < 100," 75 - 100 %",
[Oseas Sales/Target %] >100, "100+ %")

 

Put them on matrix row and column and take max of name.

 

In case thiese %'s are measures

refer

SEGMENTATION

https://www.daxpatterns.com/dynamic-segmentation/
https://www.daxpatterns.com/static-segmentation/
https://www.poweredsolutions.co/2020/01/11/dax-vs-power-query-static-segmentation-in-power-bi-dax-power-query/
https://radacad.com/grouping-and-binning-step-towards-better-data-visualization

 

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.