0

Mit Unique in die Schleife

Hallo in die Runde, ich brauche mal eine kleine Denkhilfe und hoffe ihr könnt mir helfen.

Ich habe eine Tabelle "Herkunftsland Quali" in dieser gibt es die Spalten "Staat", "Region" und "Statistik Region". Regionen kommen doppelt vor (weil eine Region hat mehrere Staaten). Die Zahlen in Statistik refererieren immer auf die jeweilige Region. Da die Regionen aber mehrfach vorkommen, kommen auch die Statistikzahlen mehrfach vor.

Bsp:

 

Bisher alles so gewollt. Nun möchte ich in einem Formelfeld aus der Tabelle fünf Region  mit den höchsten Werten ermitteln. Als Ergebnis soll mir die Region und die Statistische Angabe angezeigt werden.

Mein Aktueller Stand zur Lösung ist, dass ich mit "rsort" und "Unique" die Tabelle schon mal gut filtern kann und die "Statistik Region" angezeigt bekomme:

rsort(unique((select 'Herkunftsland Quali').'Statistik Region'))

Als Ergebnis bekomme ich 2,1,0
Nun muss jedoch in einem zweiten Schritt noch die jeweilige Region zugeordnet werden. Etwa so:
Karibik 2
Australien/Ozeanien 1

Hier dachte ich, dass ich irgendwie mit einer Schleife weiterkomme:

let k := for i in range(0, 5) do
        unique(item((select 'Herkunftsland Quali') order by -'Statistik Region', i))
    end;
join(for i in k do
    i.Region + " " + i.'Statistik Region'
end, "
")

Doch die bringt nicht das gewünschte Ergebnis.

Könnt ihr hier helfen? Vielen Dank im Voraus

2 Antworten

null
    • mirko3
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Es könnte auch ohne Schleife gehen. Mirko

    join(unique(((select 'Herkunftsland Quali') order by -'Statistik Region').(Region + " " + 'Statistik Region')), "
    ")
    
    • Ralf_Kircheis
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Hallo Mirko,

    das ist genial. Hab vielen Dank! Ich habe noch ein Slice eingebaut, um mir nur die Top 5 anzeigen zulassen. Sieht dann bei mir so aus:

    join(slice(unique(((select 'Herkunftsland Quali') order by -'Statistik Region').(Region + " " + 'Statistik Region')), 0, 5), "
    ")
    

    Vielen Dank noch mal, das hat sehr geholfen. Liebe Grüße

Content aside

  • Status Answered
  • vor 2 MonatenZuletzt aktiv
  • 2Antworten
  • 29Ansichten
  • 2 Folge bereits