[Risolto] Subtotali, Conversione numeri negativi in positivi

Discussioni sulle caratteristiche di database
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Sante ha scritto: Sto pensando di trasferire le tabelle del file "originale" nel file bozza.

Secondo te si può fare? Ovviamente salverò prima una copia.
Che dici proviamo?
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

A provare non c'è problema, ma fai un backup.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Ho provato a copiare la tabella dei dati dal file originale alla bozza, ma senza risultato purtroppo.
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

È possibile vedere il file originale? Anche solo la tabella.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Scusa, come faccio a inviarti solo la tabella?
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Apri il database ed apri un nuovo database. Fai copia/incolla della tabella da uno all'altro. Oppure trascinala da uno all'altro.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Eccolo...
Allegati
Nuovo database.odb
(9.73 KiB) Scaricato 137 volte
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Per risolvere ho bisogno di inserire un campo ID numerico (Integer) nella tabella.
Se lo inserisco con l'autoincremento, diventa automaticamente chiave primaria.
Ho visto che hai già 3 chiavi primarie. Ti sono indispensabili?
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Non credo che siano indispensabili;

solo quella denominata "CC" serve da collegamento, ma penso che non deve essere
necessariamente "primaria".
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Finora il progressivo veniva calcolato confrontando le date ma, in presenza di più operazioni nella stessa data, dava risultati sbagliati.
Si è reso necessaria l'introduzione di un campo ID univoco che mancava nella tabella in maniera da prendere l'ID stesso come termine di confronto al posto della data.
Per fare in modo di non doverlo digitare ogni volta manualmente è stato impostato ad incremento automatico.
In allegato il file database "ridotto" con la sola tabella e le query finali.
Allegati
Query progressivo, totali, totali per gruppo.odb
(12.63 KiB) Scaricato 129 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Il problema era l'ID allora ;)

Adesso dovrei unire tutto con il file originale;

che faccio, trasferisco tutto in questo "ridotto" o viceversa?
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Travasa tutto nel nuovo con copia/incolla. Tranne la tabella.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Ciao Charlie :)

Ho fatto tutto e funzionano, solo che i progressivi dei vari gruppi

NON sono separati ma sommati a quelli precedenti;
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Ciao, certo. Ma è una cosa voluta.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

OK

Anche se i dati in linea di massima sono inseriti in modo crescente per "DataOperaz", ho notato
anche che man mano che si inseriscono nuovi dati, non vengono ordinati in modo crescente, e restano
alla fine, ma solo nelle query che ci riguardano però.
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Scusa, non capisco, se la data è quella odierna e restano alla fine, sono già ordinati.

Edit: Vedo che il problema si presenta con inserimenti di operazioni in date arretrate.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

charlie ha scritto:Scusa, non capisco, se la data è quella odierna e restano alla fine, sono già ordinati.
Si scusa, volevo dire fuori dal gruppo a cui appartiene.
charlie ha scritto: Edit: Vedo che il problema si presenta con inserimenti di operazioni in date arretrate.
E non dovrebbe essere così giusto?
OpenOffice 4.1 Windows 10
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Bene, ora ci smanetto un pò per vedere la faccenda delle date.

Grazie della disponibilità e della pazienza :super:

Alla prossima!
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Se di pazienza ne hai anche tu, ci sto lavorando ancora …..
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Si certo :(

Pensavo che avevamo terminato
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Ciao, dopo svariate prove credo di essere arrivato alla conclusione.
L'idea di utilizzare l'ID per contrassegnare i record in maniera univoca è valida ma non sufficiente. Infatti può accadere di inserire i dati in modo non cronologico e quindi serve un tipo di ordinamento diverso in base alla "DataOperaz" e che tenga conto anche di più inserimenti con la stessa data.
Ho seguito prima la strada di aggiungere un nuovo campo tipo TimeStamp con inserimento automatico per identificare ogni record in maniera univoca, ma poi ho optato per un ordinamento in base ad un nuovo ID calcolato in automatico, senza bisogno di fare nulla in più, che ho chiamato ID1.
Procedimento:
  1. Si parte dalla tabella TabMovCC da me già modificata in precedenza con il campo ID ad incremento automatico.
  2. Si crea la query qOrdinata con il seguente codice:

    Codice: Seleziona tutto

    SELECT "ID", "CC", "DataOperaz", CASEWHEN( "Importo" > 0, "Importo", 0 ) "Entrate", CASEWHEN( "Importo" < 0, "Importo", 0 ) "Uscite", CASEWHEN( "Importo" > 0, "Importo", 0 ) + CASEWHEN( "Importo" < 0, "Importo", 0 ) "Consuntivo", ( SELECT COUNT( * ) FROM "TabMovCC" WHERE "DataOperaz" < "A"."DataOperaz" ) + ( SELECT COUNT( * ) FROM "TabMovCC" WHERE "DataOperaz" = "A"."DataOperaz" AND "ID" < "A"."ID" ) "ID1" FROM "TabMovCC" "A" ORDER BY "ID1" ASC
    dove viene introdotto il campo "ID1" e fatto un ordinamento dei record in base a questo (e quindi alla data). Va esguita in modo "diretto" (clic sull'icona SQL")
  3. Viene creata la vista vOrdinata per consentire di essere usata in una query successiva (Clic destro su qOrdinata > Crea come vista.
  4. Viene creata la query qTotali con questo codice:

    Codice: Seleziona tutto

    SELECT "X"."ID1", "X"."CC", "X"."DataOperaz" "DataOperaz", "X"."Entrate", ABS( "X"."Uscite" ) "Uscite", "X"."Entrate" + "X"."Uscite" "Consuntivo", SUM( "Y"."Entrate" + "Y"."Uscite" ) "Progressivo" FROM "vOrdinata" AS "X" JOIN "vOrdinata" AS "Y" ON "Y"."ID1" <= "X"."ID1" GROUP BY "X"."ID1", "X"."CC", "DataOperaz", "X"."Entrate", "X"."Uscite", "Consuntivo" ORDER BY  "X"."ID1"
    
    UNION
    SELECT '100000','TOTALE GENERALE', NULL, SUM( "Entrate"),SUM( "Uscite"),SUM( "Entrate" + "Uscite"),NULL FROM "vOrdinata"
    
    UNION
    SELECT '100001','TOTALE BF', NULL, SUM( "Entrate"),SUM( "Uscite"),SUM( "Entrate" + "Uscite"),NULL FROM "vOrdinata" WHERE "CC" = 'BF'
    
    UNION
    SELECT '100002','TOTALE CC', NULL, SUM( "Entrate"),SUM( "Uscite"),SUM( "Entrate" + "Uscite"),NULL FROM "vOrdinata" WHERE "CC" = 'CC'
    
    UNION
    SELECT '100003','TOTALE CF', NULL, SUM( "Entrate"),SUM( "Uscite"),SUM( "Entrate" + "Uscite"),NULL FROM "vOrdinata" WHERE "CC" = 'CF'
    
    UNION
    SELECT '100002','TOTALE CG', NULL, SUM( "Entrate"),SUM( "Uscite"),SUM( "Entrate" + "Uscite"),NULL FROM "vOrdinata" WHERE "CC" = 'CG'
Ho fatto qualche test inserendo operazioni a caso e con date diverse.
Ho provato a cancellare anche dei record.
Mi pare che funzioni tutto, ora prova tu e fammi sapere.
Allegati
Query Totale e Totali per gruppo.odb
(11.57 KiB) Scaricato 99 volte
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

Ciao, ti ringrazio sempre per l'impegno e la pazienza :super:

Funziona tutto egregiamente, anche se non mantiene i vari gruppi insieme, cioè

"BF", "CC", "CF" anche se ripetuti più volte come le date, ma dovrebbero comparire insieme.

E' possibile fare quest'altra modifica? Altrimenti non fa nulla :)
OpenOffice 4.1 Windows 10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8807
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da charlie »

Ciao, raggruppare i dati per "CC" è facile, ma calcolare il progressivo diventa un'impresa.
In Calc sarebbe un gioco da ragazzi, anche interfacciandosi con il database.
charlie
macOS 14.4.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Sante
Messaggi: 39
Iscritto il: lunedì 12 settembre 2016, 11:01

Re: Subtotali, Conversione numeri negativi in positivi

Messaggio da Sante »

OK, farò così :)

Grazie sempre per l'impegno e la pazienza :super:

Ciao e alla prossima! :D
OpenOffice 4.1 Windows 10
Rispondi