Seite 1 von 2
Frage zur Daten
Verfasst: 22.04.2020 14:29
von marcelx
Hallo,
ich habe Daten in der Form (als Beispiel):
zur "A" gehört "1", "2" und zur "1" gehört "Eins", zur "2" gehört "Zwei"
zur "B" gehört "4" und zu "4" gehört "OK"
zur "C" gehört "4", "2", "51" und zu "4" gehört "lala" zu "2" gehört "mama" und zu "51" gehört "papa"
Ich will wissen z.B. was gehört zur "C" und "2" ( => "mama")
Hat jemand eine Idee wie ich meine Daten organisieren kann.
Re: Frage zur Daten
Verfasst: 22.04.2020 14:40
von Kiffi
kann man beispielsweise mit einer Map machen. Der Key wird dann aus Buchstabe + Zahl gebildet.
Code: Alles auswählen
NewMap myMap.s()
myMap("A|1") = "Eins"
myMap("A|2") = "Zwei"
myMap("B|4") = "OK"
myMap("C|4") = "lala"
myMap("C|2") = "mama"
myMap("C|51") = "papa"
Debug myMap("C|2")
Kommt letztendlich darauf an, was Du damit machen willst. Wenn es komplexer werden soll, kann man auch über den Einsatz einer Datenbank nachdenken.
Grüße ... Peter
Re: Frage zur Daten
Verfasst: 22.04.2020 14:51
von marcelx
Danke Kiffi.
Ich präzisiere mein Problem:
Ich will alle Daten, welchen zur "A" gehören:
1 Eins
2 Zwei
Gruß
MarcelX
Re: Frage zur Daten
Verfasst: 22.04.2020 15:12
von Nino
Du kannst z.B. eine
Adjazenzliste oder -matrix anlegen.
Re: Frage zur Daten
Verfasst: 22.04.2020 16:09
von marcelx
Danke Nino, leider weis ich nicht wie ich dass interpretieren solle.
Ich muss noch dazu sagen, die Daten das z.B. zur "A" gehören keine Relation zu der andere Daten haben
Re: Frage zur Daten
Verfasst: 22.04.2020 19:54
von ST4242
Hallo,
vielleicht geht es mit verschachtelten Maps
Code: Alles auswählen
; zur "A" gehört "1", "2" und zur "1" gehört "Eins", zur "2" gehört "Zwei"
; zur "B" gehört "4" und zu "4" gehört "OK"
; zur "C" gehört "4", "2", "51" und zu "4" gehört "lala" zu "2" gehört "mama" und zu "51" gehört "papa"
;
; Ich will wissen z.B. was gehört zur "C" und "2" ( => "mama")
Structure DatenMap
Map daten.datenmap()
EndStructure
NewMap mapdaten.datenmap()
AddMapElement(mapdaten(),"A")
AddMapElement(mapdaten()\daten(),"1")
AddMapElement(mapdaten()\daten()\daten(),"Eins")
AddMapElement(mapdaten()\daten(),"2")
AddMapElement(mapdaten()\daten()\daten(),"Zwei")
AddMapElement(mapdaten(),"B")
AddMapElement(mapdaten()\daten(),"4")
AddMapElement(mapdaten()\daten()\daten(),"OK")
;suche nach a 2
If FindMapElement(mapdaten(),"A")
If FindMapElement(mapdaten()\daten(),"2")
Debug MapKey(mapdaten()\daten()\daten())
EndIf
EndIf
Falls die Tiefe der verschachtelung bekannt ist, kann es vielleicht auch einfacher gestaltet werden.
Gruß
Stefan
Re: Frage zur Daten
Verfasst: 22.04.2020 20:06
von marcelx
Danke Stefan,
so ist es wunderbar und ich habe dabei was gelernt
Gruß
MarcelX
Re: Frage zur Daten
Verfasst: 22.04.2020 20:12
von Kiffi
@ST4242:
geht sogar noch ein wenig einfacher:
Code: Alles auswählen
;suche nach A 2
Debug MapKey(mapdaten("A")\daten("2")\daten())
Re: Frage zur Daten
Verfasst: 22.04.2020 21:46
von marcelx
Zusatz Frage:
wie kann ich für z.B. "A" die Werte "1" /"Eins" und "2" / "Zwei"
in eine ForEach loop?
Re: Frage zur Daten
Verfasst: 23.04.2020 06:54
von Nino
marcelx hat geschrieben:Zusatz Frage:
wie kann ich für z.B. "A" die Werte "1" /"Eins" und "2" / "Zwei"
in eine ForEach loop?
Es ist nicht verständlich, was du meinst. So kann dir niemand eine Antwort geben.
Du solltest vollständige und klare Sätze schreiben.