0

Formeln erstellen

Wie kann ich denn die im sreenshot abgebildete Funktion "sum()" verwenden. Sie wird mir unter dem Reiter "Rechnen" nicht angezeigt (auch nicht unter dem link "Referenz der mathematischen Funktionen" auf dieser Seite).

Gruß
Hartmut

142 Antworten

null
    • Alexander_Koenig
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Matthias,
    sieht alles soweit richtig aus.
    Hast Du schon die neueste Ninox Version?
    Du kannst die DB auch an support@ninoxdb.de schicken. Wir geben dann Feedback.
    VG, Alex
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo, danke für die Hilfe, leider bekomme ich den Fehler ID erwartet nach select. Was muss ich tun?
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    liegt es vielleicht daran, dass die Tabelle eine Untertabelle ist?
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    In diesem Fall sollte es heißen:
    –––
    sum ('Die Tabelle' [Montagearbeiten = true].Kosten)
    –––


    Birger - Ninox Support
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo, kann ich über eine Befehlsschaltfläche einen Link öffnen?
    • Birger_H
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Dies ist leider derzeit noch nicht möglich.

    Birger - Ninox Support
    • BOM
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    ich bin Ninox-Neuling und scheitere gerade an einer vermutlich einfachen Aufgabe.

    Ich habe in einem Datensatz das Feld „Einsätze“. In einer Untertabelle habe ich Felder „Datum 1“ bis „Datum 20“.

    Mein Plan: im Feld „Einsätze“ soll die Anzahl nur der mit einem Datum ausgefüllten Untertabellen-Felder „Datum 1“ bis „Datum 20“ angezeigt werden.

    Wie löse ich das am besten ?
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo BOM,
    Es ist nicht so gute Idee, 20 Datumsfelder in einem Datensatz zu haben. Das bedeutet, dass viel Felder für immer leer bleiben. Und was machst du, wenn du einmal 22 Einsätze brauchst? Ich würde lieber eine extra Tabelle "Einsätze" mit einem Datumsfeld erstellen und diese Tabelle mit deine Haupttabelle verknüpfen. So kannst du eine beliebige Anzahl an Einsätzen hinzufügen. Hier ein Beispiel:

    https://www.dropbox.com/s/tch6ygseq5anot4/Einsatz.ninox?dl=0

    Wenn du bei deinem Model bleiben möchtest, dann würde ich bei dem Berechnungsfeld "Einsätze" folgende Formel schreiben:
    ---
    let D1:=if Untertabelle.Datum1=null then 0 else 1;
    let D2:=if Untertabelle.Datum2=nul then 0 else 1;
    .
    .
    .
    let D20:=if Untertabelle.Datum20:=null then 0 else 1;
    D1+D2+......+D20
    ---
    Grüße
    Leo
    • Dominik_Eng
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Ja sicher mit dem Befehl openURL("Link")
    • Dominik_Eng
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Über das Feld „Internet-Adresse“ kann man auch einen Link öffnen z.B. rdocs:///Verzeichnis/Datei.pdf

    wenn es diese Art von Link ist.
    • BOM
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    herzlichen Dank für Deine Hilfe und den guten Einwand und die Tipps !
    Ich werde es am Wochenende mal in Ruhe so probieren, wie Du mir es vorgeschlagen hast.

    Beste Grüße,
    BOM
    • cmartinde
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    ich bin Neuling und versuche gerade mit Ninox eine Art Kosten- und Zeiterfassung umzusetzen. Ich bin schwer begeistert von der Plattform/App, aber nun kommen die Detailfragen.

    Ich habe eine Tabelle "Arbeitszeiten". Und eine berechnete Spalte "Arbeitszeit". Dazu berechne ich für jeden Datensatz mit der Funktion "month" den Monat in der Spalte "Monat berechnet".
    Dann habe ich eine Tabelle "Soll-Ist". Dort habe ich für jeden Monat einen Datensatz. Ich berechne Monat und Jahr mittels Year und Month in je einer Spalte "Monat berechnet" und habe eine berechnete Spalte "Stunden Ist". Für diese Spalte ("Stunden Ist") benötige ich nun die Summe der Stunden aus der Tabelle "Arbeitszeiten", gefiltert auf "Monat berechnet".
    Es will leider nicht klappen. Die Fehler sind unterschiedlich, je nachdem, ob ich die Spaltennamen via Editor reinklicke, oder von Hand schreibe. Mal erkennt er die Spalte "Monat" in der Tabelle "Soll-Ist" nicht (wenn ich es von Hand schreibe), oder er hat mir der Formel kein Problem, kommt aber nach der Bestätigung mit "ERR("Symbol erwartet: ,") (wenn man die Spalten klickt).

    Über Anregungen würde ich mich sehr freuen, da dies derzeit mein Hauptproblem in der Anwendung ist. Vielen Dank!
    • cmartinde
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Sorry, vergessen:

    sum(select ('Arbeitszeiten' where 'Arbeitszeiten‘.Monat berechnet=Monat).’Arbeitszeit')
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Aviator,
    Wenn du Monat und Jahr separat rechnest (ich persönlich würde lieber mit der Funktion yearmonth(Datum) Jahr und Monat in einer Spalte berechnen) sollte die Formel etwa so aussehen:
    ---
    let MM:=Monat;
    let JJ:=Jahr;
    sum (select Arbeitszeiten [Monat=MM and Jahr=JJ].Arbeitszeit])
    ---
    die Eckklammer ersetzen hier "where"-Funktion.

    Grüße
    Leo
    • cmartinde
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    vielen Dank! Irgendwie klappt es aber immer noch nicht.

    let MM:='Monat berechnet';
    sum (select 'Arbeitszeiten Schulung' [Monat berechnet=MM]).Duty-Time])

    Da meckert er immer "Symbol erwartet: ] in Zeile 2 Spalte 53"

    Die Tabellen- und Feldernamen haben sich ein wenig geändert und ich teste es erstmal nur auf Monatsebene.

    Viele Grüße,

    Christian
    • cmartinde
    • vor 6 Jahren
    • Gemeldet - anzeigen
    OK, hab es hinbekommen. RTFM. :)

    let mm := 'Monat berechnet';
    let yy := Jahr;
    sum((select 'Arbeitszeiten Schulung')[Monat = mm and Jahr = yy].'Duty-Time')

    Cool. Neues Problem nun Umrechnung und Formatierung von Zeiten. Aber das kriegen wir schon noch hin...
    • Burki
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Ich habe vor kurzem begonnen mit Ninoxdb zu arbeiten und brauche eine Starthilfe zu der Formelerstellung. Tabelle: Fahrzeug mit Untertabelle: Wartung. In der Untertabelle sind alle Wartungskosten aufgelistet. Nun möchte ich dort auch die Gesamtkosten aller Wartungen zu dem Fahrzeug in einem Feld anzeigen. Wie gehe ich vor?
    • Burki
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Habe es gerade selbst hinbekommen ... so einfach :-)
    • OLIVER
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo,

    ich muss eine relativ komplexe Zinsrechnung erstellen, die mit einem normalen Zinseszinsrechner nicht hinzukriegen ist. Die Besonderheit ist, dass für ein Darlehen halbjährlich ein wechselnder Zinssatz gilt (gekoppelt an den Basiszinssatz ) und das Darlehen in einer Summe endfällig ist, ohne vorangehende Tilgungen.

    Zu ermitteln ist also Zins und Zinseszins, bezogen auf die jeweiligen Zinstage und am Schluss als Summe. Gibt es eventuell hier jemanden, der ein ähnliches Problem schon einmal hatte und mit dem ich mich dazu austauschen könnte?

    Viele Grüße
    Oliver
    • blue_bee
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Kann ich dann auch auf einen Ordner im Finder verweisen?
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo zusammen,
    durch meine Frage werdet ihr merken dass ich ein blutiger Anfänger bin:

    Wie kann man beim Klicken auf eine Schaltfläche
    in einem Berechnungsfeld den Wert Datum = Heute in der Form TT.MM.JJ und
    in einem weiteren Berechnungsfeld den Wert Zeit = Jetzt in der Form hh:mm
    eintragen lassen?
    Mfg
    Georg_0815

    PS: Vielen Dank, auch für den bisherigen Support
    • Leonid_Semik
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Georg_0815,

    Die Berechnungsfelder lassen sich durch Befehlsschaltflächen nicht beeinflussen. Sie haben eigene Berechnungsformel (heißen deswegen auch Berechnungsfelder).
    Die Formel für Berechnungsfelder wären entsprechend:
    ---
    format(now(),"hh:mm")
    und
    format(now(),"DD.MM.YY")
    ---
    Problem dabei ist, dass die werte sich ständig verändern werden.

    Wenn du momentane Datum und Uhrzeit festlegen möchtest (timestamp), dann würde ich dafür ein Datumsfeld und ein Zeitfeld anlegen und dann die Formel für die Befehlsschaltfläche schreiben:
    ---
    Datumsfeld := date(now());
    Uhrzeitfeld := time(now())

    ---

    Grüße
    Leo
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Danke Leo,
    kaum wollte ich ergänzen, dass ich bei einem Lösungsversuch
    wie "Variante1" in Deiner Antwort, auf das Problem gestoßen bin,
    dass die Felder sich verändern, komme hier zurück
    und finde die Antwort auf meine noch nicht gestellte Frage!
    Toll, Danke. Werde versuchen es umzusetzen
    Gruß Georg_0815
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo, ich habe

    eine Befehlsschaltfläche Start mit der Funktion
    UhrzeitS := time(now()) + ('Zeit eingetragen' := true) und
    Feld nur anzeigen, wenn: 'Zeit eingetragen' = false and UhrzeitS != ""

    ein Ja/Nein-Feld 'Zeit eingetragen' (mit Standartwert Nein)

    ein Uhrzeitfeld UhrzeitS (Uhrzeitformat 9:42 AM)

    ein Berechnungsfeld Zeit mit Funktion format(UhrzeitS, "HH:mm").

    Letztendlich ist es gewollt, dass nachdem man die Schaltfläche geklickt worde die Schaltfläche unsichtbar wird und der Zeitstempel im Feld Zeit nicht mehr verändert wird.

    Die Schaltfläche funktioniert soweit nur mit dem kleinen Problem, dass der berechnete Wert im Feld Zeit um eine Stunde höher ist als der Wert im Feld UhrzeitS. Ich verstehe die Differenz nicht. Ich arbeite zur Zeit in einem Test auf der Ninox-Cloud, und ändere für Testzwecke das Systemdatum und Systemuhrzeit meines PCs. Beim Ändern des Systemdatum gibt es keine Probleme.

    Gruss Georg_0815 (und Danke vorab)
    • telakis
    • vor 6 Jahren
    • Gemeldet - anzeigen
    Hallo Leo, ich habe

    eine Befehlsschaltfläche Start mit der Funktion
    UhrzeitS := time(now()) + (‘Zeit eingetragen’ := true) und
    Feld nur anzeigen, wenn: ‘Zeit eingetragen’ = false and UhrzeitS != “”

    ein Ja/Nein-Feld ‘Zeit eingetragen’ (mit Standartwert Nein)

    ein Uhrzeitfeld UhrzeitS (Uhrzeitformat 9:42 AM)

    ein Berechnungsfeld Zeit mit Funktion format(UhrzeitS, “HH:mm”).

    Letztendlich ist es gewollt, dass nachdem man die Schaltfläche geklickt worde die Schaltfläche unsichtbar wird und der Zeitstempel im Feld Zeit nicht mehr verändert wird.

    Die Schaltfläche funktioniert soweit nur mit dem kleinen Problem, dass der berechnete Wert im Feld Zeit um eine Stunde höher ist als der Wert im Feld UhrzeitS. Ich verstehe die Differenz nicht. Ich arbeite zur Zeit in einem Test auf der Ninox-Cloud, und ändere für Testzwecke das Systemdatum und Systemuhrzeit meines PCs. Beim Ändern des Systemdatum gibt es keine Probleme.

    Gruss Georg_0815 (und Danke vorab)

Content aside

  • vor 6 JahrenZuletzt aktiv
  • 142Antworten
  • 44862Ansichten