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

  • @BhumikaTewari 

     

    If it is only about generating sequential numbering have you tried CUMULATE?

  • 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.

     

    JeffreyLP_0-1654697311327.png

    to saved view: 

     

    JeffreyLP_1-1654697339463.png

     

     

    Then, load that saved view into a secondary list using the same name / code of the main list.

     

    JeffreyLP_2-1654697451077.png

     

     

    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.

     

    JeffreyLP_3-1654697612304.png

     

    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.

     

    JeffreyLP_4-1654697811136.png

     

    JeffreyLP_5-1654697845033.png

    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.

     

     

  • Thankyou @JeffreyLP for the detailed solution.

    I used similar approach with Ordering action & Cumulate.

  • 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.

  • shaziakhan
    edited November 4

    I have used RANKCUMULATE(1, 1, ASCENDING, TRUE) to one of Flat list property in Polaris model