Koalitionen/ 5% Hürde / Umsetzung in Properties

Wie stelle ich sicher, dass meine Property nur Parteien über 5% als mögliche Koalitionspartner aufnimmt? Wie muss Truth und Mapping expression formuliert werden??

Hier die aktuelle Formulierung:
Name
LIST_sortierte_Koalitionen
Truth Expression
truth($LIST_Koalitionen)
Mapping Expression
sort(list($LIST_Koalitionen), “percent”)

Name
LIST_gefilterte_Koalitionen
Truth Expression
true
Mapping Expression
filter(list($LIST_sortierte_Koalitionen), [x -> numeric(#x.percent) != 0 and str(#x.name) != “”])

Hi,

das ist eine gute Frage und ich muss ein wenig recherchieren, um sie zu beantworten.

Ich nehme an, dass du Koalitionen ausschließen möchtest, bei denen nicht alle Parteien im Parlament wären.

Aber: Diese dafür nötigen Informationen werden in LIST_Koalitionen
Du könntest in der LIST_Koalitionen momentan so nicht abgelegt. Ein Ansatz mit Filtern muss also erst einmal scheitern.

Du könntest versuchen, einen Wahrheitswert an den Eintrag in LIST_Koalitionen zu hängen, der sagt, ob alle Teilnehmer der Koalition ins Parlament kommen.
Nach dem kannst du die Liste später filtern.

Du müsstest also jedem Eintrag einmal ungefähr so eine Analyse hinzufügen
{"name":"CDUKOMMA CSU und SPD", "percent": numeric(#CDU_CSU_SPD), "voteshare": (100 * (numeric(#CDU_CSU) + numeric(#SPD))) , "nickname":"große Koalition", "all_in_parliament": truth(numeric(#CDU_CSU) >= 0.05 and numeric(#SPD) >= 0.05)}

Dann könntest du versuchen, mit so einer Mapping Expression zu filtern:
filter(list($LIST_sortierte_Koalitionen), [x -> numeric(#x.percent) != 0 and str(#x.all_in_parliament) == "true"])

Du musst etwas herumprobieren, wie die Schreibweisen genau sind. Probiere das am besten mit dem Eintrag einer Koalition aus und schau dir dann den ATML3-Debug von einem Datensatz an, von dem du weißt, dass die Koalitionsparteien alle im Bundestag wären.

LG

Frank

Wo genau muss ich die beiden Dinge anfügen? Das erste sieht ja wie die Erweiterung meiner aktuellen Mapping Expression aus - gehört das da dazu? Wo muss ich den Filter einfügen?

Vielen Dank für Ihre Mühe :wink:

Du hast es eigentlich schon richtig gesagt: Der Filter wird in einer neuen Property in der Mapping Expression angelegt, die 5%-Berechnungen wiederum kommen in der Mapping Expression von LIST_Koalitionen dazu.

LG

Frank

1 Like

Ich hab mal mein Glück probiert, leider sagt mir die Mapping Expression bei LIST_Koalitionen jetzt: 1:176: Vertigo Syntax ERROR: extraneous input ‘:’ expecting ‘if’ :frowning: