Volgorde bepalen van type velden
In sommige situaties is het handig de volgorde te kunnen bepalen van bepaalde types. Stel je heb een set van data met daarin artikelcodes. De set ziet er als volgt uit.
ArtikelCode | Datum | VolgordeHoogNaarLaag | HoogsteVolgorde | VolgordeLaagNaarHoog |
---|---|---|---|---|
A001 | 2024-01-01 | 2 | 3 | 2 |
A001 | 2025-01-01 | 1 | 3 | 3 |
A001 | 2023-01-01 | 3 | 3 | 1 |
A002 | 2024-05-01 | 1 | 2 | 2 |
A002 | 2021-01-01 | 2 | 2 | 1 |
ArtikelCode: Hierin staat de de code van het artikel. Hierin zie je dat er 3 regels zijn met A001 en 2 met ertikel A002
Datum: Dit is het veld waarop gesorteerd moet worden
VolgordeHoogNaarLaag: Dit bevat de volgorde van de datums voor het betreffende artikel. Voor artikel A001 gaat het dus van 1-3, voor artikel A002 gaat het van 1-2.
In onderstaande formule wordt de SOM.PRODUCT formule gebruikt. Hierin wordt gekeken naar alle regels waarvan de ArtikelCode overeenkomt met de ArtikelCode op de betreffende regel. Daarna wordt de uitkomst vermenigvuldigd met alle regels waarvan de Datum hoger is dan de datum op de regel.
u.SOM.PRODUCT(Veld!ArtikelCode.ID=={ArtikelCode},Veld!Datum.ID>{Datum})+1
HoogsteVolgorde: Dit is de hoogste waarde voor het betreffende artikel
u.MAX.ALS.VOORWAARDEN(Veld!VolgordeHoogNaarLaag.ID,Veld!ArtikelCode.ID,{ArtikelCode})
VolgordeLaagNaarHoog: Dit bevat de volgorde omgekeerd.
int({HoogsteVolgorde})-{VolgordeHoogNaarLaag}+1
Optioneel is de formule ook te maken door min o f meer dezelfde formule te gebruiken als bij VolgordeHoogNaarLaag. Dan wordt het als volgt
u.SOM.PRODUCT(Veld!ArtikelCode.ID=={ArtikelCode},Veld!Datum.ID<{Datum})+1