Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I have a model that is built off of four Excel files that are stored in a network folder. The network folder contains several files that aren't associated with my model, but I need the most recent version of the four files. My dilemma is that the files have datestamps, and files from previous days need to be kept for auditing purposes. My steps are as follows:
1. = Folder.Files("FolderPath")
2. = Table.SelectRows (Source, each
Text.Contains ([Name], "Text in Filename"))
3. = Table.Sort(Filtered,{{"Date modified", Order.Descending}})
4. = Table.FirstN(#"Sorted Rows",4)
5. = Table.SelectRows(#"Kept First Rows", each Text.Contains([Name], "Text in Filename"))
6. = #"Filtered Rows"{[#"Folder Path"="Filename with Specific Date"]}[Content]
How should I modify my steps so they find the most recent file that contains "X" in the name?
Hi, @JeffP25
Maybe you can try the following expression:
let
// Step 1: Get all the files in the folder
Source = Folder.Files("FolderPath"),
// Step 2: Filter for file names that contain "X".
FilteredByText = Table.SelectRows(Source, each Text.Contains([Name], "X")),
// Step 3: Extract the identifier in the file name (assuming the format is "Identifier_Date.xlsx")
ExtractIdentifier = Table.AddColumn(FilteredByText, "Identifier", each Text.BeforeDelimiter([Name], "_")),
// Step 4: Group by identifier and take the latest file for each group
GroupAndSelectLatest = Table.Group(ExtractIdentifier, {"Identifier"}, {
"LatestFile", each Table.Sort(_, {{"Date modified", Order.Descending}}){0}
}),
// Step 5: Expand and merge the file contents
ExpandContent = Table.ExpandRecordColumn(GroupAndSelectLatest, "LatestFile", {"Content"}, {"Content"}),
ImportExcelData = Table.TransformRows(ExpandContent, (row) => Excel.Workbook(row[Content]){0}[Data])
in
ImportExcelData
How to Get Your Question Answered Quickly
Best Regards
Yongkang Hua
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
User | Count |
---|---|
3 | |
3 | |
2 | |
2 | |
1 |
User | Count |
---|---|
9 | |
4 | |
4 | |
3 | |
3 |