Discussione:
calcolare delta tra due cifre
(troppo vecchio per rispondere)
m***@gmail.com
2016-03-31 11:59:45 UTC
Permalink
Ciao

in una tabella ho il campo clienti, ricavo e campo anno, il cliente può avere ricavi sia nell' anno 2015 che nell'anno 2016, quindi per lo stesso cliente ci sono due righe
vorrei creare una query in cui posso riportare per il cliente il valore ad es dell'anno 2015 e 2016 e il delta.

si può fare?

ciao e grazie

claudio
Vittorio
2016-03-31 18:37:12 UTC
Permalink
<in una tabella ho il campo clienti, ricavo e campo anno, il cliente può
avere ricavi sia nell' anno 2015 che nell'anno 2016, quindi per lo stesso
cliente ci sono due righe
<vorrei creare una query in cui posso riportare per il cliente il valore ad
es dell'anno 2015 e 2016 e il delta.

Puoi usare ad esempio con una self-query per avere il delta 2016-2015 :



SELECT c1.cliente , C1.ricavo - C2.ricavo as Delta
FROM TabellaClienti as C1 Inner Join TabellaClienti as C2 On C1.cliente =
C2.cliente
where C1.anno = 2016 and C2.anno = 2015
m***@gmail.com
2016-04-01 06:40:12 UTC
Permalink
Post by Vittorio
SELECT c1.cliente , C1.ricavo - C2.ricavo as Delta
FROM TabellaClienti as C1 Inner Join TabellaClienti as C2 On C1.cliente =
C2.cliente
where C1.anno = 2016 and C2.anno = 2015
Ciao Vittorio, grazie per aver risposto, essendo alle prime armi, mi è difficile capire, come si crea una self query? quello che hai riportato è sql?
al massimo ho usato il generatore di espressioni..:)

claudio
Vittorio
2016-04-01 11:22:19 UTC
Permalink
<Ciao Vittorio, grazie per aver risposto, essendo alle prime armi, mi è
difficile capire, come si crea una self query? quello che hai riportato è
sql?
<al massimo ho usato il generatore di espressioni..:)

sì è una query (è un self-join) che puoi poi usare come origine dati di
campi e report :crea una nuova query, poi nella sua "visualizzazione SQL"
copia il codice , mofificando
eventualmente il nome dei campi e della tabella ( c1 e c2 sono solo alias
che rappresentano la stessa tabella , e vanno bene così ):

SELECT c1.cliente , C1.ricavo as Ricavi2016, C2.ricavo as Ricavi2015,
C1.ricavo - C2.ricavo as Delta
FROM TabellaClienti as C1 Inner Join TabellaClienti as C2 On C1.cliente =
C2.cliente
where C1.anno = 2016 and C2.anno = 2015
m***@gmail.com
2016-04-01 12:25:32 UTC
Permalink
ciao Vittorio

grazie di tutto.

claudio
m***@gmail.com
2016-04-01 12:33:01 UTC
Permalink
ok, funge, a questo punto se volessi riportare la differenza in %

grazie
Vittorio
2016-04-01 16:15:32 UTC
Permalink
ha scritto nel messaggio news:aa6fc5d8-b373-41ab-b57d-***@googlegroups.com...

<ok, funge, a questo punto se volessi riportare la differenza in %


SELECT c1.cliente , C1.ricavo - C2.ricavo as delta , ( C1.ricavo -
C2.ricavo)/C2.ricavo * 100 as Delta_Percentuale
FROM clienti as C1 Inner Join clienti as C2 On C1.cliente = C2.cliente
where C1.anno = 2016 and C2.anno = 2015
Ammammata
2016-05-03 10:32:34 UTC
Permalink
Il giorno Fri 01 Apr 2016 06:15:32p, *Vittorio* inviava su
Post by Vittorio
( C1.ricavo -
C2.ricavo)/C2.ricavo * 100 as Delta_Percentuale
solo se C2.Ricavo <> 0
--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
Post by Vittorio
http://www.bb2002.it :) <<<<<
........... [ al lavoro ] ...........
Loading...