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
KasperS
Regular Visitor

How to get specific values from records within a list

Hi

 

I have a dataset containing information on a lot of systems we use in my organization. Each row equals to one system with the columns being information about a given system. I have a column called "Kontakter" (Contacts) which contains lists with n number of records in it, containing contact information about employees working on that system such as: Ansvarsområde (area of responsibility), navn (name), and mail. I want to extract the names of every employee that in the "area of responsibility" field has the value "Systemejerkontorchef" to a new column. How can that be done? 

KasperS_0-1647420656195.pngKasperS_1-1647420680507.png

KasperS_2-1647420830338.png

 

1 ACCEPTED SOLUTION

Hi Kasper 

 

You can create a function to help you do this

 

(listToSearch as any, searchFor as text) =>
let
    Source = listToSearch,
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"Ansvarsområde", "Name"}, {"Ansvarsområde", "Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Column1", each ([Ansvarsområde] = searchFor)),
    Custom1 = Table.ToRecords( #"Filtered Rows")
in
    Custom1

 

and then invoke that  as a custom function to your table

donsvensen_1-1647426885344.png

 

the function returns all the contacts with the title so by using {0} I only return the first in this case.

 

/Erik

 

 

 

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

I tried to reconstruct your situation (if you want a precise answer this is a job you should do) and starting from this I tried to simulate what you ask.
Try using the yourtab query by replacing "Origin" with your real table.

Hi Kasper 

 

You can create a function to help you do this

 

(listToSearch as any, searchFor as text) =>
let
    Source = listToSearch,
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"Ansvarsområde", "Name"}, {"Ansvarsområde", "Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Column1", each ([Ansvarsområde] = searchFor)),
    Custom1 = Table.ToRecords( #"Filtered Rows")
in
    Custom1

 

and then invoke that  as a custom function to your table

donsvensen_1-1647426885344.png

 

the function returns all the contacts with the title so by using {0} I only return the first in this case.

 

/Erik

 

 

 

You should be able to pull specific parts from the record quite easily.


Create a new custom column.

Gospoole_0-1695304568813.png

 

Name it something appropriate

In the syntax box you should put something like this if for example you are pulling the Name of someone:

= [Column Name][Title]

Gospoole_1-1695304621079.png

or if its the email you want

=[Column Name][Email]

 

To check what the field in the record is called click the record in the power query and then simply delete that step to return to the query and start your column creation.

Gospoole_2-1695304647939.png

 

Nice and simple!

 

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.

Top Solution Authors
Top Kudoed Authors