0

Erstellung eines Dashboards (Übersicht über mehrere Tabellen)

Ich habe in meiner Datenbank z.B. Tabellen für: Projekte, Zeiterfassung und Aufgabenliste. Kann man sich so eine Art Übersicht basteln, in der man dann die jeweiligen Datensätze sieht, die noch den Status "offen" haben!? Dachte an eine Kanban-Ansicht mit diesen 3 Tabellen als Gruppierung und dann die jeweiligen Datensätze drunter...

Von Torsten kam die Idee, dass über die neue Formular-Ansicht zu machen, habe da leider keine Erfahrung. 

14 Antworten

null
    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ich mache das auch über die Formularansicht. Da ich mehrere Benutzer habe, habe ich eine Tabelle Daschboard erstellt, dort für jeden Benutzer einen Datensatz eingeritet mit dem Auswahlfeld Benutzer und in Tabelleneigenschaften die Bedingung lesbar wenn auf 

    user()=Benutzer. So hat jeder Benutzer eigene Daschboard mit aufgaben und Verkaufschancen.

    Leo

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Reiner,

     

    hier mal eines meiner (noch unfertigen) Projekte, bei dem ich mich in Sachen Dashboard etwas ausgetobt habe, evtl. kannst Du da Anregungen finden, wie Du das für Dich umsetzen kannst:

     

    https://www.dropbox.com/s/vxvz220onwv6qm6/Beispiel%20Dashboard.ninox?dl=0

     

    lg, Torsten

    • Reiner
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten. Erstmal vielen Dank für Deine Vorlage. Habe es jetzt mehrere Tage probiert und bin kläglich gescheitert :( Er zeigt bei mir absolut nichts an. Ich denke, ich brauche da die Hilfe vom Support. Ich habe da bestimmt irgendwo nen Denkfehler drin...  

    • Reiner
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Vergiss alles, was ich geschrieben habe :) Es funktioniert perfekt!! Ich kann nicht viel zeigen, aber man erkennt das Schema :) VIELEN VIELEN DANK!! 

    dashboard

    • Joerg.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

    ich habe das Beispiel von Torsten hergenommen und mir ein Dashboard gebaut. Dafür vielen Dank an Torsten!

    Allerdings habe ich ebenfalls mehrere Benutzer und möchte natürlich für jeden eine eigene Sicht auf die Dinge einrichten. Das geht sicherlich mit mehreren Datensätzen in der Tabelle Dashboard. Wie bekomme ich es hin, dass jeder Benutzer beim Start der Datenbank SEINEN Datensatz öffnet?

    Danke und viele Grüße

    Jörg

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Jörg, du kannst bei Optionen einen Skript nach Öffnen der Datenbank schreiben:

    ---

    let my := (select Dashboard where _cu = user());
    if cnt(my) = 0 then
    let new := (create Dashboard);
    openRecord(new)
    else
    openRecord(first(my))
    end

    ---

    Ninox prüft ob einen Datensatz, erstellt  von dem Benutzer, existiert. Wenn nein, wird ein neuer Datensatz erstellt und geöffnet. Wenn ja, wird der ersten Datensatz, erstellt von dem Benutzer, ausgewählt und geöffnet.

    Die Datensätze kannst du auf Tabellenebene bei lesbar wenn mit dem Skript

    ---

    _cu = user()

    ---

    so gestallten, dass jeder Benutzer nur seinen eigenen Datensatz sieht.

     

    Leo

    • Joerg.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Genial! Danke!

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    super Idee, das hab ich auch gleich so umgesetzt. Wenn ich die Datensätze in der Zieltabelle nur für den angemeldeten User lesbar mache, sollte doch

     

    let my := (select Dashboard where _cu = user());
    if cnt(my) = 0 then
    let new := (create Dashboard)
    end;
    openTable("Dashboard","Dashboard")

     

    als Skript nach dem Öffnen genügen, oder? So kann ich die User gezielt zur voreingestellten Formular-Ansicht "Dashboard" lotsen.

     

    lg, Torsten

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten,

    stimmt, funktioniert auch. Wenn wir schon am Code-sparen sind, kann man die Formel auch so umschreiben:

    ---

    if cnt(select Dashboard where _cu = user()) = 0 then
    create Dashboard
    end;
    openTable("Dashboard", "Dashboard")

    ---

    Und damit Die Benutzer nicht die Datensätze zufällig erstellen, kann man "Datensätze erstellen" auf Tabellenebe nur dem Admin erlauben. Dann verschwindet das Plus-Symbol oben rechts. Ninox erstellt aber den Datensatz mit diesem Skript trotzdem.

    Leo

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Leo,

     

    bei mir erstellt das Skript den Datensatz nicht, wenn der User auf Tabellenebene das Recht nicht dazu hat...

     

    lg, Torsten

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Dann ist das ein Bug. In der App (Mac) funktioniert es und im Browser nicht. Ich werde es bei  Change Requests eintragen.

    Leo

    • Torsten_Stang.1
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Okay, ich bin (aktuell noch) der einzige mit der App, daher hab ich hier kein differenziertes Verhalten...

    Danke für‘s Eintragen.

     

    lg, Torsten

    • Premium Service Kotaris
    • Ioannis_Kotaris
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Grüße euch,

    ich bin sehr Jung bei Ninox und will nun unseren Betrieb auf ninox setzen. Meine Frage, wie erstelle ich ein Dashboard von Anfang an.

    • Klaus_Oppermann
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Ioannis,
    du hattest heute im Stammtisch deine CSS-Variante eines Dashboards gezeigt. Würde gerne dein Angebot annehmen, das ich mir das Script anschauen und implementieren kann... Magst du in Slack mit uns teilen?

    Danke und Gruß

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 14Antworten
  • 7082Ansichten