Mathematische Funktionen

1234: Fügt eine konstante Zahl ein.

Addition: die Addition (a + b) bildet

  • (Zahl + Zahl) die Summe von a und b, wenn beides Zahlenwerte sind,
  • (Text + …) oder (… + Text) den aus a und b zusammengesetzten Text,
  • (Datum + Zahl) das Datum a um b Tage erhöht,
  • (Datum + Zeitdauer) einen Zeitpunkt, nämlich Datum a um Zeitdauer b erhöht,
  • (Uhrzeit + Zahl) die Uhrzeit a um b Millisekunden erhöht,
  • (Uhrzeit + Uhrzeit) die Summe der Uhrzeiten a und b,
  • (Uhrzeit + Zeitdauer) die Uhrzeit a um die Zeitdauer b erhöht,
  • (Zeitpunkt + Zahl) den Zeitpunkt a um b Millisekunden erhöht,
  • (Zeitpunkt + Zeitdauer) den Zeitpunkt a um die Zeitdauer b erhöht,
  • (Zeitdauer + Zahl) die Zeitdauer a um b Millisekunden erhöht,
  • (Zeitdauer + Zeitdauer) die Summe der Zeitdauern a und b.

Subtraktion: die Subtraktion (a – b) bildet

  • (Zahl – Zahl) die Zahl a – b,
  • (Datum – Datum) die Zeitdauer von b bis a,
  • (Zeitpunkt – Zeitpunkt) die Zeitdauer von b bis a,
  • Subtrahiert b von a, vergleiche: Addition

Multiplikation: multipliziert (a * b)

  • (Zahl * Zahl) die Zahl a * b,
  • (Zeitdauer * Zahl) die Zeitdauer a * b,

Division: dividiert (a / b)

  • (Zahl / Zahl) die Zahl a / b,
  • (Zeitdauer / Zahl) die Zeitdauer a / b,

√ ( x ) berechnet die quadratische Wurzel von x.

²( x ) berechnet das Quadrat von x.

^( x, y ) berechnet die Potenz von y zur Basis x, also x hoch y.

e^( x ) berechnet e hoch x.

log10( x ) berechnet den dekadischen Logarithmus von x, also zur Basis 10.

ln( x ) berechnet den natürlichen Logarithmus von x, also zur Basis e.

Logarithmen zur Basis y lassen sich berechnen mit ln( x ) / ln( y ).

sin( x ) berechnet den Sinus von x (im Bogenmaß).

cos( x ) berechnet den Kosinus von x (im Bogenmaß).

tan( x ) berechnet den Tangens von x (im Bogenmaß).

asin( x ) berechnet den Arkussinus von x (im Bogenmaß).

acos( x ) berechnet den Arkuskosinus von x (im Bogenmaß).

atan( x ) berechnet den Arkustangens von x (im Bogenmaß).

atan²( x ) berechnet den quadratischen Arkustangens von x (im Bogenmaß).

runden( x ) rundet x kaufmännisch.

aufrunden( x ) rundet x auf.

abrunden( x ) rundet x ab.

Vorzeichen( x ) ergibt -1, wenn x negativ ist, sonst 1.

Betrag( x ) berechnet den Betrag von x, also x ohne Vorzeichen. Betrag( -10 ) = Betrag( 10 ) = 10.

34 Gedanken zu „Mathematische Funktionen

  1. Hallo,

    ich habe eine Tabelle mit Veranstaltungen und in einer Untertabelle jeder Veranstaltung die Zahl der Verkauften Tickets an verschiedenen Daten zugeordnet. Jetzt würde ich gerne die Veränderung der Anzahl an Tickets von Datum zu Datum für jede Veranstaltung ausrechnen. Ist das möglich?

  2. Hallo,

    ich habe in Tabelle: “Einrichtung” die Anzahl der Wohnbereiche abgefragt. Eingabe zum Beispiel: 4

    Gibt es eine Formel, welche jetzt eine weitere Tabelle: Wohnbereiche “4″ mal darstellt, damit ich für 4 Wohnbereiche die Anzahl der Bewohner eingeben kann?

    Hoffentlich konnte ich mich verständlich ausdrücken. Danke.

    1. Hallo Erik,
      ja, das is mittels einer Formel möglich. Hier ist ein Beispiel. Die entsprechende Formel findest Du in den Eigenschaften des Buttons.
      Wohneinheiten
      Gruß
      Birger – ninox Support

  3. Hallo, ich habe auch eine Frage: und zwar möchte ich Rechnungsnummern wie folgt vergeben: Jahreszahl – Artikelnummer – aufsteigende Zahl

    Der Clou soll sein, dass die aufsteigende Zahl sich an der Artikelnummer orientieren soll (man soll quasi daran die Anzahl der verkauften Artikel erkennen).
    Bsp.
    2017-2-1
    2017-2-2
    2017-2-3
    2017-1-1

    Die Verknüpfung Jahreszahl + entsprechende Artikelnummer kriege ich hin. Auch die aufsteigende Zahl, aber leider nicht in Relation zur Artikelnummer.

    Danke für Eure Hilfe.
    Monika

    1. Hallo Monika,
      diese Formel sollt’ es machen – Aus Basis des Templates “Rechnungen”
      –––
      let myCount := cnt(Rechnungsartikel.Id);
      let myNumber := cnt((select Rechnung)[(cnt(Rechnungsartikel.Id) = myCount)]) + 1;
      Rechnungsnummer := format(number(year(now())), "0000") + "-" + format(myCount, "00") + "-" + format(myNumber, "00")

      –––
      Gruß
      Birger – Ninox Support

      1. Hallo Birger, danke für die schnelle Rückmeldung. Ich habe die Formal in “bei neuem Datensatz..” entsprechend eingefügt, aber leider funktioniert es nicht.

        Ich habe bereits eine Tabelle mit den Artikelnummern (brauche da also kein cnt) und habe es wie folgt dann angepasst:

        let myCount := Filme.Filmnummer;
        let myNumber := cnt((select TB)[(cnt(Filme.Filmnummer) = myCount)]) + 1;
        Rechnungsnummer := format(number(year(now())), “0000″) + “-” + Filme.’TB Nummer’ + format(myNumber, “00″)

        -Filme.Filmnummer ist die Artikelnummer der anderen Tabelle (habe dort schon die +1 Funktion, wenn neuer Artikel hinzugefügt wird)
        -TB ist Synonym für Rechnung

        Was mache ich falsch?

        Danke nochmal, Monika

    1. Hallo niki1570

      wenn dein Berechnungsfeld in der Tabelle liegt, wo auch das Feld “Erledigt” ist, dann ist die Formel:

      cnt(select Tabellenname where Erledigt = true)

      Tabellenname ist natürlich deine Tabelle.

      Grüße
      Leo

      1. Hallo Leo,

        wenn ich ein Feld “Kategorie” habe in dem ich folgende Auswahlmöglichkeiten habe. Bsp A oder B oder C … Wie komme ich dann auf die Anzahl der einzelnen A`s, B`s und C`s?
        Grüße

        Dominik

        1. Hallo Dominik,
          Die Positionen des Auswahlfeldes haben eigene IDs (rechts zu sehen)
          Dementsprechend wäre die Formel

          cnt(select Tabellenname where Kategorie = 1)

          1 ist die ID von Bsp. A.
          Statt 1 kannst du 2, 3 usw. einfügen

          Grüß
          Leo

          1. Wie gehe ich nun vor wenn ich eine neue Ansicht erstellen möchte die die Kategorien nach Anzahl der Nennungen zeigt? Enthält diese Ansicht vier Felder Kategorie, A, B ,C so sehe ich alle Datensätze und bei allen sind alle Werte eingetragen. Wo liegt mein Denkfehler? Wenn ich nach Kategorie gruppiere hilft es auch nicht. Oder muss ich ein neues Feld anlegen?

            1. Habe jetzt ausprobiert nur die Reihe Kategorie mit Filter A und die Reihe Anzahl Kategorie A (Feld laut deiner Formel) so klappt es. Nur wie füge ich dann noch B und C ein sodass es im Diagramm angezeigt wird.

              1. Hallo Dominik,
                Versuch mal folgendes:
                Neue Ansicht->alle Spalten ausblenden->Spalte Einblenden – Kategorie->Spalte Einblenden – Funktion f(x), die Formel

                let KAT := Kategorie;
                cnt(select Tabelle1 where Kategorie = KAT)

                Diese Spalte umbenennen in z.B “Anzahl”

                Jetzt die Spalte Kategorie auswählen und auf Gruppieren klicken.
                Dann auf “Anzahl” klicken und Durchschnitt wählen.
                So hast du schon eine Überblick.
                Die Diagramme lassen sich hier schwierig darstellen. am besten eine Kreis-, oder Ringdiagramm.
                Hier ein Beispiel
                https://www.dropbox.com/s/dsmn12x9qv5bolw/Kategorien.ninox?dl=0

                Grüße Leo

    1. Es kann an Anführungszeichen liegen. Die Anführungszeichen hier im Blog unterscheiden sich am Anfang und am Ende. Wenn man die Formel im Ninox-Editor geschrieben wird sind diese gleich. Wenn man die Formel hier kopiert und in Ninox einfügt, bekommt man die Fehlermeldung. Versuch mal die Anführungszeichen in Ninox Formeleditor zu löschen und selbst neu zu schreiben.

      Grüße
      Leo

  4. Hallo,
    da kann ich nur zustimmen, die App ist toll aber eine automatische Rechnungsnummer ist wirklich fast seit dem C64 Standard….also ich freue mich, wenn ihr die bald einbaut.
    Liebe Grüße
    Michael

  5. Hallo Frank,

    vielen Dank für die schnelle Antwort. Eine Funktion für automatisch generierte Rechnungs-Nr. und Kunden-Nr. wäre prima.

    Davon abgesehen hätte ich einen weiteren Wunsch respektive Vorschlag:
    Schön wäre auch ein Format für Telefonnummern, mit dem man lange Tel.Nr übersichtlicher darstellen kann. Das könnte in etwa z.B. so aussehen:

    1. Die Vorwahl wird vom Rest der Tel-Nr optisch durch einen Abstand getrennt. Wo diese Trennnung erfolgen soll, könnte man bei der Eingabe z.B. durch ein Minuszeichen oder Tab signailsieren.

    2. Die Tel-Nr. (ohne Vorwahl wird zusätzlich in Blöcken von 3 Ziffern dargestellt (oder wahlweise: 2, 3 oder 4). Ein kleiner Abstand zwischen den Blöcken würde die Lesbarkeit langer Tel-Nr verbessern.

    Beste Grüße
    Rüdiger

  6. Hallo,
    wie kann ich in Ninox eine automatische Rechnungsnummer erstellen, die sich aus den folgenden drei Bausteinen zusmamensetzt:
    1) Der Buchsatbe “R”3
    2) Die Jahreszahl
    3) Eine fortlaufende Nummer mit 4 Stellen. Diese Nr. soll von Rechnung zu Rechnung automatisch um “1″ größer werden

    Beispiel:
    1. Rechnung: R2015-0001
    2. Rechnung: R2015-0002
    usw.

    Herzlichen Dank für Tips im voraus.
    Rüdiger

    PS: Ich habe eine Datenbank nach Vorlage “Rechnungen” erstellt

    1. Hallo Rüdiger,
      mit der aktuellen Version ist das so leider noch nicht möglich, das heißt die Rechnungsnummer müsste vorerst manuell vergeben werden. Wir planen das aber für die nächste Version.
      Viele Grüße Frank

    2. Das funktioniert ab der Ninox Version 1.5.3. Nehmen wir mal an, dass es eine Tabelle “Rechnung” gibt mit den Feldern RgNr und Rechnungsdatum.

      Im ersten Schritt wird ein Trigger auf Tabellenebene definiert (im Editor zur Definition einer Tabelle das Feld “Bei neuem Datensatz folgendes Script ausführen”):

      Rgnr := last((select Rechnung).Rgnr) + 1

      Im zweiten Schritt wird die fertig formatierte Rechnungsnummer erzeugt. Dazu wird ein Feld Rechnungsnummer vom Typ “f(x) Berechnung” erstellt. Die Funktion lautet:

      “RE” + year(Rechnungsdatum) + “-” + RgNr

      Abschließend sollte man verhindern, dass das Feld Rgnr versehentlich geändert wird. Dazu blendet man es einfach aus.

      Dazu per Doppelklick auf die Detailansicht von Rgnr wechseln und dabei darauf achten darauf, dass die erweiterten Optionen sichtbar sind. In “Feld nur anzeigen, wenn:” wird “false” eingetragen – damit wird das Feld ausgeblendet.

          1. Hallo und frohe Weihnachten!

            wichtig sind die Anführungszeichen: Text-Werte müssen in normalen doppelten "Anführungszeichen" stehen (SHIFT + 2). Feldnamen mit Leer- oder Sonderzeichen müssen in einfachen 'Anführungszeichen' stehen (SHIFT + #). Die Formel lautet also:

            "RE" + year(Rechnungsdatum) + "-" + RgNr

            Gruß
            Frank

            1. Hallo Frank,
              danke für die Antwort. Jetzt habe ich einen Teil meines Problems gelöst :-). Leider habe ich jetzt bei der ersten Rechnung die Nummer 1 und bei der nächsten die Nummer 11…..111……1111 usw.

              Gruß
              Tkonradt

              1. Hallo Tkonradt, wenn Rechnungsnummer ein Zahlen Feld ist sollte es klappen. Unter FAQ auf der Startseite vom Handbuch sind jetzt auch ein Paar Tips zu Rechnungsnummern zu finden.
                VG, Alex

                1. Hallo Frank,

                  super danke. Bin jetzt fast am Ziel, jetzt bin ich gerade dabei herauszufinden wie Ninox mir die Rechnungsnummer (Zahl) mit 0001 anstatt mit 1 anzeigt. Falls du ja eine Idee hast….immer gerne :-)

                  Gruß
                  Tkonradt

Hinterlasse eine Antwort