0

Combobox statistisch auswerten

Hallo,

ich habe eine Combobox mit Mehrfachauswahl. 

Diese Auswahlfeldern können mehrfach ausgewählt werden.  Ich möchte jetzt (um das zu zählen) über die Datenbank rauskriegen, wie oft ein bestimmtes Auswahlfeld ausgewählt wurde. Eine eigen Tabelle nutzt mir nichts, da ich dann andere Probleme bekomme.

Danke Tom 

6 Antworten

null
    • Frank_Schafer
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Tom,

    die Anzahl der Datensätze mit einem bestimmten ausgewählten Wert kannst du wie folgt ermitteln:

    count(select TABELLE where contains(text(chosen(FELD)), "GESUCHTER_WERT"))

    Bitte TABELLE, FELD und GESUCHTER_WERT mit deinen Bezeichnungen ersetzen. Dies kannst Du dann je nach Bedarf in einem Script verwenden oder in ein Funktionsfeld einfügen.

    VG Frank 

    • Tom
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Frank,

    das hilft schon mal. Danke.

    • Tom
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Dazu habe ich noch eine ergänzende Frage - wie kann ich eine Schleife über das ganze laufen lassen?

    Die Combobox hat x Elemente und ich will für jedes Element schauen ob es selektiert ist und wenn ja, dann 1 in Feld schreiben, wenn nein, dann 0 in Feld schreiben.

    Die Statfelder hänge ich an jeden Datensatz, so dass ich das beim anklicken automatisch schreibe und am Ende einfach nur die Felder über alle Datensätze auswerte.

    Ich habe nur keine Lust alle Felder von Hand mit if then else runterzuschreiben...

     

    Versuche waren bisher:

     

    for i in text(Schwerpunkt) do
    ...
    end

    hier liefert aber text(Schwerpunkt) dummerweise nur ein leeres Ergebnis :(.

    Ich habe dann auch noch so ein bisschen Verständnisprobleme. Wenn die Schleife funktionieren würde, dann wollte ich eine 1 (vorhanden) oder 0 (nicht vorhanden) in ein Zahlenfeld mit dem gleichen Namen schreiben. 

    Wie komme ich dann von i auf den Namen? i.combobox ist ja nicht richtig.... und 2. wie kann ich dann das Zahlenfeld bestücken, dass so heißt wie der Texteintrag in der Combobox.

    Eigentlich wäre dann (Wenn es funktioniert) ja folgendes zu schreiben:

     

    for i in text(Schwerpunkt) do

    if contains(text(chosen(Schwerpunkt)), i.textcombox) then 

    i:=1 else

    i:= 0;
    end

     

    Erklärung:

    Die Combobox enthält Schwerpunkte. Ich möchte statistisch auswerten, wie oft der Schwerpunkt bei einem Spieler gesetzt wurde. Idee ist, bei jedem Training zu hinterlegen, ob der Schwerpunkt gesetzt wurde oder nicht. Das sind einfache Zählfelder, die 1 oder 0 enthalten. Damit kann man das hinterher sehr gut mit Diagrammen verbinden. 

     

    Danke für die Hilfe.

    • Tom
    • vor 4 Jahren
    • Gemeldet - anzeigen

    for i in text(Schwerpunkt) do

    if contains(text(chosen(Schwerpunkt)), i.textcombox) then 

    i_Statistikfeld:=1 else

    i_Statistikfeld:= 0;
    end

    • Leonid_Semik
    • vor 4 Jahren
    • Gemeldet - anzeigen

    Hallo Tom,

    wenn du das Feld Schwerpunkt in einem Datensatz dursuchst, dann brauchst du für contains() keine Schleife.

    einfach die Formel von Frank nehmen:

    Statistikfeld:=if contains(text(chosen(FELD)), "GESUCHTER_WERT") then 1 else 0.

    allerdings kann es uU. zu  Problemen kommen wenn gesuchter Wert in mehreren Einträgen bei multiple choice vorkommt (Bremslicht, Bremslicht rechts, Bremslicht links o.ä.)

    Um auf nummer sicher zu gehen würde ich tatsächlich eine Schleife bauen. Dafür am besten sich die  ID vom gesuchten Eintrag merken:

    ---

    Statistikfeld:=0;

    for i in numbers(Schwerpunkt) do

    if i='GESUCHTE ID' then Statistikfeld:=1

    end

    end

    ---

    Leo

    • Tom
    • vor 4 Jahren
    • Gemeldet - anzeigen

    perfekt, danke... der Rest ist jetzt Tipparbeit :)

Content aside

  • vor 4 JahrenZuletzt aktiv
  • 6Antworten
  • 1709Ansichten