Bug description
Steps to reproduce: 1. Open physical dataset 2. Create metric with name "test" and sql expression = 1 3. Save dataset 4. Edit dataset again: set metric currency for this metric as Prefix + USD 5. Save dataset 6. Edit dataset again: check "test" metric and notice that prefix and currency are empty 7. Set metric currency to Prefix + USD again 8. Try to save dataset and you receive error
From now on you can't save dataset without this error. Only removing this metric completely let you save dataset.
Screenshots/recordings
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
This bug occures in development mode on version 5.0.0 installed locally via docker compose.
Checklist
- [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
- [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
- [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
Comment From: dosubot[bot]
This issue is caused by a recent change where the metric currency field was migrated from a simple string to a nested JSON object with symbol
and symbolPosition
, and the backend now strictly validates these fields. The frontend UI for editing metrics in physical datasets does not fully support this new structure—when you edit and save a metric, the currency field can be lost or corrupted, leading to a schema validation error that blocks further saves unless you remove the problematic metric. This is a known gap after the recent "fix: Dataset currency" PR and related UI changes (source, source).
There isn't a documented workaround yet, but you can unblock yourself by removing the affected metric and recreating it. Editing the dataset JSON directly via the API (ensuring the currency field is a valid object with both symbol
and symbolPosition
) may also work, but the UI will likely continue to drop or corrupt the field until a fix is released.
This is not tracked in any existing issue or documentation, but it is a direct result of the recent schema and UI changes. If you need to keep using metric currencies, you may want to hold off on editing metrics in the UI until a fix lands.
To reply, just mention @dosu.
How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other