Forum Discussion

GothicBelle's avatar
GothicBelle
Regular Visitor
1 year ago

Needing error handling for empty folder source

I have a queue folder with many subfolders for different queue data that I download Excel files every day. Each subfolder has a query made for it, and my end result is an append of all the final tables from those queries.

My issue is some days there just isn't any queue files that gets downloaded for some of the subfolders-they are empty. So I get the error: 

 

Expression.Error: There wasn't enough elements in the enumeration to complete the operation.

Details:

   [Table]

This error shows up in the Sample File of whatever folder is empty that day.

Here's my original code:

let

   Source= Folder.Files ("S:\My Folder\Queue\Subfolders"),

   Navigation1 = Source {0}[Content]

in

   Navigation1

 

This error is happening in the Sample File for any query that the folder is empty. If there's no files there I'd like the query to either skip that empty folder or make an empty 'place holder table'

I have the feeling I should use the try..otherwise expression but where- the Sample File or in each of the tables since they also have a Source  code line??

6 Replies

  • let

       Source= Folder.Files ("S:\My Folder\Queue\Subfolders"),

       Navigation1 = if Table.CountRows(Source)>0 then Source{0}[Content] else <fake empty table with a [Content] column that you prepared before>

    in

       Navigation1

    • GothicBelle's avatar
      GothicBelle
      Regular Visitor

      This sort of worked but now my Transform Parameter is bugging out because dummies me said they were Excel files and they are CSV files.

      • lbendlin's avatar
        lbendlin
        Super User

        Please provide sample data that fully covers your issue.

         

  • Use this one

     

    let
    
       Source= Folder.Files ("S:\My Folder\Queue\Subfolders"),
    
       Navigation1 = try Source {0}[Content] otherwise null
    
    in
    
       Navigation1
    • lbendlin's avatar
      lbendlin
      Super User

      You cannot append null to a table. Needs to be an empty table. 

       

       

       

      Table:

      = #table({"Column1","Column2"},{{"Q","A"}})

       

      Table2:

      = #table({"Column1","Column2"},{})