delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo. [RISOLTO]
Moderatore: Moderatori
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo. [RISOLTO]
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 :
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 :
Ultima modifica di marcus24 il martedì 5 marzo 2019, 17:32, modificato 1 volta in totale.
-
- 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.
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 :
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
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
grazie mille, provo e vedo cosa tiro fuori !
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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 "??
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 "??
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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...
ora devo capire come mettere quel valore in un campo... ci sto provando da solo... ma un consiglio sarebbe amato...
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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...
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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?
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?
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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
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
-
- Messaggi: 57
- Iscritto il: martedì 6 ottobre 2015, 10:00
Re: delta fra valore momento 0 e ultima rilevazione, ignorando i valori nel mezzo.
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.
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.
-
- 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.
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 :
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
Puoi inserire direttamente nel formato la VARIABILE DI FUSIONE
che che ti apparirà in questo modo :
ed hai il DELTA<<$$>> tu la fai diventare <<$$primo>>
ed hai la differenza su tutti i campi.<<$$>> tu la fai diventare <<$$totale>>
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