0

Gewicht berechnen

Hallo habe eine Tabelle in der ich das Gewicht (kg) berechnen möchte. Weiß nur nicht so richtig wie ich das anstellen soll. Hab jetzt eine Tabelle mit Datum und Gewicht.

Jetzt möchte ich gern täglich das Gewicht eintragen und dann soll es abgezogen oder zu gerechnet werden. 
Hoffe mir kann geholfen werden.

Lg Michael

10 Antworten

null
    • Kruna
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Hallo Michael,

    könnetst Du evtl Deine DB hier hochladen oder eine BeispielDB?

     

    Gruß Kruna

      • Michael
      • vor 7 Monaten
      • Gemeldet - anzeigen

       

      Hi, hier die DB. Vielleicht kann man es ja verbessern.

    • Ninox-Professional
    • planoxpro
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Hi, wenn es darum geht, jeweils die Differenz zum Vortag zu berechnen, dann könnte man das mit einem Formelfeld machen:

    let myD := Datum;
    round(Gewicht - last(select TABELLE where Datum < myD).Gewicht, 2)

    TABELLE ist natürlich nur Platzhalter für den tatsächlichen Namen.

      • Michael
      • vor 7 Monaten
      • Gemeldet - anzeigen

       

      Hab es gerade mal Probiert funktioniert nicht. Oder bei mir hackt es.😀

      • Ninox-Professional
      • planoxpro
      • vor 7 Monaten
      • Gemeldet - anzeigen

       Da müsste ich jetzt spekulieren. Du schriebst oben, du hättest "eine Tabelle mit Datum und Gewicht". Fügt man in dieser Tabelle ein Formelfeld mit obigem Code hinzu, müsste es funktionieren.

      Nach kurzem Blick in deine DB stelle ich allerdings fest, dass es da 'Start Gewicht', 'Aktuelles Gewicht' und 'Ziel Gewicht' gibt. Also irgendwie ganz anders als angefragt. Am besten schaust du dir mal die Lösung von Philipp an, vielleicht bringt sie dich weiter.

      • Michael
      • vor 7 Monaten
      • Gemeldet - anzeigen

       danke trotzdem von Götje hat genau gepasst. Lg Michael

    • Gotje_Ing
    • vor 7 Monaten
    • Gemeldet - anzeigen

    Ich habe mir deine Datenbank geschnappt und etwas umgearbeitet. 
    1. Es gibt eine Referenztabelle für das Zielgewicht. In der Gewichtstabelle wird nun mittels "Trigger bei neuem Datensatz" das Gewicht aus der Referenztabelle abgerufen. So muss man das Gewicht nicht jeden Tag neu eintragen. 
    Wenn man das Zielgewicht in der Referenztabelle ändert, werden nur alle neuen Datensätze in der Gewichtstabelle mit dem neuen Zielgewicht gefüllt, die alten bleiben unverändert.
    2. In der Gewichtstabelle ist nun nur noch ein Feld Gewicht, dort wird das jeweilige Gewicht zum Datum eingetragen.
    Das Feld "Zielgewicht" daneben wird durch den Trigger bei neuem Datensatz automatisch gefüllt, ist aber weiterhin veränderbar.
    Es sind zwei Formeln drin, einmal die Differenz zum Vortag, wie planox.pro schon geschrieben hat, außerdem die Differenz zum Zielgewicht als weitere Alternative.
    Hoffe das hilft dir, einen Einstieg zu finden.
    Grüße Philipp 
     

      • Michael
      • vor 7 Monaten
      • Gemeldet - anzeigen

       

      Super genau so wollte ich es haben.

      Kann man dies auch formatieren praktisch wenn nichts runter ging oder wieder aufwärts geht rot und alles was runter geht neon grün. Zur besseren Übersicht da alle 2 Tage gewogen wird. 

      Danke trotzdem ihr seid klasse.

      • Gotje_Ing
      • vor 7 Monaten
      • Gemeldet - anzeigen

       Moin,
      klar das geht. Dazu nutzen wir die Funktion *styled*. Zuerst ändern wir die Berechnung so ab, dass auf der Variablen "result" eine Zahl steht. Die Funktion *format* ändert eine Zahl in Text, also schieben wir das *format* eine Zeile weiter runter. 
      In der Funktion styled() wird zuerst der Textwert angegeben, welcher angezeigt werden soll. Dazu noch ein Styling für die Hintergrundfarbe, in diesem Fall mit einer if-Bedingung. 

      let myD := Datum;
      let result := round(Gewicht - last(select 'Gewicht Protokoll' where Datum < myD).Gewicht, 2);
      styled(format(result, "0.00 Kg"), if result < 0 then "green" else "red" end)

      • Michael
      • vor 7 Monaten
      • Gemeldet - anzeigen

       Moin,

      vielen Dank. Hab jetzt  die Formel bei Differenz zum Vortag hinterlegt. So wollte ich das haben ihr seid echt klasse hier. Vielen vielen Dank.

      Lg Michael