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 8 Jahren
    • Gemeldet - anzeigen
    Hallo,
    hiermit gehts:
    date(year(Datum)+63, month(Datum), day(Datum))
    VG, Alex
    • sky99.1
    • vor 8 Jahren
    • Gemeldet - anzeigen
    Vielen Dank! Hat funktioniert!
    • Ninox Premiumpartner
    • Bastian_Vorholt
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Flavius
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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!
    • info_hundeschuledudude
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo,
    ist es möglich zB. eine Kundenadresse im Standort anzeigen zu lassen?
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Alexander_Koenig
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Morris_Hanson
    • vor 7 Jahren
    • Gemeldet - anzeigen
    also das würde mich jetzt auch interessieren...

    -> Das Standort Feld kann die Adresse anzeigen.

    bitte um genauere Info. Danke
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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.
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hier die Beispieldatenbank

    https://www.dropbox.com/s/hnmgynxwdrb6pi2/Teilsummen.ninox?dl=0

    da kannst du besser nachvollziehen.

    Grüße
    Leo
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Hallo Leo,

    hat mir keine Ruhe gelassen. Jetzt funktioniert es.

    Habe folgende Formel eingegeben:

    sum((select Teilprojekt)[(Status = 1)].Umsatz)
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    Dank Dir. Hast du gesehen dass ich es nun doch hinbekommen habe?
    fehlte nur das "select" in der Formel.
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • Leonid_Semik
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • niki1570
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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?
    • popsy
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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).
    • Birger_H
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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
    • Firmeninhaber eines Dienstleistungsunternehmens (SHK)
    • Alexander_Prochnow
    • vor 7 Jahren
    • Gemeldet - anzeigen
    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.