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
Gruß
Hartmut
142 Antworten
-
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 -
Hallo, danke für die Hilfe, leider bekomme ich den Fehler ID erwartet nach select. Was muss ich tun?
-
liegt es vielleicht daran, dass die Tabelle eine Untertabelle ist?
-
In diesem Fall sollte es heißen:
–––
sum ('Die Tabelle' [Montagearbeiten = true].Kosten)
–––
Birger - Ninox Support -
Hallo, kann ich über eine Befehlsschaltfläche einen Link öffnen?
-
Dies ist leider derzeit noch nicht möglich.
Birger - Ninox Support -
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 ? -
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 -
Ja sicher mit dem Befehl openURL("Link")
-
Über das Feld „Internet-Adresse“ kann man auch einen Link öffnen z.B. rdocs:///Verzeichnis/Datei.pdf
wenn es diese Art von Link ist. -
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 -
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! -
Sorry, vergessen:
sum(select ('Arbeitszeiten' where 'Arbeitszeiten‘.Monat berechnet=Monat).’Arbeitszeit') -
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 -
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 -
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... -
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?
-
Habe es gerade selbst hinbekommen ... so einfach :-)
-
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 -
Kann ich dann auch auf einen Ordner im Finder verweisen?
-
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 -
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")
undformat(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 -
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 -
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) -
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
- 45027Ansichten