Issue Summary

Is it possible to move a decimal place using the table number formatting in Redash?

Here’s the scenario I’m dealing with: I’m using the JSON data source and query parameters to fetch data on-demand from a third-party API and display it in a dashboard. That API is returning US currency in cents instead of dollars (e.g. $10.56 is being returned from that API as 1056).

I can’t figure out any way to use the number formatting options to move the decimal place so that the currency appears correctly in the table visualization. Fetching the data from the API in advance and then using the Query Results source to manipulate the number is not an option. The data must be fetched on-demand.

Any ideas? Workarounds? Or am I out of luck . . .?

Technical details:

  • Redash Version: v10 beta

QRDS is the answer to this.

What do you mean by on-demand? Are you aware that you QRDS will re-execute the backing queries whenever you need?

What do you mean by on-demand?

By on-demand, I mean “fetched from the API when the dashboard is loaded with dashboard-level parameters.” I’m fetching data about customers from the third-party API, for example. If I don’t provide the JSON data source and API with a customer ID as a parameter when I run the query, it will return > 100,000 results . . . but not really, because the JSON data source isn’t sophisticated enough to provide pagination features, and the API I’m using will return a maximum of 100 customers’ data at a time. In other words, without more sophisticated third-party API access features in the JSON data source (such as pagination…), I actually can’t fetch all of the data in advance and then use QRDS. I need to to use an API parameter to only fetch a single customer’s data.

When the dashboard is loaded, I want to use the dashboard-level parameters (in this case the customer ID) to reach out the API and fetch that customer’s data, and display it in a table.

That’s more of the background. I’m wide open to any alternative solutions. I was hoping to avoid using an ETL to fetch all the data that I need from the API and warehouse it and then use Redash to query the warehouse. That seems like a lot of work in order to move a decimal place . . .