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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Kallagan
Frequent Visitor

Pattern matching

Hello

 

I need your help. I'm having a problem with the pattern matching, or it's my formula, (I'm sure it's my formula)

 

 

I have 4 Excel sheets, 1 for each factory, that contains tickets extract like ticket number, subject type etc.

 

I have created a request to help dispatch each factory ticket to each support center.

TabKeys = Table.Buffer(Feuil2),
    Relative = Table.AddColumn(#"Changed Type1", "Support", 
            (Earlier) => Table.SelectRows(TabKeys, each Text.Contains(Earlier[Subject],[Pattern], Comparer.OrdinalIgnoreCase))
           ),
    ExpTab = Table.ExpandTableColumn(Relative, "Support", {"Support"}, {"Support.Center"})

This creates a new column that adds the "Support.Center"

 

I have created a new table with all the 4 sheets to create a dashboard (with union)

The pattern matching is done on the "Subject" column. Sometimes, the subject columns contains words that matchs multiple support center. So I have lines that are added.

In the end, I have more lines that I should have and the dashboard is false.

 

Is there a way to correct that ?

 

For ex. tell power bi something like

1 pattern = 1 line then move next ?

 

 

Thank you for help help

1 ACCEPTED SOLUTION

 

Hello

 

I've tried with both formula, I've got an error like cannot tranform 1 in a Type value.

 

But I've managed to solve my problem with the formula bellow:

 

 Relative = Table.AddColumn(#"Changed Type1", "Support", 
            (Earlier) => Table.FirstN(
                Table.SelectRows(TabKeys, each Text.Contains(Earlier[Subject],[Pattern], Comparer.OrdinalIgnoreCase))
                ,1)
           ),
    ExpTab = Table.ExpandTableColumn(Relative, "Support", {"Support"}, {"Support.Center"})

 

Thank you anyway for your help.

View solution in original post

2 REPLIES 2
v-shex-msft
Community Support
Community Support

HI @Kallagan,

 

I'm not so sure for your table structure and previous steps and variables, it will be help if you share a pbix file and sample excel sheet.

 

After checked on your formual, I found below issues:

1, you missed the each Iterator of Table.Add Column function.

 

    Relative = Table.AddColumn(#"Changed Type1", "Support", 
          each (Earlier) => Table.SelectRows(TabKeys, each Text.Contains(Earlier[Subject],[Pattern], Comparer.OrdinalIgnoreCase))
           )

 

2. For Text.Contains function, it only allow string characters, what you invoked in function is a list.(I' m not so sure how you defene Earlier variable, I guess it is should be a table)

 

I'd like to suggest you add {index} to defind which item from list used to compare in function. Otherwise please use list.Contains functions to check value.

 

    Relative = Table.AddColumn(#"Changed Type1", "Support", 
          each (Earlier) => Table.SelectRows(TabKeys, each Text.Contains(Earlier[Subject]{0},[Pattern], Comparer.OrdinalIgnoreCase))
           )

    Relative = Table.AddColumn(#"Changed Type1", "Support", 
          each (Earlier) => Table.SelectRows(TabKeys, each List.Contains(Earlier[Subject],[Pattern]))
           )

Reference links:

Power Query Operators

 

Table.AddColumn  Adds a column named newColumnName to a table.
Text.Contains Returns true if a text value substring was found within a text value string; otherwise, false.
List.Contains Returns true if a value is found in a list.
List.ContainsAll Returns true if all items in values are found in a list.
List.ContainsAny Returns true if any item in values is found in a list.

 

Regards,

Xiaoxin Sheng

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

 

Hello

 

I've tried with both formula, I've got an error like cannot tranform 1 in a Type value.

 

But I've managed to solve my problem with the formula bellow:

 

 Relative = Table.AddColumn(#"Changed Type1", "Support", 
            (Earlier) => Table.FirstN(
                Table.SelectRows(TabKeys, each Text.Contains(Earlier[Subject],[Pattern], Comparer.OrdinalIgnoreCase))
                ,1)
           ),
    ExpTab = Table.ExpandTableColumn(Relative, "Support", {"Support"}, {"Support.Center"})

 

Thank you anyway for your help.

Helpful resources

Announcements
PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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