Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello everyone,
I build a PowerBI file that targets certain set of CSV files.
I have defined a text parameter called ReportDataFolderPath that defines the folder in which the CSV files exist.
I load the data into Csv.Document data source using File.Contents like that:
let Source = Csv.Document(File.Contents(ReportDataFolderPath & "\subfolder\filewithdata.csv"),[Delimiter=",", Columns=18, Encoding=65001, QuoteStyle=QuoteStyle.Csv]), #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
... the rest is snipped in #"Changed Type3"
This works very well when "filewithdata.csv" exists.
However, sometimes the input set of CSV files does not have "filewithdata.csv". This causes template-to-report loading to fail.
I would like to write some sort of check that validates that "filewithdata.csv" is present in the file system before attempting to load it into Csv.Document function. Can someone suggest a way to do it?
Thank you
Daniel
Solved! Go to Solution.
Hi,
Can you give this code a try!
let Source = Folder.Files("ReportDataFolderPath & "\subfolder\"), #"Filtered Rows" = Table.SelectRows(Source, each ([Name] = "filewithdata.csv")), #"Counted Rows" = if Table.RowCount(#"Filtered Rows")= 1 then let SourceFile = Csv.Document(File.Contents("ReportDataFolderPath & "\subfolder\filewithdata.csv"),[Delimiter=",", Columns=18, Encoding=65001, QuoteStyle=QuoteStyle.Csv]), #"Promoted Headers" = Table.PromoteHeaders(SourceFile, [PromoteAllScalars=true]) in #"Promoted Headers" else "File is not found" in #"Counted Rows"
OR check this post it has more sophisticated method: https://community.powerbi.com/t5/Integrations-with-Files-and/How-to-check-if-a-file-exists/m-p/66259...
Hi,
Can you give this code a try!
let Source = Folder.Files("ReportDataFolderPath & "\subfolder\"), #"Filtered Rows" = Table.SelectRows(Source, each ([Name] = "filewithdata.csv")), #"Counted Rows" = if Table.RowCount(#"Filtered Rows")= 1 then let SourceFile = Csv.Document(File.Contents("ReportDataFolderPath & "\subfolder\filewithdata.csv"),[Delimiter=",", Columns=18, Encoding=65001, QuoteStyle=QuoteStyle.Csv]), #"Promoted Headers" = Table.PromoteHeaders(SourceFile, [PromoteAllScalars=true]) in #"Promoted Headers" else "File is not found" in #"Counted Rows"
OR check this post it has more sophisticated method: https://community.powerbi.com/t5/Integrations-with-Files-and/How-to-check-if-a-file-exists/m-p/66259...
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
109 | |
99 | |
77 | |
66 | |
54 |
User | Count |
---|---|
144 | |
104 | |
102 | |
87 | |
64 |