0

Formelergebnis wird nicht richtig angezeigt.

Hallo,

wir wollen unsere Aktivitäten auswerten und zählen hierzu die an einem Tag neu angelegten Datensätze in einer Tabelle in einem Formelfeld:

let me := this;
cnt(select 'Schriftstücke' where date('erzeugt am / um') = date(me.Datum))

Nun wird das Ergebnis der Formel auf der rechten Seite richtig, auf der linken Seite falsch angezeigt. Natürlich fehlt der WErt dann auchim Diagramm im Dashboard...

Hat jemand eine Idee, was ich hier falsch mache?

Danke für Eure Hilfe

Martin

11 Antworten

null
    • rainless
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Martin,

    aus dem Bild kann man natürlich wenig herauslesen, deshalb ein paar Fragen:

    • Ist das in jeder Zeile so? Auch in Zeile 5 zum Beispiel?
    • Gibt es in der Tabelle eine Formatierung?
    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Lars,

    Danke für Deine Nachfragen.

    Das ist eben nicht in allen Zeilens so, in manchen Feldern wird das ERgebnis richtig angezeigt.

    Eine spezielle Formatierung verwende ich nicht, im Feld ist das Zahlenformat mit #.##0 angegeben.

     

    Beste Grüße

    Martin

    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi Martin,

    versuche es mal ohne die date() Befehle, das sollte auch funktionieren.

    let me := this;
    cnt(select 'Schriftstücke' where 'erzeugt am / um' = me.Datum)

    Ich hatte mal den Fall, da hatte ich mit zu viel date-Befehlen in einer Abfrage gearbeitet und es gab dort kuriose Anzeigen im FX-Feld, die aber auch immer den selben kuriosen Inhalt anzeigten (reproduzierbar).
    Ist das bei dir auch so?

    Viel Erfolg
    Ronald

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Ronald,

    danke auch für diesen Tipp.

    Hab mal die date() Funktionen weggelassen, leider kein anderes Ergebnis. Bei "Datum des Schriftstücks" und bei "Datum" ist das ja kein Problem, da es Datumsfelder sind, bei "erzeugt am / um" schon, da es sich hier um ein Datum-/Zeitfeld handelt. Ich habe 2 FX-Felder, hier nochmals beide Formeln:

    let me := this;
    cnt(select 'Schriftstücke' where 'Datum des Schriftstücks' = me.Datum)
    
    let me := this;
    let myD := Datum;
    cnt(select 'Schriftstücke' where date('erzeugt am / um') = myD)
    

    Bei mir sind die komischerweise nicht reproduzierbar. Mal sind einige Ergebnisse richtig, mal stehen sie auf 0. Immer wenn ich die Tabelle neu öffne, sehe ich andere Ergebnisse. Die este Berechnung. Wobei der erst Codeblock (vergleich mit "Datum des Schriftstücks" häufiger das richtige Ergebnis liefert.

    Irgendwie steckt die Lösung aber in den Formaten. mit folgendem Code (wandle das die Vergleichsfelder vorher in Text um) erhalte ich jetzt für das Datum-/Zeitfeld richtige Ergebnisse:

    let me := this;
    let myD := format(Datum, "YYYYMMDD");
    cnt(select 'Schriftstücke' where format('erzeugt am / um', "YYYYMMDD") = myD)
    

    Immerhin ein Teilerfolg 😉

    Bei dem reinen Datumsfeldvergleich funktioniert das aber wieder nicht ...

    Beste Grüße

    Martin

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Was allerdings immer bleibt, ist die ganz am Anfang beschriebene Problematik, dass das richtige Ergebnis nur in Ansicht des Datensatzes angezeigt wird. in der Tabelle aller Datensätze steht die 0. Damit bleibt auch die Anzeige im Dashboard als Grafik leer ...

    Wäre prima, wenn hier noch jemad eine Idee hätte.

    Grüße

    Martin

    • Ninox Solution-Partner
    • RonaldP
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hi Martin,

    Ich gehe davon aus, dass Du in der "Ninox Cloud" arbeitest.
    Was passiert denn, wenn Du auf das Aktualisierungszeichen links oben klickst.


    Ändert sich dann in der Tabellenansicht etwas?

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Ronald,

    nein, mit dem Aktualisierungszeichen ändert sich nichts.

    Hier nochmals 2 Bilder:

    1. so wie ich die Tabelle aufrufe erscheint zumindest kein Ergebnis richtig.

    2. dann mache ich die ganze Anendung zu, rufe wieder auf und plötzlich ist zumindest ein Ergebnis so wie es sein soll... aber halt nur 1 Ergebnis...

    irgendwie ist das nicht sehr vertrauenserweckend.
    Kann das mit irgendwelchen Laufzeit probelmen zu tun haben? Gibt es eine Möglichkeit die Formelberechnung "as server" oder so was ähnliches auszuführen.

    Vielen Dank, dass Du Dich hiermit beschäftigst!

    Beste Grüße

    Martin

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Martin. Eine etwas skurrile Möglichkeit wäre folgende. Man kann in der Tabellenansicht eigene Funktionen anlegen und denen den gleichen Namen geben, wie in der Formularansicht. Wenn die hinterlegte Funktion aber verschieden ist, dann hat man andere Ergebnisse.

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo Mirko,

    coole Frage, da musste ich nachdenken. Die meisten Felder lege ich tatsächlich in der Formularansicht an, aber gleiche Felder in der Tabellenansicht gibt es nicht.

    Habe trotzdem mal alle Formelfelder aus der Tabellen- und aus der Formularansicht gelöscht und dann mit den ebkannten Formeln in der Tabellenansicht neue Formelfelder eingefügt. Leider ist mit dem identischen Ergebnis.

    Martin

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    hab möglicherweise eine Lösung, auch wenn ich nicht verstehe wieso das funktioniert...

    let me := this;
    let myD := format(Datum, "YYYYMMDD");
    do as server
        cnt(select 'Schriftstücke' where format('erzeugt am / um', "YYYYMMDD") = myD)
    end
    

    und

    let me := this;
    do as server
        cnt(select 'Schriftstücke' where 'Datum des Schriftstücks' = me.Datum)
    end
    

    und im Bild dann das passende Ergebnis.

    Grüße
    Martin

    • P4EX
    • Martin.2
    • vor 1 Jahr
    • Gemeldet - anzeigen

    hab jetzt auch die Grafiken aktualisiert. Es scheint mit dem "do as server" tatsächlich zu funtkionieren.

    Ich danken nochamsl allen für die guten Fragen!

    Martin

Content aside

  • vor 1 JahrZuletzt aktiv
  • 11Antworten
  • 102Ansichten
  • 3 Folge bereits