0

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

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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
    
      • Pro BoutiquenFonds GmbH
      • Eichelfr
      • vor 1 Jahr
      • Gemeldet - anzeigen

       Danke, klappt einwandfrei! Frank

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 2Antworten
  • 52Ansichten
  • 2 Folge bereits