Forum Discussion

Amos_Lim's avatar
Amos_Lim
Resolver I
3 years ago
Solved

Need Recommendations on Pdf Data Set

Hello, I'm using Power BI to import data from a pdf file. There are three columns: UserName, ID, and the keyTags that each user can choose from. Each key description is preceded by a Bullet. Not ...
  • Ashish_Mathur's avatar
    Ashish_Mathur
    3 years ago

    Hi,

    This M code works

    let
        Source = Folder.Files("C:\Users\mathu\Desktop\Data"),
        #"Removed Other Columns" = Table.SelectColumns(Source,{"Content"}),
        #"Added Custom" = Table.AddColumn(#"Removed Other Columns", "Custom", each Pdf.Tables([Content])),
        #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Content"}),
        #"Expanded Custom" = Table.ExpandTableColumn(#"Removed Columns", "Custom", {"Id", "Name", "Kind", "Data"}, {"Id", "Name", "Kind", "Data"}),
        #"Filtered Rows" = Table.SelectRows(#"Expanded Custom", each ([Kind] = "Table")),
        #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows",{"Id", "Name", "Kind"}),
        #"Added Custom1" = Table.AddColumn(#"Removed Columns1", "Custom", each Table.PromoteHeaders([Data])),
        #"Removed Columns2" = Table.RemoveColumns(#"Added Custom1",{"Data"}),
        #"Expanded Custom1" = Table.ExpandTableColumn(#"Removed Columns2", "Custom", {"User name", "User information", "Credentials", "keyTags", "keyTag groups", "keyTag time profiles"}, {"User name", "User information", "Credentials", "keyTags", "keyTag groups", "keyTag time profiles"}),
        #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Expanded Custom1", {{"keyTags", Splitter.SplitTextByDelimiter("•", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "keyTags"),
        #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"keyTags", type text}}),
        #"Filtered Rows1" = Table.SelectRows(#"Changed Type", each ([keyTags] <> ""))
    in
        #"Filtered Rows1"

    Just place the PDF file in a folder.  In the Source step, give the patch of the folder.

    Hope this helps.