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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Create a custom column that show as text if the line is "Record" or "List"

I have a column in which the values are given as "list" and "record", I cannot pre filter it, the data is given me as such.

 

I would need to be able to filter out lists and records, how can i do that ?

 

I thought of making a custom column that gives if the line is a list or a record in text so i can filter out, if their a way to do it ?

 

Exacrion_0-1670582780856.png

 

 

1 ACCEPTED SOLUTION

Hi @Anonymous ,

 

Please refer to my code and sample.

Whole M Code:

let
    Source = Table.Combine({Table, List, Record}),
    #"Added Custom" = Table.AddColumn(Source, "Custom.1", each Table.SelectRows([Custom])[Column1]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Custom.1"}),
    #"Added Custom1" = Table.AddColumn(#"Removed Columns", "Table", each if 
Table.ColumnCount([Custom]) <> Error.Record
then 
"Table"
else
"Record"),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "List", each if
List.Count([Custom]) <> Error.Record
then
"List"
else
""),
    #"Added Custom3" = Table.AddColumn(#"Added Custom2", "Record", each if
Record.ToList([Custom]) <> Error.Record
then
"Record"
else
""),
    #"Replaced Errors" = Table.ReplaceErrorValues(#"Added Custom3", {{"Table", ""}}),
    #"Replaced Errors1" = Table.ReplaceErrorValues(#"Replaced Errors", {{"List", ""}}),
    #"Replaced Errors2" = Table.ReplaceErrorValues(#"Replaced Errors1", {{"Record", ""}}),
    #"Added Custom4" = Table.AddColumn(#"Replaced Errors2", "Combine", each if [Table] = "" 
then 
if [List] = "" 
then 
[Record]
else 
[List]
else
[Table])
in
    #"Added Custom4"

Result is as below.

RicoZhou_0-1670838891959.png

I think [Combine] column is the result you need.

 

Best Regards,
Rico Zhou

 

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

5 REPLIES 5
VijayP
Super User
Super User

@Anonymous 

Go to power query edtior and filter that data!




Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
MY Blog || My YouTube Channel || Connect with me on Linkedin || My Latest Data Story - Ageing Analysis

Proud to be a Super User!


Anonymous
Not applicable

I am already on power query, my problem is that i want to filter out the data but i cannot as power query refuses to consider lines showing as "List" and "Record" lines as filter targets

 

Exacrion_0-1670584938011.png

 

Hi @Anonymous ,

 

Please refer to my code and sample.

Whole M Code:

let
    Source = Table.Combine({Table, List, Record}),
    #"Added Custom" = Table.AddColumn(Source, "Custom.1", each Table.SelectRows([Custom])[Column1]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Custom.1"}),
    #"Added Custom1" = Table.AddColumn(#"Removed Columns", "Table", each if 
Table.ColumnCount([Custom]) <> Error.Record
then 
"Table"
else
"Record"),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "List", each if
List.Count([Custom]) <> Error.Record
then
"List"
else
""),
    #"Added Custom3" = Table.AddColumn(#"Added Custom2", "Record", each if
Record.ToList([Custom]) <> Error.Record
then
"Record"
else
""),
    #"Replaced Errors" = Table.ReplaceErrorValues(#"Added Custom3", {{"Table", ""}}),
    #"Replaced Errors1" = Table.ReplaceErrorValues(#"Replaced Errors", {{"List", ""}}),
    #"Replaced Errors2" = Table.ReplaceErrorValues(#"Replaced Errors1", {{"Record", ""}}),
    #"Added Custom4" = Table.AddColumn(#"Replaced Errors2", "Combine", each if [Table] = "" 
then 
if [List] = "" 
then 
[Record]
else 
[List]
else
[Table])
in
    #"Added Custom4"

Result is as below.

RicoZhou_0-1670838891959.png

I think [Combine] column is the result you need.

 

Best Regards,
Rico Zhou

 

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

 

VijayP
Super User
Super User

@Anonymous Question is not clear , if you can filter with custom column why cant you filter when the data is in the raw format. what is the business logic




Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
MY Blog || My YouTube Channel || Connect with me on Linkedin || My Latest Data Story - Ageing Analysis

Proud to be a Super User!


Anonymous
Not applicable

I cannot i do not have access to the raw data, it is given me as such via an api

 

Is there a function that would give something like "If column is a record type then "record", else "list" ?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.