Alternatives to Rank in Polaris engine
Hi Community members,
I am looking for some alternatives to assign sequential ordering in Polaris model as the default "Rank" function is unavailable there.
Thank you!
Answers
-
2
-
EDIT: A direct cumulate on the original list's SYS module can work much cleaner. Instead of the below, the re-order action can allow for workaround ranking without a need for a secondary list.
Hello,
You could implement a potential list workaround, though it would be heavily dependent on the list size/ranking frequency. It could revolve around maintaining & managing a secondary list that mirrors the first.
First, you could sort the current list you are trying to rank by the applicable value. Create a saved view of that ranking.
to saved view:
Then, load that saved view into a secondary list using the same name / code of the main list.
After, create a system module for that secondary list with a count line item equal to 1. Then you can create a second line item using cumulate on that count. This will create a dummy rank down the list.
Then in a module dimensioned by the original list, reference this back using a finditem to link the two lists. Pull in the dummy rank.
When a new rank is needed you would have to delete the secondary list entirely and re-load. Cumulate is based off the original order list and not any re-orders.
A potential issue with this workaround is that you would need to delete the entire secondary list and re-import every time you need to re-rank the original list. This deviates from recommended best practices. It is certainly not optimal, and not recommended unless no other alternatives could be implemented.
This breaks best practice because there is an inherent limit to the amount of items you can load to a list over the course of its' life. So if you have a large list you are ranking & you need to rank it frequently, then this workaround may not be feasible.
2 -
Thankyou @JeffreyLP for the detailed solution.
I used similar approach with Ordering action & Cumulate.
1 -
Hi @Misbah ,
Ordering action combined with cumulate seems to be a workaround until we have the Rank function working in Polaris.
Thank you for your response.0 -
I have used RANKCUMULATE(1, 1, ASCENDING, TRUE) to one of Flat list property in Polaris model
0