0

Datumsberechnung zwischen verschiedenen Datensätzen

Liebe Community. Ich habe wieder ein vertracktes Problem.

Ich habe eine Tabelle Patienten und zu jedem Patienten in der Tabelle Behandlungen diverse Behandlungsdaten, welche jedoch nicht zwingend chronologisch eingegeben worden sind. D.h. die Ninox internen Datensatznummern sind nicht chronologisch hochgezählt.

Nun möchte ich für jeden Patienten jeweils in jedem Behandlungsdatensatz berechnen, wie lange es seit der letzten Behandlung war (resp. wann das Behandlungsdatum der vorherigen Behandlung war)

Wenn ich 

let myrec := number(this);
let prevrec := myrec - 1;
((select Behandlung where Nr = prevrec) order by 'Behandlungsdatum').Behandlungsdatum

Dann geht das gut, wenn die Behandlungsdaten schön chronologisch in der richtigen Reihenfolgen eingegeben worden sind aber eben nicht, wenn es da Ausreisser gibt. 

Hat da jemand eine Idee, wie man das lösen könnte?

Vielen Dank, Pascal

2 Antworten

null
    • john_eans
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Hallo,

     

    also das letzte Datum bekommst du so:

    let my := this;
    let lastDate := max((select Behandlungen where Datum < my.Datum and Patient = my.Patient).Datum);
    lastDate
    

    Der Zeitraum seit der letzten Besprechung entsprechend so:

    let my := this;
    let lastDate := max((select Behandlungen where Datum < my.Datum and Patient = my.Patient).Datum);
    duration(appointment(lastDate, my.Datum))
    

     

    Ich hoffe das funktioniert so, wie du es brauchst.

     

    VG
    Johannes

    • Admin_EYEPARC
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Lieber Johannes. 

    Vielen Dank. Es funktioniert tadellos

    lg Pascal

Content aside

  • Status Answered
  • vor 1 JahrZuletzt aktiv
  • 2Antworten
  • 20Ansichten
  • 2 Folge bereits