Textfeld per ‚contains‘ oder ,like’ abfragen
Hallo zusammen,
ich habe folgende Abfrage ausbaldowert:
if contains(Ticketname, "STORNO Freifahrt") or contains(Ticketname, "STORNO Kind unter 6 Jahren") or contains(Ticketname, "STORNO Einzelfahrt (1 Euro)") or contains(Ticketname, "STORNO Schwerbehindert frei") or contains(Ticketname, "STORNO Freifahrt") then
cnt((select 'Statistik 2022').Ticketname) - 2
else
cnt((select 'Statistik 2022').Ticketname)
end
Irgendwie funktioniert das aber nicht. Was mache ich da falsch? Wäre eine Abfrage per ‚like‘ und nur „STORNO“ sinnvoller?
Kann mir da jemand weiterhelfen?
Beste Grüße
Wolfgang
10 Antworten
-
Und was funktioniert nicht?
Soll irgendwas angezeigt werden und wenn ja wo?
Steht das Script in einer Funktion?
Mehr Input.
cnt((select 'Statistik 2022').Ticketname) ist eigentlich Sinnfrei. Damit erhältst du die Anzahl aller vorhandenen Records in der Tabelle Statistik 2022. Es fehlt wahrscheinlich ein Argument. Was soll denn das -2 bewirken? Hier zu Antworten heißt raten.
p.s. "STORNO Freifahrt" wird 2xAbgefragt, das löst aber nicht dein Problem, wenn man nicht weiss, was du mit dem Script bewirken möchtest. -
Danke für die Rückmeldung.
Da fragt jetzt ein Spezialist den Einsteiger. Tut mir leid, wenn diese Angaben unvollständig waren.
Der doppelte Eintrag ist natürlich überflüssig. Der Tabellenname lautet „Statistik 2020“. In dieser Tabelle sollen in der Spalte „Ticketname“ alle Einträge gezählt werden, z.B. „Kind unter 6 Jahren“, „Freifahrt“, „Schwerbehindert frei“ usw. Das ist gleich die Anzahl der Fahrgäste. Wenn sich darunter aber auch ein Stornoeintrag befindet wie z.B.„STORNO Freifahrt“, STORNO Einzelfahrt (1Euro)“ oder „STORNO Schwerbehindert frei“, müssen von der Gesamtanzahl jeweils 2 abgezogen werden ( zunächst wird das Ticket eingebucht, danach dann die Stornobuchung. Deshalb -2). Das Script steht in einem Berechnungsfeld „Gesamtzahl Fahrgäste“ in einer Formularansicht.
Jetzt hoffe ich nur, daß diese Beschreibung weiterhelfen kann.
-
Vielleicht noch zur Ergänzung:
Das Ergebnis ist immer die volle Anzahl der Spalte. Die „-2“ funktioniert nicht.
-
Ihr habt mich auf den richtigen Weg gebracht. Leicht angepasst:
let myT := cnt((select 'Statistik 2022').Ticketname);
let myS := cnt((select 'Statistik 2022')[contains(Ticketname, "STORNO")]) + 1;
myT - myS
Jetzt stimmt alles. Herzlichen Dank euch Beiden. -
Korrektur:
Richtig ist in Zeile 2 wie vorgegeben „*2“ statt „+1“
-
Vielen Dank auch noch mal für die „Vollständigkeit“. Ich habe mir das falsche Ergebnis zunächst nicht erklären können. Es sind tatsächlich unter Ticketname auch leere Felder vorhanden. Passt. Toll.
Kann ich diese Ticketabfrage auch per Monat eingegrenzt abfragen? Mit einem Präfix evtl.? Jedes Ticket ist mit Datum in der Spalte „Datum“ versehen (so auch mit einer „Sollzeit“).
Gruß
Wolfgang
-
Auch das war ein Treffer ins Schwarze.
Vielen vielen Dank für die Hilfestellung.
Wolfgang
Content aside
- Status Answered
- vor 2 JahrenZuletzt aktiv
- 10Antworten
- 223Ansichten
-
3
Folge bereits