somma campo record precedente al successivo

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
Giampiero
Messaggi: 139
Iscritto il: 13 set 2014, 10:19

somma campo record precedente al successivo

Messaggio da Giampiero » 05 ott 2016, 18:51

buonasera, ho creato un grafico nel quale devo rappresentare la curva degli incassi giornalieri dell'azienda in parte ci sono riuscito il mio problema è il seguente grafico nell'asse x rappresentato con le date degli incassi e l'asse y con l'importo affidato se il giorno 01/09/2016 ho registrato € 5000.00 poi nel giorno 08/09/2016 ho incassato € 2000.00 qui devo visualizzare un totale di € 7000.00 dato dalla somma degli incassi dei delle due date precedenti e cosi vale per le date successive
come posso sommare i record

admin
Site Admin
Messaggi: 220
Iscritto il: 30 gen 2014, 21:33

Re: somma campo record precedente al successivo

Messaggio da admin » 05 ott 2016, 20:32

Forse occorre prima preparare una tabella o una vista con i valori già pronti.
Scriptcase supporto e vendita per l'italia
www.scriptcasecommunity.it

Giampiero
Messaggi: 139
Iscritto il: 13 set 2014, 10:19

Re: somma campo record precedente al successivo

Messaggio da Giampiero » 05 ott 2016, 20:57

si avevo pensato anch'io ad una vista ma ho avuto difficoltà sono collegate tre tabelle la tabella anagrafica che contiene il numero del lotto che devo filtrare questa è relaionata con la tabella scarico 1-n e la tabella scarico è collegata alla tabella distinta di versamento anche questa 1-n nella tabella distinta di versamento devo sommare il campo importo e raggrupparlo per data di scarico se faccio una select sum(distintadiversamentoimporto), anagrafica.lotto, anagrafica.importofattura, distintadiversamento.dataincasso from anagrafica LEFT OUTER JOIN scarico ON anagrafica.ID = scarico.IDSCARICO............... MI RESTITUISCE UNA SOLA RIGA INVECE DI TUTTE LE RIGHE CON L'INCREMENTO DELL'IMPORTO

rino
Messaggi: 681
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: somma campo record precedente al successivo

Messaggio da rino » 06 ott 2016, 17:47

mancano un po di basi, vediamo di rimediare. Intanto non si tratta di una curva ma di una progressione ovvero il valore indicato è pari alla somma dei valori precedenti più l'attuale . quindi sarà sempre una linea in crescita .
Inoltre devi far vedere la progressione momernto per momento.

Diciamo che parti con già i totali di ogni giornata e che questi sono definiti in un unica tabella finale con tracciaot del tipo : giorno | valoreTotaleGiorno| progressivoTotale.
Questa e la tabella che devi portare sul grafico.

Per popolarla ti conviene farti un programa di lettura diciamo che potresti nell evento onApplicationInit crearti la tabella leggendoti tutti dati con un loop di lettura usando le macro disponibili o le istruzioni dirette.
Popolata la tabella di lavoro la dai in pasto al grafico .
devi gestire il richiamo contemporaneo di più applicazioni ; quesot l opuoi fare o dando dei nomi temporanei alla tabella del grafico o usando dei campi chiave specifici nelal tabella del grafico .
nel primo caso la cancelli a fine lavoro, nel secondo cancelli i records generati.

A me pare facile :roll:
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Giampiero
Messaggi: 139
Iscritto il: 13 set 2014, 10:19

Re: somma campo record precedente al successivo

Messaggio da Giampiero » 07 ott 2016, 08:07

Rino, grazie per il consiglio, anche se a te pare facile a me non tanto :oops: ieri ho risolto in questo modo:
all'interno del database mysql ho creato due viste la prima Distinta che popola tutti i record e la seconda con il nome Somma che contiene una suquery:
`Somma` AS select `Distinta`.`IDDISTINTA` AS `ID`,`Distinta`.`DATA` AS `Data`,`Distinta`.`IMPORTODIST` AS `Importo`,(select sum(`distintadiversamento`.`IMPORTODIST`) from `distintadiversamento` where (`distintadiversamento`.`IDDISTINTA` <= `Distinta`.`IDDISTINTA`)) AS `sum` from `Distinta` order by `Distinta`.`DATA`


P.S. per fare un lavoro ottimo nella barra dove adesso vengono visualizzati i giorni degli incassi vorrei visualizzare i giorni della durata dell'attività che viene definita dalla data di inizio e data fine che trovo già indicato nella tabella così di avere una visuale completa credo che devo lavorare su datediff e poi popolare la riga qualche aiutino

Giampiero
Messaggi: 139
Iscritto il: 13 set 2014, 10:19

Re: somma campo record precedente al successivo

Messaggio da Giampiero » 07 ott 2016, 08:10

IMPORTANTE:
dimenticavo prima di fare partire il grafico devo filtrare il periodo interessato come posso fare ho visto che la pagina dei grafici ha la ricerca avanzata ma devo visualizzarla prima dell'avvio del grafico

rino
Messaggi: 681
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: somma campo record precedente al successivo

Messaggio da rino » 07 ott 2016, 09:23

L ultima domanda la dice lunga sul tipo di soluzione che devi prendere.
In definitiva il tuo calcolo sarà sempre tra limiti temporali minimo e massimo , potrà essere valutato solo nel momento in cui dichiari i limiti. La soluzione statica in sql non è idena perchè l intervallo il range di date di riferimento è variaiblie.
Devi leggere a partira da una data per finira ad un altra e su questa fare i calcoli.
nella procedura di prima devi solo aggiungere il range di date. glieli passi come parametro magari tramitre una app controllo che prende le date, verifica la loro congruità e lancia la app grafica.
A quesato punto la generazioen della tabella di lavoro la puoi fare anche sull app di controllo e alla grafica passare il nome delal tabella generata attraverso un avariaible esterna . il nome lo puoi generare con un generatore casuale o con data e tempo del momento .
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 4 ospiti