Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
JeffP25
Regular Visitor

Dynamic File Import

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?

1 REPLY 1
Anonymous
Not applicable

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.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors