0

Höchsten Wert in einem Zeitraum feststellen

Hallo, ich bin eigentlich ein toller Anfänger, hab aber schon recht viel hinbekommen!

ich habe für mehrere Jahre einen errechneten Zahlenwert .

diesen möchte ich aber für einen Zeitraum haben!

Also den höchsten wert vom 1.1.24 - 31. 12.24

Es handelt sich um errechnet Gesamtpunkte einer Garde auf Turniere

Wenn ich das verwende:

 

max('02 - Gemischte Garde'.'02 - Gemischte Garde'.Punkte)

dann bekomme ich den Höchsten Wert aller Turnierjahre, aber ich möchte den Höchsten Wert in einem Zeitraum haben. Kann mir jemand helfen?

14 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Hallo Petra, ich gehe mal davon aus, dass es zu jedem Punkte-Wert auch ein Datum gibt (DATUM). Wenn der Zeitraum ein Kalenderjahr sein soll, dann könntest du es (z. B. 2024) in ein Zahlenfeld (Jahr) schreiben und den höchsten Wert folgendermaßen ermitteln:

    let myJ := Jahr;
    max((select '02 - Gemischte Garde' where year(DATUM) = myJ).Punkte)

    Wenn du den Zeitraum bspw. in Datumsfeldern 'Von Datum' und 'Bis Datum' angeben willst, sähe die Formel so aus:

    let myV := 'Von Datum';
    let myB := 'Bis Datum';
    max((select '02 - Gemischte Garde' where DATUM >= myV and DATUM <=.myB).Punkte)

     

      • Petra_Oly
      • vor 8 Tagen
      • Gemeldet - anzeigen

       

       

      Danke für die schnelle Antwort, aber ich glaube es ist etwas komplizierter.

      ich habe eine Tabelle mit den Turnierdaten! Darunter gibt es mehrere Disziplinen, unter anderem die Gemischten Garden! und auch noch 3 verschiedene Altersklassen! 

      ich suche den höchsten wert der Gruppe (Verein) im Jahr (z.B. 2024) in der Altersklasse Jun (Junioren)

    • Petra_Oly
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Das untere Bild ist z-B. der Verein Eulenspiegel und hat ihm Jahr 2024 den Höchste Punktzahl 46,0 Punkte gehabt Altersklasse sen (Senioren)

    • Petra_Oly
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Ich hab mal folgendes eingegeben: 

     

    let myJ := '02 - Gemischte Garde'.Jahr;
    max((select '02 - Gemischte Garde' where year('02 - Gemischte Garde'.Turniere.Datum) = myJ).'02 - Gemischte Garde'.Punkte)

    Bekomme den Fehler "=" Rot unterstrichen nicht weg.

      • Gotje_Ing
      • vor 6 Tagen
      • Gemeldet - anzeigen

       
      Moin Petra,

      wenn man über die rote Zeilennummer links fährt, gibt es einen kleinen Tooltip, der den Fehler in der Zeile beschreibt.
      Ich nehme stark an, dass in diesem Fall die Typen der zwei zu vergleichenden Werte nicht identisch ist. Das passiert, wenn man z.B. einen datetime Wert (year(), time()...) Wert mit einem Text vergleicht. 

      Wichtig ist jetzt zu wissen, welche Feldtypen du verwendet hast. Angenommen, '02 - Gemischte Garde'.Jahr ist ein Auswahlfeld oder dynamisches Auswahlfeld, dann bekommt man mit number('02 - Gemischte Garde'.Jahr) nicht das Jahr 2025 zurück, sondern die Position im Auswahlfeld oder die nid des Records (bei dynamischen Auswahlfeldern). Du könntest in diesem Fall schreiben:
      let myJ := year(text('02 - Gemischte Garde'.Jahr))

      Sollte es sich bei dem Feld '02 - Gemischte Garde'.Jahr um ein Textfeld handeln, reicht einfach ein year('02 - Gemischte Garde'.Jahr). 

      Die zweite Zeile mit max(... = myJ).'02 - Gemischte Garde'.Punkte ist ansonsten aus meiner Sicht korrekt.

      Falls das hier nicht klappt, sag uns bitte für sowohl den Eintrag, in dem die Formel liegen soll, wie auch für die Einträge in '02 - Gemischte Garde', um welche Feldtypen es sich handelt. (Zahl, Datum, Text, Auswahl etc.)
       

      • Petra_Oly
      • vor 4 Tagen
      • Gemeldet - anzeigen

      viele lieben Dank für die Antwort. Ich probiere es die Tage aus , hatte bisher keine Zeit dafür. Es sind auf jeden Fall dynamische Auswahlfelder.

      .

      • Petra_Oly
      • vor 2 Tagen
      • Gemeldet - anzeigen

      Also das 02 - Gemischte Garde'.Jahr ist ein Dynamisches Auswahlfeld.  

      02 - Gemischte Garde'.Punkte ist eine Berechnete Zahl 

      Klappt leider immer noch nicht. 

      • Gotje_Ing
      • vor 2 Tagen
      • Gemeldet - anzeigen

       
      Moin Petra,
      ich glaube, es ist einfacher, wenn du uns das Schema der DB zur Verfügung stellst.
      Kannst du ein Backup erstellen und hier teilen, ohne Datensätze? Dann können wir das bei uns laden und schneller die Probleme finden.
       

      • Petra_Oly
      • vor 2 Tagen
      • Gemeldet - anzeigen

       

      Ja das kann ich gerne machen! Vielen leiben Dank für Eure Hilfe! Wie schon geschrieben, hab ich als totaler Anfänger hier eingearbeitet!

      2005-RKK-Turniere.ninox

      • Gotje_Ing
      • vor 2 Tagen
      • Gemeldet - anzeigen

       
      Moin Petra,

      In der Tabelle '02 - Gemischte Garde' liegen unten die Felder "Von Datum", "Bis Datum" und eine leere Formel. Ich nehme an, da soll die maximale Punktezahl rein.

      Angenommen, es ist immer nur das Jahr interessant, dann könnte das Script so aussehen:

      let myJ := year('Von Datum');
      max('02 - Gemischte Garde'[Turniere.year(Datum) = myJ].Punkte)

      Es ist für uns vorher ein wenig verwirrend gewesen, weil in der Tabelle '02 - Gemischte Garde' das Feld '02 - Gemischte Garde' eigentlich eine Rückverknüpfung zur Tabelle 'UT 02 - Gemischte Garde' ist, was wir so nicht erkennen konnten. 
      Nun zum Script. Da es eine Rückverknüpfung ist, können wir diese direkt mit [] filtern. Hier "befinden" wir uns ja schon in den Einträgen der 'UT 02 - Gemischte Garde', wodurch wir direkt in die verknüpften Turniere gehen können und dort die Jahre vergleichen. 
      In anderen Worten, wir springen in jeden Eintrag der Rückverknüpfung und durchsuchen dort alle Turniere, ob das Jahr mit dem gesuchten Jahr übereinstimmt.

      Hoffe die Erklärung ist so verständlich.
      Grüße Philipp

      • Petra_Oly
      • vor 2 Tagen
      • Gemeldet - anzeigen

        

       

      AHHHH ..... Super.... Vielen LIEBEN DANK. So funktioniert es.

      Dann brauch aber keine Felder mehr "von" und "Bis", sondern ich brauch Jahr nur das Turnierjahr. Richtig? 

      • Petra_Oly
      • vor 2 Tagen
      • Gemeldet - anzeigen

       

      Ich versuche das jetzt mal bei den anderen Disziplinen (03 - Weibliche Garde, 04 - Tanzpaare, 05 A - Marie, 05 B - Tanzmajor, 08 - Schautanz, 10 - Schaudarbietung).

      Noch bekomme ich es nicht hin! Finde irgendwie die passenden Felder nicht (lach) aber ich probiere es.

    • + Maßanzug statt Massenware +
    • RonaldP
    • vor 7 Tagen
    • Gemeldet - anzeigen

    Moin  ,

    da stimmt was mit den Klammern nicht.

    probiere es mal hiermit

    = myJ.'02 - Gemischte Garde'.Punkte)

    VG Ronald 

    • Petra_Oly
    • vor 7 Tagen
    • Gemeldet - anzeigen

    Klappt leider auch nicht.... 

    Jetzt hab ich zwei rote Striche ....

Content aside

  • vor 2 TagenZuletzt aktiv
  • 14Antworten
  • 67Ansichten
  • 4 Folge bereits