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.