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,
hiermit gehts:date(year(Datum)+63, month(Datum), day(Datum))
VG, Alex -
Vielen Dank! Hat funktioniert!
-
Guten Tag, ich habe ein Auswahlfeld in Veranstaltung buchen mit der Frage Gesamte Location Mieten Ja / Nein. Jetzt wollte ich wenn die gesamte Location Ja ergibt soll der Datensatz eingefärbt werden in einer bestimmten Farbe funktioniert das irgendwie?
-
Hallo Magicnetworks,
in einem Formel Feld kann man Farben ansprechen:if Feld = 1 then
color("green")
else
color("red")
Andere Felder einfärben geht noch nicht. Das Feature steht bereits auf der Anforderungsliste. Einen genauen Termin können wir noch nicht nennen.
VG, Alex -
Hallo, würde mich freuen, wenn mir jemand hier helfen könnte: Bin dabei, eine Vertragsdatenbank aufzubauen. Habe ein Feld "Kündigungstermin". Gibt es eine Formel, damit ich automatisch ein Erinnerungsmail 90 Tage vor diesem Termin erhalte?
Danke im Voraus! -
Hallo,
ist es möglich zB. eine Kundenadresse im Standort anzeigen zu lassen? -
Hallo Flavius,
das Feature "Notifications" bzw. "automatisierter Mail Versand" haben wir auf der Anforderungsliste. Einen genauen Termin können wir noch nicht nennen.
VG, Alex -
Hallo Reenchen,
es gibt verschiedene Möglichkeiten. Mit Adressen und dem Standort Feld zu arbeiten. Das Standort Feld kann die Adresse anzeigen.
Man kann auch über Formelfelder die Adresse aus verknüpften Daten ausgeben.
Bei Fragen auch gerne an support@ninoxdb.de schreiben.
VG, Alex -
also das würde mich jetzt auch interessieren...
-> Das Standort Feld kann die Adresse anzeigen.
bitte um genauere Info. Danke -
Hallo,
ich hänge bei folgender Fragestellung. Habe eine Haupttabelle für Projekte und eine Untertabelle für die einzelnen Module aus denen ein Projekt besteht. In der Untertabelle habe ich folgende Felder: Modul(Auswahlfeld) Beginndatum, Enddatum, Modulumsatz und ein Auswahlfeld Status mit den Möglichkeiten Offen und Abgeschlossen.
Nun würde ich gerne im Formular der Haupttabelle ein Feld anzeigen lassen, in dem mir die Summe Umsatz Module angezeigt wird, die den Status Offen haben.
Würde mir sehr helfen wenn jemand hierfür eine Formel hätte. -
Hallo niki1570,
die Formel hängt davon ab, wie du deine Untertabelle in der Beziehung zu der Haupttabelle genannt hast. Angenommen, die Tabelle heißt "Module" und der Auswahl "Offen" in dem Feld "Status" hat ID=1 (steht rechts neben dem Offen im Fenster "Eigenschaften".
Dann wäre die Formel:
sum(Module[Status=1].Modulumsatz)
Die Eckklammer ersetzen die "where" Funktion bei verknüpften Tabellen.
Grüße
Leo -
Funktioniert leider nicht.
das hab ich eingegeben: sum(Teilprojekt [Status=1].Umsatz)
Untertabelle heisst: Teilprojekt
Feld für den Umsatz in dieser Tabelle heisst Umsatz
Statusauswahlfeld heisst Status mit Offen=1 und Geschlossen=2 -
Hier die Beispieldatenbank
https://www.dropbox.com/s/hnmgynxwdrb6pi2/Teilsummen.ninox?dl=0
da kannst du besser nachvollziehen.
Grüße
Leo -
Hallo Leo,
hat mir keine Ruhe gelassen. Jetzt funktioniert es.
Habe folgende Formel eingegeben:
sum((select Teilprojekt)[(Status = 1)].Umsatz) -
hmmm. Dann heißt deine Untertabelle in der Datenbank auch "Teilprojekt".
Früher waren die Eckklammer nur für Untertabellen und ohne select einzusetzen. Anscheint haben sich die Regeln geändert.
Hauptsache es funktioniert.
Ich habe dier eine Beispieldatenbank geschickt, dort geht es ohne select.
Leo -
Dank Dir. Hast du gesehen dass ich es nun doch hinbekommen habe?
fehlte nur das "select" in der Formel. -
Hänge fest:
Habe in meiner Haupttabelle ein Formelfeld Projektdauer das aus zwei Datumsfeldern Projektstart und Projektende den Zeitraum errechnet welchen Zeitraum das Projekt hatte.
Nun möchte ich über alle Projekte die Durchschnittliche Projektdauer berechnen.
In diesem Formelfeld habe ich folgende Formel verwendet.
avg((select Projekte).Projektdauer)
Rechnet auch richtig aber zeigt neben den Tagen auch folgendes an:
102 Tage 13:05:27.272
Nun stimmen die Tage aber der Rest?
Habe mit dem Support auch schon geschrieben und folgende Formel bekommen die aber nicht funktioniert.
days(avg (select projekte.projektstart), avg (select projekte.projektende))
auch folgende funkt nicht
days(avg (select projekte.projektdauer))
Die Berechnung 102 Tage stimmt wie gesagt. Bin ratlos. Soll doch nur aus einem Feld in dem eine Anzahl Tage stehen die Durchschnittszahl aller Tage berechnen? -
Habe auch folgende Formel probiert
sum((select Projekte).Projektdauer) / 'Anzahl Projekte'
Rechnet auch richtig mit 102 Tagen aber zeigt leider auch noch
102 Tage 13:05:27.272
an.
wie kriege ich die 13:05:27.272 weg? -
Hallo niki1570,
Versuch mal damit
avg((select Projekte).days(Start, Ende))
Grundsätzlich ist es aber so, dass hier auch nicht immer volle Tage angezeigt werden (Mittelwert zwischen 2 und 3 ist 2,5)
Wenn du Reststunden ignorieren möchtest, solltest du das Ergebnis Abrunden
z.B.
floor(avg((select Projekte).days(Start, Ende)))
Leo -
WOW Danke grade ausprobiert. Klappt einwandfrei! Gutes Nächtle!
Noch eine kurze Frage. Warum klappt es nicht wenn ich das Berechnungsfeld Dauer pro Projekt als Basis nehme und den Durchschnittswert nehme.
Wo liegt da mein Denkfehler. Wär doch einfacher oder? -
Ninox berechnet schon richtig. Dein ergebnis beträgt 102 Tage, 13 Stunden, 5 Minuten, 27 Sekunden und 272 Millisekunden. Du möchtest nur die Tage sehen, gibst aber dem Ninox kein Befehl dazu. Leider gibt es keine solche Funktion bei Ninox. Wir müssen das Datumswert zuerst in normale Dezimalzahl umwandeln und dann abrunden.
Wenn du das Feld Projektdauer verwenden möchtest, die Formel dazu wäre:
floor(number(avg((select Projekte).Projektdauer)) / 86400000)
Leo -
Hallo,
eine kurze Frage zur Vorgehensweise. Habe wie eine Untertabelle in der ich Projektmodule verwalte, da jedes Gesamtprojekt eben aus diesen Modulen besteht. Diese Untertabelle hat das Auswahlfeld Module, Modulstarttermin, Modulenttermin Umsatz und Status (offen, abgeschlossen und erwartet). Ich würde nun gerne nicht nur effektiv gebuchte Module(offen und abgeschlossen) mit den zuvor genannten Feldern auswerten sondern auch erwartete Module eintragen um diese auszuwerten. Habe deshalb zwei neue Felder hinzugefügt die ich nur befülle wenn der Status "erwartet" ist. Diese Felder habe ich Umsetzungsmonat und Erwarteter Umsatz genannt. Klappt auch soweit. In der Haupttabelle zeigt es im Feld Erwarteter Umsatz die Summe an und somit sehe ich mit welchem Umsatz zu rechnen ist.
Nun würde ich gerne das Feld Umsetzungszeitraum (Datumsfeld) dazu nutzen dass ich den Datumswert in einem Diagramm auswerte um zu sehen in welchen Monaten mit welchem geplanten Umsatz zu rechnen ist. Zum einen habe ich das Problem, dass in diesem Datumsfeld ein Datum mit Tag,Monat und Jahr einzutragen ist und ich in diesem Feld eigentlich, weil nur für die Planung, Monat und Jahr sinnvoll wäre.
Also Status erwartet Umsetzungmonat beispielsweise 04/2017 und erwarteter Umsatz XXX €.
Wie stelle ich im Datumsfeld ein dass nur Monat und Jahr einzutragen ist und wie gehe ich am besten vor, wenn ich ein Diagramm haben möchte wo die Monate mit den entsprechenden erwarteten Umsätzen angezeigt werden sollen.
Ist mein Ansatz grundsätzlich OK oder sollte ich anders vorgehen? -
Wie kann ich eine Berechnung durchführen, welche zwei verschiedene Datensätze inderselben Tabelle verwendet um das folgende zu Erreichen:
Die Werte sind als kumulierende Werte pro Datum gespeichert (z.B. Betriebsstundenzähler):
01.01. 100
02.01. 110
04.01. 125
07.01. 130
Jetzt möchte ich in einer Zusatzspalte die folgenden Werte berechnen ("Betriebsstunden seit dem letzten Eintrag"):
01.01. 0
02.01. 10 (:= 110 - 100)
04.01. 15 (:= 125 - 110)
07.01. 5 (:=130 - 125)
Ich habe in der Funktionsreferenz noch keine passende Funktion gefunden.
Und dann möchte ich eine Grafik erstellen, welche die Summe pro Woche/Monat/Quartal/Jahr darstellt (siehe auch meine Frage im Kapitel Diagramme). -
Hallo,
die Formel sollte so funktionieren:
–––
let myID := _id;
let 'letzter Zählerstand' := last(select 'Tabellenname'[_id < myID].'Betriebsstundenzähler')
'Betriebsstundenzähler' - 'letzter Zählerstand'
Die Feld- und Tabellenname müssen natürlich ggf. angepasst werden.
Gruß
Birger - Ninox Support -
Hallo und einen schönen guten Morgen,
1. Habe eine Datenbank zur Verbrauchserfassung verschiedener Energiezähler erstellt. Nun möchte ich die den Verbrauch aus den Daten errechnen, der zwischen den Erfassungszeiträumen entstanden ist.
Tabelle hat folgende Spalten:
Zählernummer -- Datum -- Zählerstand
2. eine weitere Datenbank ist ein einfaches Kassenbuch. Hier möchte ich in der Tabelle erreichen das der kummalierte Wert des Kassenbestandes in einer Spalte berechnet wird.
Tabelle hat folgende Spalten:
Datum -- BelegNr -- Buchtext -- Soll -- Haben --
Ich bedanke mich für eventuelle Lösungsvorschläge.
Content aside
- vor 6 JahrenZuletzt aktiv
- 142Antworten
- 45041Ansichten