NEWS
[gelöst] Anzahl Vorkommen in Datenpunkt ermitteln
-
Moin zusammen aus der Corona-Hochburg Deutschlands,
ich verzweifle an einem Blockly. Ich möchte das Vorkommen eines Wortes in einem Datenpunkt, später noch die Anzahl an "1" , "2" etc. zählen und per Telegram ausgeben.
Nun habe ich folgendes zusammengestellt:
Funktioniert (halbwegs). Wie zu erkenne ist, dividiere ich die Anzahl des Vorkommens durch 99, denn spannenderweise wird jedes einzelne Vorkommen mit 99 erkannt. Ist also das Wort "Migräne" 2 Mal vorhanden, erscheint als Ergebnis 198.
Was mir jetzt aufgefallen ist, ist dass die Zählweise auch an anderer Stelle nicht stimmen kann. Statt Migräne habe ich das Wort "Stress" in den Datenpunkt hinzugefügt. Dieser wurde ebenfalls mitgezählt, aber scheinbar nicht mit 99 pro Vorkommen sondern anders.
Daher: was mache ich falsch? Ich möchte nur das Wort "Migräne" zählen und 1 sollte auch 1 sein.
Der Vollständigkeit halber:
Inhalt des Datenpunktes Speicherunggeparst:
-
@PatrickFro sagte:
Inhalt des Datenpunktes Speicherunggeparst:
Vorschlag (nur Teil "Migräne" zählen):
-
Vielen Dank, so klappt es.
-
@PatrickFro sagte:
so klappt es.
Bitte das Thema in der Überschrift des ersten Beitrags als [gelöst] markieren.
-
@paul53 Doch noch eine Frage: Kann es sein, dass die Ermittlung nur für Worte funktioniert?
Zähle ich die Intensität der Schmerzen wird keine Anzahl ermittelt. Dies obwohl der Aufbau der selbe ist wie:
-
@PatrickFro sagte:
Kann es sein, dass die Ermittlung nur für Worte funktioniert?
Nein, das funktioniert für beliebige Zeichenketten - auch mit einzelnen Buchstaben / Zahlen.
@PatrickFro sagte in [gelöst] Anzahl Vorkommen in Datenpunkt ermitteln:
Zähle ich die Intensität der Schmerzen
Damit nicht beliebige Ziffern (aus Datum/Uhrzeit) mitgezählt werden, sollte der Suchbegriff erweitert werden, z.B. "Intensität: 4".
Da sich die Variable Textherkunft in jeder Schleife ändert, muss vor jeder Schleife der ursprüngliche Text wieder hergestellt werden. -
@PatrickFro
Da Du offenbar das Vorkommen mehrerer Suchbegriffe zählen möchtest, packe "zaehlen" in eine Funktion, an die der Suchtext übergeben wird und die die Zahl des Vorkommens zurück gibt.Aufruf:
Die Ziffer "1" kommt übrigens 10 mal im Ursprungs-Text vor.
-
@paul53 Vielen Dank, klappt alles nun wunderbar.
Gibt es eigentlich eine Größenordnung, die in einem Datenpunkt nicht überschritten werden sollte?
Wenn ich z.b. für einen Monat oder ein Jahr die Daten von jedem Tag in einem Datenpunkt eintrage, sollte das kapazitätsmäßig funktionieren? Ich speichere ja nichts in eine richtige Datenbank.. -
@PatrickFro sagte:
Gibt es eigentlich eine Größenordnung, die in einem Datenpunkt nicht überschritten werden sollte?
Die gibt es sicher, sollte aber bei täglichen Einträgen für ein Jahr nicht erreicht werden.
-
@paul53
Ich bin an einen Fehler in meiner Denkweise gestoßen. Es sollen die Tage gezählt werden, an denen Migräne eingetragen war. Da sich aber im Laufe des Tages die Intensität ggf. ändert, kann mehr als ein Eintrag pro Tag stattfinden. Da ich die Einträge zähle, kommen verkehrte Anzahl von Tagen heraus.Kann das Blockly so erweitert werden, dass wenn Suchtext "Datum" + 10 Stellen (wg. TT.MM.JJJJ) bereits vorhanden ist, keine Addierung mehr als 1 für den Tag passiert sondern dann eben nur ein Tag gezählt wird?
-
Ich glaube, ein klein wenig weiter bin ich gekommen:
Hiermit kann ich zumindest schon das Datum und die Schmerzart Migräne als Wort aus der JSON filtern. Nun möchte ich einbauen, dass falls das Datum nicht das selbe ist wie bei der letzten Schleife, der cnt Anzahl Migräne um 1 erhöht wird. Letzter Wert kenne ich aber nur aus einem Trigger, den ich hier nicht nutzen kann. Habe ich noch eine andere Möglichkeit, dieses als Vorgabe zu hinterlegen?