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
-
Vergesst es, ich habe eine andere Lösung gefunden.
-
^^ die da wäre? ;-)
-
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