Calculate rank so that the smaller number is higher rank
I need to calculate the rank on a metric where the lower value is higher in rank, and the higher values are lower in rank. This is how I've been calculating standard rank (where higher values are high in rank)
SELECT `Metric`
,`TimeFrame`
,`VALUE`
,`Name`
,`Grouping`
,`ProcessorName`
,CASE
WHEN @priorMetric = `MetricID` AND `VALUE` = @priorValue THEN @rank := @rank
WHEN @priorMetric = `MetricID` THEN @rank := @rank + 1
else @rank := 1
END AS Rank
,@priorMetric := `MetricID` as MetricID
,@priorValue := `VALUE`
FROM sort
JOIN(SELECT @rank := 0, @priorMetric:= '', @priorValue := 0) r
Tagged:
0
Comments
-
How is your
sort
table defined? Can you just make sure you're sorting the values in ASC instead of DESC?**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0
Categories
- All Categories
- 1.1K Product Ideas
- 1.1K Ideas Exchange
- 1.2K Connect
- 969 Connectors
- 257 Workbench
- Cloud Amplifier
- 1 Federated
- 2.4K Transform
- 76 SQL DataFlows
- 501 Datasets
- 1.8K Magic ETL
- 2.7K Visualize
- 2.2K Charting
- 375 Beast Mode
- 20 Variables
- 485 Automate
- 103 Apps
- 378 APIs & Domo Developer
- 6 Workflows
- 22 Predict
- 6 Jupyter Workspaces
- 16 R & Python Tiles
- 316 Distribute
- 64 Domo Everywhere
- 252 Scheduled Reports
- 59 Manage
- 59 Governance & Security
- 1 Product Release Questions
- 5K Community Forums
- 37 Getting Started
- 23 Community Member Introductions
- 63 Community Announcements
- 4.8K Archive