使用PowerBI读取ini文件并保留部分

问题描述 投票:0回答:1

我想使用大量 .ini 文件创建 PowerBI 仪表板。 .ini 文件位于 Azure Blob 存储中,并通过 PowerBI 中集成的功能读取。到目前为止,这工作正常,但 .ini 文件的内容是逐行读取的。我使用 PowerBI 函数使用等号将简单的键值对分成两列。但是,.ini 文件被分为 [tier1] 和 [tier2] 两个部分,后来我在 PowerBI 中逐行读取时无法再区分它们,因为我只有一组没有赋值的键值对。 如何读取键值对以及它们位于 .ini 文件中哪个部分的信息?

powerbi dax powerbi-desktop ini
1个回答
0
投票

试试这个:

let
    Source = Table.FromColumns({Lines.FromBinary(File.Contents("..\example.ini"), null, null, 65001)}),
    #"Filtered Rows" = Table.SelectRows(Source, each [Column1] <> null and [Column1] <> ""),
    #"Trimmed Text" = Table.TransformColumns(#"Filtered Rows",{{"Column1", Text.Trim, type text}}),
    #"Added Custom" = Table.AddColumn(#"Trimmed Text", "Section", each if Text.StartsWith([Column1], "[") then Text.Remove([Column1], {"[", "]"}) else null),
    #"Filled Down" = Table.FillDown(#"Added Custom",{"Section"}),
    #"Filtered Rows1" = Table.SelectRows(#"Filled Down", each not Text.StartsWith([Column1], "[")),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Filtered Rows1", "Column1", Splitter.SplitTextByDelimiter("=", QuoteStyle.Csv), {"Key", "Value"}),
    #"Trimmed Text1" = Table.TransformColumns(#"Split Column by Delimiter",{{"Key", Text.Trim, type text}, {"Value", Text.Trim, type text}, {"Section", Text.Trim, type text}})
in
    #"Trimmed Text1"

这会给你一个像这样的表格:

钥匙 价值 部分
© www.soinside.com 2019 - 2024. All rights reserved.