Forum Discussion

kvasil's avatar
kvasil
Frequent Visitor
6 years ago
Solved

Convert ePO Web request output to a table

Hi, I have been doing some reports from McAfee ePO with great success when I export a report out of it and into PowerBI as an excel file. Instead of updating the source file every so often I am tr...
  • v-joesh-msft's avatar
    6 years ago

    Hi kvasil ,

    Do you want output similar to the following:

    You can try something like the following M Query:

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("nc0xC8IwEIbhv3JkFppcEtHbJKvWoVqH0iFohgxpxKRI/70lOAlF6HJwLx88XceaKWUXoLbBESBXpm6R9ZuOXZN7fXN2KY/zW/q5gcv0nOvND4/4TiB46UebMpgYwjj4u80+DgSiwgo5KNKalITDqSzL+XGFUe1uyRVrYSQtSat/8HYJxrWwJiEJ9wXuPw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
        #"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Column1] <> null and [Column1] <> ""),
        #"Inserted Text Before Delimiter" = Table.AddColumn(#"Filtered Rows", "Text Before Delimiter", each Text.BeforeDelimiter([Column1], ":"), type text),
        #"Inserted Text After Delimiter" = Table.AddColumn(#"Inserted Text Before Delimiter", "Text After Delimiter", each Text.AfterDelimiter([Column1], " ", 1), type text),
        #"Removed Columns" = Table.RemoveColumns(#"Inserted Text After Delimiter",{"Column1"}),
        #"Grouped Rows" = Table.Group(#"Removed Columns", {"Text Before Delimiter"}, {{"Count", each _[Text After Delimiter], type list}}),
        #"Transposed Table" = Table.Transpose(#"Grouped Rows"),
        #"Promoted Headers" = Table.PromoteHeaders(#"Transposed Table", [PromoteAllScalars=true]),
        #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"System Name", type any}, {"User Name", type any}, {"OS Type", type any}, {"Last Communication", type any}}),
        Custom1 = List.Zip({#"Changed Type1"[System Name]{0}, #"Changed Type1"[User Name]{0}, #"Changed Type1"[OS Type]{0}, #"Changed Type1"[Last Communication]{0}}),
        Custom2 = Table.FromRows(Custom1),
        #"Renamed Columns" = Table.RenameColumns(Custom2,{{"Column1", "System Name"}, {"Column2", "User Name"}, {"Column3", "OS Type"}, {"Column4", "Last"}})
    in
        #"Renamed Columns"

    Here is a demo, please try it:

    https://qiuyunus-my.sharepoint.com/:u:/g/personal/pbipro_qiuyunus_onmicrosoft_com/ERdXJIgbGtNAr3Res8VbJcMBD0VCMKh5Dm2CQEdeEtoafA?e=brkhwl

    Best Regards,
    Community Support Team _ Joey
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.