delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo. [RISOLTO]

Come utilizzare i campi. Differenze tra campi calcolati, testo, numero, multipli, contenitori.

Moderatore: Moderatori

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo. [RISOLTO]

Messaggio da marcus24 » lunedì 25 febbraio 2019, 16:43

Buongiorno a tutti,
ho una tabella anagrafica e una con dei valori registrati dagli esami.
ecco lo schema
www.pcdata.it/upload18/fm1.png

MI serve fare un calcolo tra il valore apertura cartella clinica, e il valore dell'esame più recente.

In pratica se il giorno 0 apertura pratica faccio l'esame iniziale e ottengo valore 10, dopo un mese di terapia rifaccio l'esame e ottengo valore 11 devo visualizzare la differenza (+1) in un campo a fianco.
Il mese due rifaccio l'esame, e ottengo valore 8. Il nuovo calcolo deve essere 10-8 = 2

Non riesco a trovare un modo per farlo.

Ho creato una terza tabella, chiamandola delta, ma quando nel campo delta vado a cercare i due valori da mettere nel calcolo mi blocco, trovo solo il nome del campo e non so come dirgli " prendi il valore di quel campo al momento "0" e l'ultimo inserito, fossero anche 34 valori, i 32 del mezzo ignorali.

Per cortesia qualcuno mi sa aiutare?
grazie
immagine a : Immagine
Immagine
Ultima modifica di marcus24 il martedì 5 marzo 2019, 17:32, modificato 1 volta in totale.

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da flmkdev » lunedì 25 febbraio 2019, 22:02

Ci sono un paio di soluzioni che potresti adottare per risolvere il tutto :

1 - script tramite variabili che acquisiscono il primo valore e l'ultimo e poi si fa la differenza tra questi due

2 - EseguiSQL tramite SELECT MIN e MAX ...

Forse con il primo ti troverai meglio, lo scrivo qui sotto a titolo di esempio che dovrai adattare alla tua soluzione :

Codice: Seleziona tutto

...
Ordina i record per campo IDnomecampo ASCENDENTE
Vai a Record/Richiesta/Pagina [Primo]
Inserisci risultato calcolato [Seleziona ; $$primo ; TABELLA::IMPORTO_DA_CALCOLARE]
Ordina i record per campo IDnomecampo ASCENDENTE
Vai a Record/Richiesta/Pagina [Ultimo]
Inserisci risultato calcolato [Seleziona ; $$ultimo ; TABELLA::IMPORTO_DA_CALCOLARE]
Inserisci risultato calcolato [Seleziona ; $$totale ; $$primo - $$ultimo]
Mostra finestra personalizz. [Titolo : prova calcolo con variaibil ; Messaggio : $$primo&"¶"&$$ultimo&"¶"&" il totale è di " &$$totale
FM PRO ADVANCED 17 + FMS 17 :!:

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 11:34

grazie mille, provo e vedo cosa tiro fuori !

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 14:56

ciao,
riesco a capire il ragionamento dello script e sono quasi riuscito a farlo funzionare, ed esce la finestra, sto cercando di capire perché i valori non coincidono ma dovrei arrivarci a breve, sto facendo prove

però mi son dimenticato di scrivere che il valore delta deve apparire in un campo ogni volta che guardo una scheda paziente.
come faccio ad applicare quello script su un calcolo? il campo calcolato, non riesco a dirgli " esegui lo script "??

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 15:20

ok il tuo script è eccellente !

ora devo capire come mettere quel valore in un campo... ci sto provando da solo... ma un consiglio sarebbe amato...

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 15:41

allora nel tipo di campo " calcolato" ho trovato " Get ( RisultatoScript ) " ma mi son di nuovo bloccato, ho provato a mettere il nome dello script in diverse posizioni, ma a) o non convalida il calcolo b) non restituisce il risultato...

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 16:15

dunque sono arrivato qui : per immettere il risultato nel campo calcolato, ho 1) abbandonato lo script ( non trovavo davvero il modo di mettere il valore nel campo )

e ho trovato questa funzione

RicavaEnnesimoRecord ( valori ; 1 ) - Ultimo ( valori )

solo che con " 1 " prende il valore del primo record della tabella e non quello del paziente selezionato.

se ho dentro paziente paperino con 4 valori di cui il primo valore è 10
il secondo paziente pluto con 3 valori, mi restituisce il delta con ultimo valore inserito - il 10 di paperino

non trovo come filtrare i risultati per far eseguire il calcolo solo sul record del paziente selezionato nella ricerca .. :( come posso fare?

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 16:56

ok, provando e riprovando sono arrivato quasi alla conclusione

imposta campo, con $$totale, la variabile, fa quello che deve.

ora sono al problema solito. come aggiornare il campo ogni volta che faccio una ricerca, lo script frigger non funziona :(

effetto la ricerca ma devo mandare lo script in manuale, non riesco a fare il ricalcolo automatico

marcus24
Messaggi: 57
Iscritto il: martedì 6 ottobre 2015, 10:00

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da marcus24 » martedì 26 febbraio 2019, 17:29

senza eleganza ma funzionale.

ho creato uno script per eseguire la ricerca e il calcolo.

ora passo a modo trova, immetto il nome del paziente nel campo e CLICCO IL PULSANTE ho la ricerca e i dati aggiornati.

Se faccio la ricerca con "invio" devo aggiornare manualmente.

se qualcuno mi sa aiutare a risolvere con eleganze : grazie fin da ora.

flmkdev
Messaggi: 342
Iscritto il: giovedì 14 gennaio 2016, 9:48
Versione FileMaker: 14.03
Sistema operativo: Windows 10 Pro

Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.

Messaggio da flmkdev » martedì 26 febbraio 2019, 18:59

Ho usato le VARIABILI perchè è la soluzione più rapida in questo caso.

Puoi inserire direttamente nel formato la VARIABILE DI FUSIONE
che che ti apparirà in questo modo :
<<$$>> tu la fai diventare <<$$primo>>
ed hai il DELTA

<<$$>> tu la fai diventare <<$$totale>>
ed hai la differenza su tutti i campi.


Per lo SCRIPT io lo avrei inserito nel FORMATO sullo SCRIPT TRIGGER = SU CARICAMENTO RECORDS - questo perchè dopo ogni ricerca viene caricato sempre un nuovo recordset aggiornato in base ai criteri della ricerca stessa.

In questo modo lo script AGGIORNA LE VARIABILI NELLE RISPETTIVE VARIABILI DI FUSIONE :

$$primo
$$totale
FM PRO ADVANCED 17 + FMS 17 :!:

Rispondi