0

Count in einem Datensatz

Hallo liebe Gemeinde,

ich komme mit der Count-Funktion grade nicht weiter und brauche euer Schwarmwissen :-)

Ich habe eine Tabelle siehe Bild, die monatlich einen Datensatz bekommt. Innerhalb der Tabelle gibt es 10 Spalten die über eine Funktion eine Berechnung durchführen und dann das Feld jeweils mit "Ja" oder "Nein" befüllen. 

Jetzt möchte ich die Anzahl "Ja" in dem Datensatz z.B. für Januar zählen um damit weitere Berechnungen durchführen können. Wichtig ist, dass immer nur der jeweilige Datensatz zum zählen genommen wird (Januar), da z.B. im Februar weitere "Ja" hingekommen sein können, die dann in diesem Datensatz gesucht und gezählt werden sollen.

Allgemeine Angaben:

Tabellenname: GP_2024_Hilger
betroffene Spalten die "Ja" oder "Nein" enthalten können und gezählt werden sollen: GP_GES , GP_UV, GP_RS , GP_PK , GP_GI , GP_GPR , GP_LV , GP_INV , GP_BF , GP_GSP

7 Antworten

null
    • Torsten_Stang.1
    • vor 3 Monaten
    • Gemeldet - anzeigen
    cnt(GP_GES , GP_UV, GP_RS , GP_PK , GP_GI , GP_GPR , GP_LV , GP_INV , GP_BF , GP_GSP)
    
      • Marcel_K
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Damit zählt er schon mal die Spalten aber nicht den Inhalt "Nein" 
      Wenn ich jetzt 

      cnt(GP_GES, GP_UV, GP_RS, GP_PK, GP_GI, GP_GPR, GP_LV, GP_INV, GP_BF, GP_BSP where "Nein")
      

      setze.. gibt er einen Fehler aus

    • Marcel_K
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Gelöst.

      • Torsten_Stang.1
      • vor 3 Monaten
      • Gemeldet - anzeigen

       super, wie?

      Ich hatte meinen Code probiert und für korrekt befunden - aber wohl falsch geschaut... ;-/

      • Marcel_K
      • vor 3 Monaten
      • Gemeldet - anzeigen

       Vielleicht nicht sauber meine Lösung, aber mathematisch....

      sum(if GP_GES = "Ja" then 1 else 0 end, if GP_UV = "Ja" then 1 else 0 end, if GP_RS = "Ja" then 1 else 0 end, if GP_PK = "Ja" then 1 else 0 end, if GP_GI = "Ja" then 1 else 0 end, if GP_GPR = "Ja" then 1 else 0 end, if GP_LV = "Ja" then 1 else 0 end, if GP_INV = "Ja" then 1 else 0 end, if GP_BF = "Ja" then 1 else 0 end)
      
      • Torsten_Stang.1
      • vor 3 Monaten
      • Gemeldet - anzeigen

       das wäre meine pragmatische Lösung gewesen:

      var mycount := 0
      if GP_GES then mycount := mycount + 1 end;
      if GP_UV then mycount := mycount + 1 end;
      if GP_RS then mycount := mycount + 1 end;
      if GP_PK then mycount := mycount + 1 end;
      if GP_GI then mycount := mycount + 1 end;
      if GP_GPR then mycount := mycount + 1 end;
      if GP_LV then mycount := mycount + 1 end;
      if GP_INV then mycount := mycount + 1 end;
      if GP_BF then mycount := mycount + 1 end;
      if GP_BSP then mycount := mycount + 1 end;
      
      

      mycount könntest Du dann direkt im Skript weiterverwenden...

      • Maurice
      • vor 3 Monaten
      • Gemeldet - anzeigen

       sieht wohl so aus, dass Marcel kein true/false Feld verwendet für Ja/Nein sondern ein Textfeld. Insofern wäre es dann wohl

      if GP_GES = "Ja" then mycount := mycount + 1 end;
      

      usw. Frage ist, warum es nicht ein true/false Feld sein kann.

Content aside

  • vor 3 MonatenZuletzt aktiv
  • 7Antworten
  • 47Ansichten
  • 3 Folge bereits