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
- 10.5K All Categories
- 6 Connect
- 916 Connectors
- 250 Workbench
- 460 Transform
- 1.7K Magic ETL
- 69 SQL DataFlows
- 476 Datasets
- 187 Visualize
- 251 Beast Mode
- 2.1K Charting
- 11 Variables
- 16 Automate
- 354 APIs & Domo Developer
- 88 Apps
- 3 Workflows
- 20 Predict
- 5 Jupyter Workspaces
- 15 R & Python Tiles
- 245 Distribute
- 62 Domo Everywhere
- 242 Scheduled Reports
- 21 Manage
- 42 Governance & Security
- 170 Product Ideas
- 1.2K Ideas Exchange
- 10 Community Forums
- 27 Getting Started
- 14 Community Member Introductions
- 55 Community News
- 4.5K Archive