Redash 10 Excel data source

Is there any info out there on how the new Excel data source works?

Great question :smiley:

This merged as part of V10 but isn’t included in the docs yet. I haven’t used it before but I just loaded it up and have a working version. I’ll open a PR to the documentation website soon. I figured this out just by looking at the query runner source code :wink:

But for now here you go:


Excel Data Source

The Excel data source introduced in V10 accepts queries in yaml format. Your yaml may contain two different tags:

  • url - the URL that will be fetched
  • ua - the user agent string that will be passed in with the request

An example query that uses a publicly available data set:

url: https://www.dol.gov/sites/dolgov/files/ETA/naws/pdfs/NAWS_A2E191.xlsx

It produces this table:

Not sure if I should create a new topic, or if i am allowed to continue here, but i was wondering if the excel data source allows picking up multiple files from the location ( something like location*.xlsx, or location test%.xlsx)

Not as far as I know. But this could be a good addition. How would you expect this to behave? Since most queries return at most one set of tabular data, would you expect multiple table visualisations to appear? Would the tables be concatenated?

i was thinking of a scenario where the files are similar in structure (eg: different day logs , etc), so the expected behavior in this case would be indeed concatenation.

That makes sense. Can you create a feature request thread for this here on the forum? Just specify the expected behavior. This way the community can get visibility on outstanding pull requests.

Alternatively, if you want to implement this yourself I’m happy to answer questions, review, merge etc.

1 Like

How does the Excel data source handle spreadsheets that contain multiple sheets / tabs?

If you look at the query runner code it appears to use the default behavior of read_excel in Pandas. Which is to pull the first sheet. It would be a trivial adjustment to make this configurable in the query, though.

See the query runner code here.

1 Like