Ranking Arraywerte
Ich bräuchte mal wieder etwas Unterstützung bei einem Array. Folgende Ausgangssituation:
Ich frage über eine Select-Abfrage eine Tabelle ab. Das Abfrage-Array wird absteigend nach dem Feld Gesamtumsatz je Artikel sortiert. In einem zweiten Schritt möchte ich in das Feld Ranking die Position des jeweiligen Array Eintrags schreiben. Besonderheit hierbei ist, dass ich nicht einfach durchnummerieren möchte, sondern sich das Ranking lediglich verändert, wenn eine abweichende Artikelnummer vorhanden ist:
Beispiel (Array ist absteigend nach Feld Gesamtumsatz (je Artikel) sortiert:
Array: Artikel A Artikel A, Artikel A, Artikel B, Artikel B, Artikel C
DS 1 - Artikel A, Position 1
DS 2 - Artikel A, Position 1
DS 3 - Artikel B, Position 2
DS 4 - Artikel B, Position 2
DS 5 - Artikel C, Position 3
Wie kann ich dies umsetzen?
Danke für einen kleinen Anschub...
Frank
2 Antworten
-
Hallo Frank. Versuche mal so: Wenn es in Deiner Tabelle schon ein Feld "Gesamtumsatz" gibt, dann nimm ein Zahlenfeld "Ranking" und einen Button mit folgendem Script.
let AryOfTotalSum := rsort(unique(for x in select Tabelle do x.Gesamtumsatz end)); for i in select Tabelle do i.(Ranking := index(AryOfTotalSum, i.Gesamtumsatz) + 1) end
Content aside
- Status Answered
- vor 1 JahrZuletzt aktiv
- 2Antworten
- 52Ansichten
-
2
Folge bereits