Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I think I have a easy one for you guys.
We have a table with all suppliers, and in the past was not centralized who would setup them.
With that being said we have the following scenario. (it is way more complext than that, but solving this would help)
I want to show only the highlighted ones.....We may have suppliers duplicated with and without Country.
For those duplicated ones, I want to show only the row with country, if there is no duplicates we show what we have (with or without Country)
In this scenario, Pen Supplier must be shown because there is no row with country for it.
How do I do that?
Thank you!
Solved! Go to Solution.
Hi jgeddes ,thanks for the quick reply, I'll add more.
Hi @JaoGabriel ,
The Table data is shown below:
The solution using dax is as follows:
Use the following DAX expression to create a table
Table 2 =
VAR _table =
SUMMARIZE (
'Table',
'Table'[Supplier],
"CountOfSupplier", COUNTROWS ( 'Table' )
)
RETURN
SELECTCOLUMNS (
ADDCOLUMNS (
_table,
"Country",
IF (
[CountOfSupplier] = 1,
VAR _supplier = [Supplier]
RETURN
MAXX ( FILTER ( 'Table', 'Table'[Supplier] = _supplier ), [Country] ),
CONCATENATEX (
FILTER ( 'Table', 'Table'[Country] <> "-" ),
[Country],
UNICHAR ( 10 )
)
)
),
[Supplier],
[Country]
)
Final output
Best Regards,
Wenbin Zhou
Hi jgeddes ,thanks for the quick reply, I'll add more.
Hi @JaoGabriel ,
The Table data is shown below:
The solution using dax is as follows:
Use the following DAX expression to create a table
Table 2 =
VAR _table =
SUMMARIZE (
'Table',
'Table'[Supplier],
"CountOfSupplier", COUNTROWS ( 'Table' )
)
RETURN
SELECTCOLUMNS (
ADDCOLUMNS (
_table,
"Country",
IF (
[CountOfSupplier] = 1,
VAR _supplier = [Supplier]
RETURN
MAXX ( FILTER ( 'Table', 'Table'[Supplier] = _supplier ), [Country] ),
CONCATENATEX (
FILTER ( 'Table', 'Table'[Country] <> "-" ),
[Country],
UNICHAR ( 10 )
)
)
),
[Supplier],
[Country]
)
Final output
Best Regards,
Wenbin Zhou
Here is an example in M that will do what you have asked.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCkgsSC1SCC4tKMjJTC1S0lHSVYrVwSLsVJRYlZkDkUvNw6IhNS85MwdZPDTYUSk2FgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Supplier = _t, Country = _t]),
#"Changed Type" =
Table.TransformColumnTypes(
Source,
{
{"Supplier", type text},
{"Country", type text}
}
),
#"Grouped Rows" =
Table.Group(
#"Changed Type",
{"Supplier"},
{
{"_innerTable", each Table.SelectColumns(_, "Country"), type table [Country=nullable text]}
}
),
Custom1 =
Table.TransformColumns(
#"Grouped Rows",
{
{"_innerTable", each if Table.RowCount(_) > 1 then Table.SelectRows(_, each [Country] <> "-") else _}
}
),
#"Expanded _innerTable" =
Table.ExpandTableColumn(
Custom1,
"_innerTable",
{"Country"},
{"Country"}
)
in
#"Expanded _innerTable"
Proud to be a Super User! | |
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
26 | |
10 | |
10 | |
9 | |
6 |