0

Alterskategorien berechnen mit switch

Hallo zusammen, 

ich habe für Anmeldungen einer Sportveranstaltung eine Tabelle erstellt und muss nun die Teilnehmer in Alterskategorien einteilen. Dazu verwende ich folgenden Funktion:

let a := age(Anmeldungen.'Geburtsdatum');
let g := if Anmeldungen.'Geschlecht' = "Männlich" then
"M"
else
"F"
end;
switch a > 17 do
case a >= 18 and a <= 19:
g + "JU"
case a >= 20 and a <= 22:
g + "PR"
case a >= 23 and a <= 34:
g + "SE"
case a >= 35 and a <= 39:
g + "35"
case a >= 40 and a <= 44:
g + "40"
case a >= 45 and a <= 49:
g + "45"
case a >= 50 and a <= 54:
g + "50"
case a >= 55 and a <= 59:
g + "55"
case a >= 60 and a <= 64:
g + "60"
case a >= 65:
g + "65"
default:
"-"
end

Es funktionier zwar alles so wie gewünscht, aber irgendwie bin ich mir nicht sicher ob das nicht auch einfacher zu lösen wäre.

Vielleicht hat ja jemand einen besseren Vorschlag. 

Gruss Andreas

3 Antworten

null
    • Master70
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vergesst es, ich habe eine andere Lösung gefunden.

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    ^^ die da wäre? ;-)

    • Master70
    • vor 5 Jahren
    • Gemeldet - anzeigen

    function kategorie(age : text,gen : text) do
    let a := age;
    let g := switch gen do
    case "Männlich":
    "M"
    case "Weiblich":
    "F"
    default:
    ""
    end;
    let k0 := range(18, 19);
    let k1 := range(20, 22);
    let k2 := range(23, 34);
    let k3 := range(35, 39);
    let k4 := range(40, 44);
    let k5 := range(45, 49);
    let k6 := range(50, 54);
    let k7 := range(55, 59);
    let k8 := range(60, 64);
    let k9 := range(60, 99);
    if contains(text(k0), a) then
    "JU"
    else
    if contains(text(k1), a) then
    g + "PR"
    else
    if contains(text(k2), a) then
    g + "SE"
    else
    if contains(text(k3), a) then
    g + "35"
    else
    if contains(text(k4), a) then
    g + "40"
    else
    if contains(text(k5), a) then
    g + "45"
    else
    if contains(text(k6), a) then
    g + "50"
    else
    if contains(text(k7), a) then
    g + "55"
    else
    if contains(text(k8), a) then
    g + "60"
    else
    if contains(text(k9), a) then
    g + "65"
    end
    end
    end
    end
    end
    end
    end
    end
    end
    end
    end

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 3Antworten
  • 1306Ansichten