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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Tito
Advocate II
Advocate II

add new column in PowerQuery

Hello,
I would like to add a new column in PowerQuery. If a customer has Group A, it should return "Group A", otherwise "non Group A".
Best regards

Tito

Data:

Data.PNG

 

Rsult  

 

Result.PNG

1 ACCEPTED SOLUTION
SamWiseOwl
Super User
Super User

Hi @Tito ,

You could create it as a Calculated column in the front end=

 

Group A =
var Namecur = [Name] --Current Name
var grouphigh = COUNTROWS(FILTER(List, Table[Group] = "A" && List[Name] = Namecur ))
return
if(
   grouphigh > 0, "Group A", "non Group A")

If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

View solution in original post

12 REPLIES 12
SamWiseOwl
Super User
Super User

Hi @Tito 

If you have to do it in the query editor then you could created a filtered version of the table within the M.

Then use the merged filter to join the two tables.

When you expand it would put the Group A next to all rows with A:

SamWiseOwl_0-1722863253686.png

 


let
#"Group Tables" = let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs/MyclMzFXSUXJUitVB5juh8Z3BfN/ECrhaCBsi7lOanAjkuEAlisoy8+BmBCfmlqbmwLWFpeZlQvTFAgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Group = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Group", type text}}),
Filtered = Table.SelectRows(#"Changed Type", each ([Group] = "A"))
in
#"Changed Type",
#"Merged Queries" = Table.NestedJoin(#"Group Tables", {"Name"}, #"Group Table A", {"Name"}, "Filtered", JoinKind.LeftOuter),
#"Expanded Filtered" = Table.ExpandTableColumn(#"Merged Queries", "Filtered", {"Group"}, {"Group.1"})
in
#"Expanded Filtered"


If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

SamWiseOwl
Super User
Super User

Hi @Tito ,

You could create it as a Calculated column in the front end=

 

Group A =
var Namecur = [Name] --Current Name
var grouphigh = COUNTROWS(FILTER(List, Table[Group] = "A" && List[Name] = Namecur ))
return
if(
   grouphigh > 0, "Group A", "non Group A")

If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

Hello @SamWiseOwl ,

can we make this calculated column dynamic. So if I select group A, it should return "group A", otherwise "non group A". And if I select group B, it should return "group B", otherwise "non group B" etc. 
Thanks!

Hi @Tito 

Sadly calculated columns cannot be made dynamic.

They are only recalculated when the data is refreshed.


If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

Hello @SamWiseOwl 
I have calculated it with a mesaure:


Dynamic Group =
VAR SelectedGroup = SELECTEDVALUE(GoupParameter[Group])
RETURN
IF(
    ISBLANK(SelectedGroup),
    BLANK(),
    IF(
        COUNTROWS(
            FILTER(
                Tabelle,
                Tabelle[Group] = SelectedGroup &&
                Tabelle[Name] = MAX(Tabelle[Name])
            )
        ) > 0,
        SelectedGroup,
        "non " & SelectedGroup
    )
)

Well Done!


If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

Hello @SamWiseOwl 

unfortunately does not work very well:

 

Problem Group.PNG

SamWiseOwl_0-1722947677449.png

Dynamic Group =
var Namecur = SELECTEDVALUE('Group'[Please choose group])--Current Name
VAR SelGroup = SELECTEDVALUE('Group'[Please choose group])
var grouphigh =
CALCULATE(COUNTROWS(List),all(List[Group]), List[Group] = SelGroup)
return
if(
   grouphigh > 0, "Group " & Namecur, "non Group "& Namecur)

If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

Hello @SamWiseOwl 

perfect , it worked. Thank you very much.

Hello @SamWiseOwl 

I tried it, but it didn't work.

Group dynamic =
var _Group = SELECTEDVALUE(Tabelle[Group])
var Namecur = [Name] --Current Name
var grouphigh = COUNTROWS(FILTER(Tabelle, Tabelle[Group] = _Group && Tabelle[Name] = Namecur ))
return
if(
   grouphigh > 0, "Group " & _Group, "non Group " & _Group )



Hello,

it worked. Thank you very much!

Best regards
Tito

@Tito  fantastic! If you could mark it as a Solution I'd appreciate it!

 

You already did, thank you so much 🙂


If you are happy with this answer please mark as a solution for others to find !

Kudos are always appreciated! Check out our free Power BI video courses.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.