Forum Discussion

mahe's avatar
mahe
New Member
8 years ago
Solved

Import and extract data from text files

Hi there,    I'm writing first time on this forum and I need an idea or support to import/extract data from text files. 1. Import all the text files from specific location and update at regular ti...
  • Anonymous's avatar
    Anonymous
    8 years ago

    mahe,

    Firstly, do you put all the text files in a specific folder? If so, use Folder connector in Power BI Desktop to connect to your source and you can import all text files from the folder. And you can click Refresh button in Power BI Desktop every 5 min to get updated data.

    Secondly, does the data that you want to extract exist in a single field? If so, you can perform a series of steps(split column, remove columns, merge columns ) in Query Editor to extract data. The steps generate the following code in Advanced Editor, you can copy it and paste it to the Advanced Editor of a blank query to test the process.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WOrRAodohyD/csCagKD8rNbmkxtPUwMCgJszQKCYPKAmTNwKJAJGhkZmjaQ1QQUpiSWpNSWZuKkxZba1SbCwA", 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}}),
        #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Column1", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Column1.1", "Column1.2", "Column1.3", "Column1.4", "Column1.5", "Column1.6"}),
        #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Column1.1", type text}, {"Column1.2", type text}, {"Column1.3", type text}, {"Column1.4", type text}, {"Column1.5", type text}, {"Column1.6", type text}}),
        #"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "Column1.2", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Column1.2.1", "Column1.2.2", "Column1.2.3", "Column1.2.4"}),
        #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Column1.2.1", type text}, {"Column1.2.2", type text}, {"Column1.2.3", type text}, {"Column1.2.4", type text}}),
        #"Split Column by Delimiter2" = Table.SplitColumn(#"Changed Type2", "Column1.4", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Column1.4.1", "Column1.4.2", "Column1.4.3", "Column1.4.4", "Column1.4.5"}),
        #"Removed Columns" = Table.RemoveColumns(#"Split Column by Delimiter2",{"Column1.1", "Column1.2.1", "Column1.2.3", "Column1.2.4", "Column1.3", "Column1.4.1", "Column1.4.4", "Column1.4.5", "Column1.5", "Column1.6"}),
        #"Merged Columns" = Table.CombineColumns(#"Removed Columns",{"Column1.4.2", "Column1.4.3"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged")
    in
        #"Merged Columns"



    Thirdly, please review this article about creating a real-time analysis of data in Power BI. You would need to create a stream dataset in your scenario.

    Regards,
    Lydia