Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hello,
I have data in the format
| INC | WKN |
| INC123456 | 06-Mar-2023 07:49:24 - FirstName1 Lastname1 (Work notes) Monitoring the server 06-Mar-2023 07:47:58 - FirstName2 Lastname2 (Work notes) logs has been shared with vendor 02-Mar-2023 15:13:07 - FirstName3 Lastname3 (Work notes) Waiting for the mass migration of VMs to be completed. 02-Mar-2023 13:30:25 - FirstName4 Lastname4 (Work notes) Server is now updating the OS patching. We will wait for this step to complete |
I'll have to split this data into
| INC | Date-Time | Agent Name | Notes |
| INC123456 | 02-03-2023 13:30 | FirstName1 Lastname1 | Monitoring the server |
| INC123456 | 02-03-2023 15:13 | FirstName2 Lastname2 | logs has been shared with vendor |
| INC123456 | 06-03-2023 07:47 | FirstName3 Lastname3 | Waiting for the mass migration of VMs to be completed. |
| INC123456 | 06-03-2023 07:49 | FirstName4 Lastname4 | Server is now updating the OS patching. We will wait for this step to complete |
Please advise on how to achieve this
Solved! Go to Solution.
If I understand your setup correctly:
this should work:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bZBNT4NAEIb/yoSTJq2BXSi6VxMTE6mHJnJoOKxlChthl+yM5e+7JUIb7W0/Mu/zvLPfR9EqijfrQvu1iIWEOFfpkxIprOHFeOKt7jGBN01sp9Nd6fwXWMdI91G1muYLZw07b2wD3CIQ+hP6+fNveK6yx+twsYSLm+GdawhaTfCJaIFa7bGG0XALJ7S1u3DEhZNkKpEqzq85cuHI/5zX7XMiZJptQlCpDZ+rHJ2f6vSaCHrTeM3GWXBH+CgI2AUhOLh+6JCxfripIZWMlciuNdJFI71ZdzctDwyF9xG+h1rzvNf3HQyaD224L7gSwy66DsYg/WscRolxOBvOelFV/QA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [INC = _t, WKN = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"INC", type text}, {"WKN", type text}}),
//Replace INC space with nulls
// so can fill up/down
#"Replace with nulls" = Table.ReplaceValue(
#"Changed Type","",null,Replacer.ReplaceValue,{"INC"}),
#"Filled Down" = Table.FillDown(#"Replace with nulls",{"INC"}),
#"Filled Up" = Table.FillUp(#"Filled Down",{"INC"}),
//Extract the date-time into a column
// then fill down and group
#"Added Custom" = Table.AddColumn(#"Filled Up", "Date-Time", each try DateTime.From(Text.Start([WKN],20)) otherwise null, type datetime),
#"Filled Down1" = Table.FillDown(#"Added Custom",{"Date-Time"}),
#"Grouped Rows" = Table.Group(#"Filled Down1", {"INC","Date-Time"}, {
//extract Agent Name and Notes from each group
{"Agent Name", each Text.Trim(Text.Middle(Splitter.SplitTextByDelimiter("(")([WKN]{0}){0},23)), type text},
{"Notes", each Text.Combine(List.RemoveFirstN([WKN],1),"#(lf)"), type text}
})
in
#"Grouped Rows"
If I understand your setup correctly:
this should work:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("bZBNT4NAEIb/yoSTJq2BXSi6VxMTE6mHJnJoOKxlChthl+yM5e+7JUIb7W0/Mu/zvLPfR9EqijfrQvu1iIWEOFfpkxIprOHFeOKt7jGBN01sp9Nd6fwXWMdI91G1muYLZw07b2wD3CIQ+hP6+fNveK6yx+twsYSLm+GdawhaTfCJaIFa7bGG0XALJ7S1u3DEhZNkKpEqzq85cuHI/5zX7XMiZJptQlCpDZ+rHJ2f6vSaCHrTeM3GWXBH+CgI2AUhOLh+6JCxfripIZWMlciuNdJFI71ZdzctDwyF9xG+h1rzvNf3HQyaD224L7gSwy66DsYg/WscRolxOBvOelFV/QA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [INC = _t, WKN = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"INC", type text}, {"WKN", type text}}),
//Replace INC space with nulls
// so can fill up/down
#"Replace with nulls" = Table.ReplaceValue(
#"Changed Type","",null,Replacer.ReplaceValue,{"INC"}),
#"Filled Down" = Table.FillDown(#"Replace with nulls",{"INC"}),
#"Filled Up" = Table.FillUp(#"Filled Down",{"INC"}),
//Extract the date-time into a column
// then fill down and group
#"Added Custom" = Table.AddColumn(#"Filled Up", "Date-Time", each try DateTime.From(Text.Start([WKN],20)) otherwise null, type datetime),
#"Filled Down1" = Table.FillDown(#"Added Custom",{"Date-Time"}),
#"Grouped Rows" = Table.Group(#"Filled Down1", {"INC","Date-Time"}, {
//extract Agent Name and Notes from each group
{"Agent Name", each Text.Trim(Text.Middle(Splitter.SplitTextByDelimiter("(")([WKN]{0}){0},23)), type text},
{"Notes", each Text.Combine(List.RemoveFirstN([WKN],1),"#(lf)"), type text}
})
in
#"Grouped Rows"
@ARP331AHS269 , Try spliting data using deliemter in Power Query
Proud to be a Super User! |
|
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 3 | |
| 3 | |
| 2 |