Discussione:
riferimenti a celle di pivot - errata corrige
(troppo vecchio per rispondere)
Mimmo
2007-03-28 13:18:08 UTC
Permalink
scusate, il post che ho inviato poco fa mi è venuto come risposta ad
uno mio precedente e rischia di non vedersi; lo ripeto.

mi sembra di aver capito che, se in una formula di un foglio X
referenzio una cella di una pivot Y che contiene dati, il puntamento
avviene tramite la funzione INFO.DATI.PIVOT (o GETPIVOTDATA) e rimane
corretto anche al variare del layout della pivot in questione, che
può
influire sul n. di riga o di colonna della cella referenziata.
Ho notato che se però referenzio non una cella dati ma una cella
della
pivot che contiene il nome del campo che sta nell'area riga, il
riferimento resta un riferimento "normale" e quindi dà un risultato
diverso a seconda del lay-out della tabella.
Mi chiedo:
a) ho capito bene?
b) c'è modo di ancorare il riferimento anche nel secondo caso così da
avere sempre i puntamenti corretti?

Il mio obiettivo è la costruzione di un report che sintetizzi dati
presi da una o più tabelle pivot e che funzioni indipendentemente dal
variare dinamico delle stesse (a meno ovviamente della "sparizione"
di
un valore dall'area riga).


Spero di essere stato chiaro, se no vi prego di dirmelo e vi
ringrazio
del tempo che vorrete dedicarmi


Mimmo
elby
2007-03-28 15:55:30 UTC
Permalink
Post by Mimmo
scusate, il post che ho inviato poco fa mi è venuto come risposta ad
uno mio precedente e rischia di non vedersi; lo ripeto.
mi sembra di aver capito che, se in una formula di un foglio X
referenzio una cella di una pivot Y che contiene dati, il puntamento
avviene tramite la funzione INFO.DATI.PIVOT (o GETPIVOTDATA) e rimane
corretto anche al variare del layout della pivot in questione, che
può
influire sul n. di riga o di colonna della cella referenziata.
Ho notato che se però referenzio non una cella dati ma una cella
della
pivot che contiene il nome del campo che sta nell'area riga, il
riferimento resta un riferimento "normale" e quindi dà un risultato
diverso a seconda del lay-out della tabella.
a) ho capito bene?
b) c'è modo di ancorare il riferimento anche nel secondo caso così da
avere sempre i puntamenti corretti?
Il mio obiettivo è la costruzione di un report che sintetizzi dati
presi da una o più tabelle pivot e che funzioni indipendentemente dal
variare dinamico delle stesse (a meno ovviamente della "sparizione"
di
un valore dall'area riga).
Spero di essere stato chiaro, se no vi prego di dirmelo e vi
ringrazio
del tempo che vorrete dedicarmi
Mimmo
Ciao Mimmo
Se i dati sulle Pivot sono correlati, o meglio se i record di dati dai
quali le Pivot prendono origine sono correlati, probabilmente lo
strumento migliore è una tabella query con origine dati su più tabelle
correlate, sulla quale poi eventualmente lavorare con formule o Pivot.
Potresti chiarire meglio il tuo problema nei termini dell'origine
dati?
Ciao Elio
Mimmo
2007-03-29 09:26:58 UTC
Permalink
Post by elby
Ciao Mimmo
Se i dati sulle Pivot sono correlati, o meglio se i record di dati dai
quali le Pivot prendono origine sono correlati, probabilmente lo
strumento migliore è una tabella query con origine dati su più tabelle
correlate, sulla quale poi eventualmente lavorare con formule o Pivot.
Potresti chiarire meglio il tuo problema nei termini dell'origine
dati?
Ciao Elio- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
provo a risponderti, ringraziandoti della cortesia, anche se non sono
assolutamente esperto di "dati correlati" e di "tabelle query" in
excel.

Ho due fogli che contengono dati analitici di input: diciamo un foglio
per i costi e uno per i proventi.

Ho poi delle pivot che aggregano secondo vari criteri (per area, per
commessa, eccc.) rispettivamente i dati di costo e quelli di provento,
in genere con una prospettazione mensile per colonna.

Ho bisogno di un report sintetico che contenga (ad es. per area o per
commessa) sia i dati sintetici di proventi che quelli di costo sempre
aggregati per mese.

Ho preparato un foglio simile a questo
A B C D
1 TIPO GEN
FEB................................
2 Area 1 Proventi 10 20
3 Area 1 Costi 4 7
4 Area 2 Proventi ...........................
5 Area 2 Costi...............................
..........................................................

referenziando le celle delle colonne A, C, D, ecc. con
=cella_corrispondente_ della_tabella_pivot

Ora mentre nelle celle C2, c3,...D2, D3,...... il puntamento alla
coriispondente cella della pivot si traduce in un
INFO.DATI.PIVOT(.....) e quindi resta corretto anche se nelle pivot
origine variano le righe o le colonne, il puntamento dalle celle
A2,A3,A4,..... avviene con un riferimento semplice =Fogliopivot!RC e
quindi non resta corretto se le righe o le colonne della pivot
cambiano a fronte di variazioni nei dati di input o di prospettazioni
diverse (filtro o altro....)

Sperando di essere stato più chiaro, vorrei sapere se c'è modo di
utilizzare la INFO.DATI anche per referenziare le celle di
intestazione righe o colonne delle pivot e non solo per quelle dati.

Se poi con la "correlazione" o le "tabelle query" posso risolvere
meglio, ti pregherei di sintetizzarmi di che si tratta e di rimandarmi
a qualche indirizzo o contenuto della guida dove possa approfondire.

Grazie e scusa

Mimmo
elby
2007-03-30 15:29:14 UTC
Permalink
Post by Mimmo
Post by elby
Ciao Mimmo
Se i dati sulle Pivot sono correlati, o meglio se i record di dati dai
quali le Pivot prendono origine sono correlati, probabilmente lo
strumento migliore è una tabella query con origine dati su più tabelle
correlate, sulla quale poi eventualmente lavorare con formule o Pivot.
Potresti chiarire meglio il tuo problema nei termini dell'origine
dati?
Ciao Elio- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
provo a risponderti, ringraziandoti della cortesia, anche se non sono
assolutamente esperto di "dati correlati" e di "tabelle query" in
excel.
Ho due fogli che contengono dati analitici di input: diciamo un foglio
per i costi e uno per i proventi.
Ho poi delle pivot che aggregano secondo vari criteri (per area, per
commessa, eccc.) rispettivamente i dati di costo e quelli di provento,
in genere con una prospettazione mensile per colonna.
Ho bisogno di un report sintetico che contenga (ad es. per area o per
commessa) sia i dati sintetici di proventi che quelli di costo sempre
aggregati per mese.
Ho preparato un foglio simile a questo
A B C D
1 TIPO GEN
FEB................................
2 Area 1 Proventi 10 20
3 Area 1 Costi 4 7
4 Area 2 Proventi ...........................
5 Area 2 Costi...............................
..........................................................
referenziando le celle delle colonne A, C, D, ecc. con
=cella_corrispondente_ della_tabella_pivot
Ora mentre nelle celle C2, c3,...D2, D3,...... il puntamento alla
coriispondente cella della pivot si traduce in un
INFO.DATI.PIVOT(.....) e quindi resta corretto anche se nelle pivot
origine variano le righe o le colonne, il puntamento dalle celle
A2,A3,A4,..... avviene con un riferimento semplice =Fogliopivot!RC e
quindi non resta corretto se le righe o le colonne della pivot
cambiano a fronte di variazioni nei dati di input o di prospettazioni
diverse (filtro o altro....)
Sperando di essere stato più chiaro, vorrei sapere se c'è modo di
utilizzare la INFO.DATI anche per referenziare le celle di
intestazione righe o colonne delle pivot e non solo per quelle dati.
Se poi con la "correlazione" o le "tabelle query" posso risolvere
meglio, ti pregherei di sintetizzarmi di che si tratta e di rimandarmi
a qualche indirizzo o contenuto della guida dove possa approfondire.
Grazie e scusa
Mimmo
Ciao Mimmo
Sarebbe necessario che fornissi la struttura delle tabelle origine
dati. Da quello che ho compreso basterà una tabella query alimentata
dai dati di entrambe le tabelle origine dati sulla quale poi
costruire una pivot. Per quanto riguarda le tabelle query e il
programma incorporato in Excel che le gestisce guarda sulla guida in
linea Importare o Collegare Dati.
I Comndi iniziali sono: Dati > Importa Dati Esterni > Nuova Query su
Database, ecc. Comunque, ti darò le istruzioni una volta che avrai
chiarito come sono strutturati i dati ( i 2 fogli con i dati analitici
di input ).
Ciao Elio
Mimmo
2007-03-30 17:03:50 UTC
Permalink
Post by elby
Ciao Mimmo
Sarebbe necessario che fornissi la struttura delle tabelle origine
dati. Da quello che ho compreso basterà una tabella query alimentata
dai dati di entrambe le tabelle origine dati sulla quale poi
costruire una pivot. Per quanto riguarda le tabelle query e il
programma incorporato in Excel che le gestisce guarda sulla guida in
linea Importare o Collegare Dati.
I Comndi iniziali sono: Dati > Importa Dati Esterni > Nuova Query su
Database, ecc. Comunque, ti darò le istruzioni una volta che avrai
chiarito come sono strutturati i dati ( i 2 fogli con i dati analitici
di input ).
Ciao Elio- -
Grazie, Elio
Ho un week-end un po' "impicciato" e non so se riesco a risponderti
prima di lunedì.
Come posso mandarti la struttura delle tabelle origine?
Ti faccio uno schema sul post tipo quello di prima o posso "allegarti"
qualcosa e se sì, come? Scusa ma non sono così pratico dei NG.

Grazie ancora e buon we
Mimmi
elby
2007-04-02 10:42:54 UTC
Permalink
Post by Mimmo
Post by elby
Ciao Mimmo
Sarebbe necessario che fornissi la struttura delle tabelle origine
dati. Da quello che ho compreso basterà una tabella query alimentata
dai dati di entrambe le tabelle origine dati sulla quale poi
costruire una pivot. Per quanto riguarda le tabelle query e il
programma incorporato in Excel che le gestisce guarda sulla guida in
linea Importare o Collegare Dati.
I Comndi iniziali sono: Dati > Importa Dati Esterni > Nuova Query su
Database, ecc. Comunque, ti darò le istruzioni una volta che avrai
chiarito come sono strutturati i dati ( i 2 fogli con i dati analitici
di input ).
Ciao Elio- -
Grazie, Elio
Ho un week-end un po' "impicciato" e non so se riesco a risponderti
prima di lunedì.
Come posso mandarti la struttura delle tabelle origine?
Ti faccio uno schema sul post tipo quello di prima o posso "allegarti"
qualcosa e se sì, come? Scusa ma non sono così pratico dei NG.
Grazie ancora e buon we
Mimmi
Ciao Mimmi
Basta uno schema come quello già fatto; bisogna, comunque, che siano
chiari i tipi di dati gestiti dalle colonne e le intestazioni di
colonna ( nomi dei campi; NB: non devono contenere spazi vuoti).
Ciao Elio
Mimmo
2007-04-02 20:21:27 UTC
Permalink
Post by elby
Post by elby
Basta uno schema come quello già fatto; bisogna, comunque, che siano
chiari i tipi di dati gestiti dalle colonne e le intestazioni di
colonna ( nomi dei campi; NB: non devono contenere spazi vuoti).
Ciao Elio- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
Stamattina ti avevo mandato dal'ufficio un post con gli schemi, ma
dev'essere successo qualcosa perchè non lo vedo.
Ci riprovo ora anche se non ho le tabelle a disposizione, perchè non
sarò in ufficio i prossimi due giorni.

Prima tabella di input (Costi)

Commessa Area Mese Risorsa Tiporisorsa Giornidicosto Costointerni
CostoEsterni Giornidiprovento Proventi
MM26 PA gen Pluto Interni
10 3350 0
5 3000
MM27 DE gen Pippo Esterni
20 0 4000
0 0

Seconda Tabella di input (Proventi)

Commessa Area Mese TipoFP N°FP Proventi
MM27 PA Gen Mev 10 3000
MM27 DE feb Riu 100 2000

prima tabella Pivot Costi

Commessa Area Mese Gen fEB
mm26 pa Costi int 3350 0
Costi est 0 0
DE Costi int 0 0
Costi est 0 0
mm27 DE costi int 0 0
costi est 0 4000

seconda tabella pivot proventi

Commessa Area Mese gen feb
mm26 Pa Somma di proventi 3000 0
mm27 pa Somma di proventi 3000 0
de Somma di proventi 0 4000

report desiderato incrociando le pivot

Commessa Area gen feb
mm26 pa proventi 3000 0
costi 3350 0

DE proventi 0 0
costi 0 0
mm27 pa proventi 3000 0
costi 0 0

de proventi 0 4000
costi 0 4000

spero di non averti confuso le idee e probabilmente c'è qualche
imprecisione

il problema che ho ora nel report è che se referenzio le celle dati
delle pivot il riferimento viene dinamico e funziona comunque cambio
le pivot (purchè l'info ci sia) mentre se referenzio le celle
intestazione riga delle pivot (commessa area) ottengo un riferimento
assoluto che choaramente non funziona all'aggiornamneto delle pivot se
cambiano le righe

se no è chiaro ti mando gli esempi dalle tabelle al mio rientro in
ufficio

grazie comunque

Mimmo
elby
2007-04-03 17:49:15 UTC
Permalink
Post by Mimmo
Post by elby
Post by elby
Basta uno schema come quello già fatto; bisogna, comunque, che siano
chiari i tipi di dati gestiti dalle colonne e le intestazioni di
colonna ( nomi dei campi; NB: non devono contenere spazi vuoti).
Ciao Elio- Nascondi testo tra virgolette -
- Mostra testo tra virgolette -
Stamattina ti avevo mandato dal'ufficio un post con gli schemi, ma
dev'essere successo qualcosa perchè non lo vedo.
Ci riprovo ora anche se non ho le tabelle a disposizione, perchè non
sarò in ufficio i prossimi due giorni.
Prima tabella di input (Costi)
Commessa Area Mese Risorsa Tiporisorsa Giornidicosto Costointerni
CostoEsterni Giornidiprovento Proventi
MM26 PA gen Pluto Interni
10 3350 0
5 3000
MM27 DE gen Pippo Esterni
20 0 4000
0 0
Seconda Tabella di input (Proventi)
Commessa Area Mese TipoFP N°FP Proventi
MM27 PA Gen Mev 10 3000
MM27 DE feb Riu 100 2000
prima tabella Pivot Costi
Commessa Area Mese Gen fEB
mm26 pa Costi int 3350 0
Costi est 0 0
DE Costi int 0 0
Costi est 0 0
mm27 DE costi int 0 0
costi est 0 4000
seconda tabella pivot proventi
Commessa Area Mese gen feb
mm26 Pa Somma di proventi 3000 0
mm27 pa Somma di proventi 3000 0
de Somma di proventi 0 4000
report desiderato incrociando le pivot
Commessa Area gen feb
mm26 pa proventi 3000 0
costi 3350 0
DE proventi 0 0
costi 0 0
mm27 pa proventi 3000 0
costi 0 0
de proventi 0 4000
costi 0 4000
spero di non averti confuso le idee e probabilmente c'è qualche
imprecisione
il problema che ho ora nel report è che se referenzio le celle dati
delle pivot il riferimento viene dinamico e funziona comunque cambio
le pivot (purchè l'info ci sia) mentre se referenzio le celle
intestazione riga delle pivot (commessa area) ottengo un riferimento
assoluto che choaramente non funziona all'aggiornamneto delle pivot se
cambiano le righe
se no è chiaro ti mando gli esempi dalle tabelle al mio rientro in
ufficio
grazie comunque
Mimmo
Ciao Mimmo
Ora che mi hai mandato la struttura delle tabelle ti posso confermare
che hai 2 tabelle correlate. Infatti sia la tabella Costi che quella
Proventi hanno un campo in comune che è la Commessa ( suppongo che sia
univoco in entrambe le tabelle ).
Pertanto, è possibile costruire una tabella query che in sostanza
esegue la seguente richiesta:
dammi tutte le righe ( oppure solo le righe che rispondono ad uno o
più criteri ) della tabella Costi del file ( percorso file )
limitatamente ai campi ( elenco campi ) e i campi della tabella
Ricavi del file ( stesso percorso del file precedente ) dove il
valore del campo commessa è uguale. Su tale tabella poi costruirai la
tua Pivot. In sostanza non devi 'incrociare' le Pivot ma 'correlare'
i dati origine e solo su quelli adattare strumenti di analisi come le
Pivot
Ovviamente, così come è scritta, questa richiesta non significa nulla
per il programma Microsoft Query; essa va tradotta nel linguaggio di
interrogazione del programma.
Excel ti mette a disposizione una creazione guidata query che scrive
al tuo posto le istruzioni per le query più semplici, come quelle per
dati di una singola tabella
Per istruzioni più complesse invece bisogna 'smanettare' nel programma
vero e proprio.
Dovresti darmi 1) il percorso completo del file origine dati ( se le 2
tabelle sono sullo stesso file ) 2) Il nome delle tabelle. Se non lo
hai ancora fatto, devi
dare un nome agli intervalli di origine comprensivi di intestazione di
colonne: seleziona l'intervallo relativo ai costi; dal menù Inserisci
seleziona Nome e a seguire Definisci...
Aggiungi un nome alla lista ( se vi sono già nomi ) e controlla nella
formula in basso della finestra se il riferimento è giusto. Il nome
Costi è valido e significativo. Fai la stessa seguenza per i proventi
( Nome: Proventi )
Ti manderò, una volta ricevute queste ultime informazioni, una
soluzione già preconfezionata per introdurti più facilmente
all'argomento.
Ciao Elio
Mimmo
2007-04-04 13:09:45 UTC
Permalink
Post by elby
Ti manderò, una volta ricevute queste ultime informazioni, una
soluzione già preconfezionata per introdurti più facilmente
all'argomento.
Ciao Elio-
Intanto ti ringrazio della disponibilità e della cortesia.
Provvederò a postarti quanto richiesto nei prossimi giorni, appena
riesco a trovare una mezz'oretta di tempo.
(Ho un periodo un po' incasinato per accavallarsi di impegni)

Ciao

Mimmo
Mimmo
2007-04-06 08:16:13 UTC
Permalink
Post by elby
Dovresti darmi 1) il percorso completo del file origine dati ( se le 2
tabelle sono sullo stesso file )
Eccomi, finalmente:

C:\Documents and Settings\Maiorino\Documenti\Ufficio\Inpdap\CDG2007
(ma poi ovviamente posso cambiarlo?)
Post by elby
2) Il nome delle tabelle.
Input_Risorse, Input_Pianificazione_FP
Post by elby
Ti manderò, una volta ricevute queste ultime informazioni, una
soluzione già preconfezionata per introdurti più facilmente
all'argomento.
-
Grazie ancora e Buona Pasqua

Mimmo
elby
2007-04-09 17:15:01 UTC
Permalink
Post by Mimmo
C:\Documents and Settings\Maiorino\Documenti\Ufficio\Inpdap\CDG2007
(ma poi ovviamente posso cambiarlo?)
Certo. Cambiando nome percorso completo e path nel codice che trovi
alla fine del post ( le 2 costanti iniziali )
Post by Mimmo
2) Il nome delle tabelle.
Input_Risorse, Input_Pianificazione_FP
[cut]
Post by Mimmo
Mimmo
Per evitarti una serie di passaggi manuali ti propongo questa
scorciatoia da programmazione VBA con la premessa che per l'utilizzo
di microsoft query non è affatto necessario l'uso di VBA. Apri un file
di Excel nuovo oppure seleziona un foglio vuoto di un file già
esistente.
Premi Alt + F11 per aprire la finestra VBA. Dal menù Inserisci
seleziona Modulo. Nella finestra Codice ( se non è visibile seleziona
Codice dal menù Visualizza )
incolla il codice sottostante. Premi Alt + F11 per tornare ad Excel.
Alt + F8 apre la finestra macro. Seleziona SetUpQueryTable e clicca su
Esegui.
Se tutto funziona dovresti importare i dati dall'origine dati. Se non
dovesse essere già visibile la barra flottante
Dati esterni rendila visibile puntando un'area vuota della barra dei
menù , cliccando con il destro, e spuntando la riga Dati esterni.
Perchè la barra sia attiva è necessario che sia selezionata almeno una
cella dalla tabella query. Clicca sulla prima icona della barra
( modifica query...)
Ti si apre Microsoft Query; dai uno sguardo alla struttura della
query, in particolare alla relazione tra le 2 tabelle origine dati ),
all'anteprima dei dati e
all'istruzione SQL ( icona con scritta SQL ). Puoi salvare la Query
dal menù File > Salva con Nome della finestra del Programma. Il file
salvato con estensione .dqy
può essere visionato / modificato con Blocco note. Se aperto con Excel
( apertura di Default ) restituisce un foglio di lavoro corrispondente
alla query.
Il file serve inoltre come origine dati nell'importazione dati da
Excel ( Dati >> Importa dati esterni >>Importa dati...>> ecc)
Quale cartella di salvataggio scegli quella che ti presenta il
programma. Chiudi Microsoft Query. Dai uno sguardo alle proprietà
della Tabella Query
(seconda icona della barra Dati esterni ). Chiudi la finestra delle
proprietà. Apri l'origine dati modifica i dati di record già esistenti
( non accodarne di altri ), mantenendo
rigorosamente la formattazione preesistente); chiudi il file origine
dati salvando le modifiche. Torna al file di importazione dati; se la
tabella query non si è già aggiornata
premi sul punto esclamativo rosso della barra Dati esterni.
Ora puoi fare tutte le Pivot che vuoi che hanno come origine dati la
tabella query importata ( N.B. quando usi la creazione guidata Tabella
Pivot
non fare riferimento ad un intervallo fisso ma all'intervallo
denominato corrispondente all'area della tabella query importata ( nel
nostro caso scrivi
nell'editore di referenze: CostiProventi
Poichè credo vi siano delle imprecisioni nei dati di esempio che mi
hai postato ( le prime 2 tabelle pivot riportano dati non presenti
nelle rispettive tabelle di input )
verifica che tutto funzioni secondo le tue aspettative. In particolare
vorrei che mi chiarissi se
1)I codici commesse della prima tabella di input sono univoci.
2)I codici commesse della seconda tabella di input sono univoci e, in
caso negativo, se l'allineamento dei record delle 2 tabelle ( la
relazione )
deve interessare anche il codice di area.

Perchè il tutto funzioni è necessario che l'origine dati sia nella
posizione che mi hai indicato, l'intervallo denominato sia quello
giusto e i nomi
dei campi sia corretto.

N.B. Il codice sottostante può essere utilizzato solo a foglio attivo
privo di tabelle query preesistenti. Qiundi, prima di rilanciarlo,
introduci un foglio di lavoro nuovo dopo aver eliminato quello con
una tabella query. Una volta importa la tabella query, per la sua
funzionalità non è affatto necessario
mantenere il modulo con il codice, che può, qiundi, anche essere
eliminato. In tal modo all'apertura del file non ti verranno dati i
messaggi che il file contiene Macro.
Fammi sapere se vi sono problemi
Ciao Elio

Sub SetUpQueryTable()
Const strDBQ As String = "C:\Documents and Settings\Maiorino\" _
& "Ufficio\Inpdap\CDG2007.xls"
Const strDefaultDir As String = "C:\Documents and Settings\" _
& "Maiorino\Documenti\Ufficio\Inpdap"
With ActiveSheet.QueryTables.Add _
(Connection:="ODBC;" _
& "DBQ=" & strDBQ & ";" _
& "DefaultDir=" & strDefaultDir & ";" _
& "Driver={Driver do Microsoft Excel(*.xls)};" _
& "DriverId=790;" _
& "FIL=excel 8.0;MaxBufferSize=2048;" _
& "MaxScanRows=8;" _
& "PageTimeout=5;ReadOnly=1;SafeTransactions=0;" _
& "Threads=3;UID=admin;UserCommitSync=Yes;", _
Destination:=Range("A1"))
.CommandText = _
"SELECT Input_Risorse.Commessa, " _
& "Input_Risorse.Area, Input_Risorse.Mese, " _
& "Input_Risorse.Costointerni, " _
& "Input_Risorse.CostoEsterni, " _
& "Input_Pianificazione_FP.Area, " _
& "Input_Pianificazione_FP.Mese, " _
& "Input_Risorse.Proventi " _
& "FROM `" _
& strDBQ & "`.Input_Pianificazione_FP Input_Pianificazione_FP, "
_
& "`" & strDBQ & "`.Input_Risorse Input_Risorse " _
& "WHERE " _
& "Input_Risorse.Commessa = Input_Pianificazione_FP.Commessa"
.Name = "CostiProventi"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
elby
2007-04-09 17:32:16 UTC
Permalink
( non accodarne di altri ), ....
In realtà puoi accodare altri record o eliminare parte di quelli
esistenti, a patto di ridefinire l'indirizzo degli intervalli
denominati nella finestra Definisci nome. Se ti interessa si possono
creare automatismi per evitare di effettuare manualmente questo
passaggio.
Elio
Mimmo
2007-04-10 07:34:45 UTC
Permalink
Elio
Innanzitutto grazie.
proverò nei prossimi giorni perchè mi ci vuole un po' di calma che al
momento non ho e ti farò sapere.

Intanto ti dico che le commesse sono finora 2, che per ciascuna
commessa ci sono n aree che puntano in genere a entrambe le commesse e
la relazione è n a m (con m per ora uguale a 2).
Nell''esempio può esserci qualche imprecisione.

Le pivot e i report devono poter essere sia per area/commessa che per
commessa/area così come per area totale e per commessa totale.

Un'altra cosa: mi è sembrato di capire che si può raggiungere il
risultato senza VBA: mi dici dove sono le voci di menu per le tabelle
query e se c'è qualche componente aggiuntivo da installare?

Grazie ancora

Mimmo
elby
2007-04-12 01:03:47 UTC
Permalink
Post by Mimmo
Intanto ti dico che le commesse sono finora 2, che per ciascuna
commessa ci sono n aree che puntano in genere a entrambe le commesse e
la relazione è n a m (con m per ora uguale a 2).
Nell''esempio può esserci qualche imprecisione.
Dovresti specificare meglio il tipo di attività descritta da ogni
tabella in modo da chiarire quali sono le relazioni tra le stesse. In
particolare vorrei capire se ad una commessa relativa ad un'area
( tabella dei costi ) può corrispondere un provento in un'area diversa
nella tabella dei proventi
Post by Mimmo
Le pivot e i report devono poter essere sia per area/commessa che per
commessa/area così come per area totale e per commessa totale.
Stiamo parlando di importazione dati, l'analisi è a valle.
Post by Mimmo
Un'altra cosa: mi è sembrato di capire che si può raggiungere il
risultato senza VBA: mi dici dove sono le voci di menu per le tabelle
query e se c'è qualche componente aggiuntivo da installare?
Nessun componente aggiuntivo da installare.
Per i comandi di importazione distinguiamo :
1) preesistenza di una query memorizzata in un file (.dqy, .ocd) :
Dati >>Importa Dati esterni >>Importa dati... che porta alla finestra
Seleziona Origine Dati . Una volta selezionato un file e cliccato su
Apri si arriva alla finestra di importazione dati

2)Non esiste un file che memorizza la query di interesse
2a) utilizzo interfaccia OLEDB
Dati>>Importa dati esterni >>Importa Dati >>Nuova origine Dati >>
ecc
oppure
Dati>>Importa dati esterni >>Importa Dati >> scegliere tutti i file
e navigare al file origine dati >> selezionare tabella denominata o
foglio di lavoro ( in tal caso sarà considerato tabella l'area
utilizzata sul foglio )


2b) utilizzo interfaccia ODBC
Dati >>Importa dati esterni >> Nuova Query su database >> Doppio
click su nuova origine dati >> Inserire un nome significativo nella
prima TextBox( nel tuo caso per es. CostiProventi ) >> selezionare il
driver di Excel nella seconda TextBox >>Cliccare sul pulsante Connetti
e nella finestra di dialogo che appare risalire e selezionare il file
origine dati; dopo aver completato questo step si ritorna alla
finestra precedente per l'ultimo ( il quarto ) step che consiste nel
selezionare la tabella di interesse ( se il file origine dati non ha
intervalli denominati la ListBox sarà vuota ). Dovrebbe aprirsi il
Wizard che permette di costruire query semplici senza conoscere il
linguaggio SQL. Segni le istruzioni ( campi da importare, criteri di
filtro e ordinamento, ecc).
sia 2a che 2b ti portano all'importazione di dati tramite query
semplici. Per query complesse ( dati da 2 o più tabelle, query
parametrate, aggregazione di dati, ecc ) è necessario apportare
modifiche, che per quanto riguarda il percorso 2b si effettuano con il
programma incorporato in office Microsoft Query. Per entrarci basta
selezionare una cella della Tabella Query >> Selezionare Dati >>
Importa dati esterni >> Modifica Query oppure Cliccare sul comando
Modifica Query della barra flottante Dati esterni.
Comincia a prendere confidenza con le query semplici, prima di
addendrarti in quelle complesse
Post by Mimmo
Mimmo
Ciao Elio
Mimmo
2007-04-13 10:15:44 UTC
Permalink
Post by elby
Dovresti specificare meglio il tipo di attività descritta da ogni
tabella in modo da chiarire quali sono le relazioni tra le stesse. In
particolare vorrei capire se ad una commessa relativa ad un'area
( tabella dei costi ) può corrispondere un provento in un'area diversa
nella tabella dei proventi
le aree costificano e proventano ogni mese su ciascuna delle due (per
ora) commesse
In teoria per ciascuna area possono esserci costi e proventi su
entrambe le commesse, o solo su una, non necessariamente la stessa, o
su nessuna, o costi su una e proventi su un'altra
provo con un esempio

COMM AREA MESE GG COSTI
mm26 pa gen 10 3000
mm27 pa gen 20 6000
mm27 dw gen 15 4500
mm26 pe gen 10 3000
mm27 pe gen 12 4000
mm26 pa feb 13 3500
mm26 de feb 5 3000

COMM AREA MESE FP PROVENTI
mm26 pa gen 10 4000
mm27 pa gen 3 3000
mm26 pe gen 5 3000
mm27 pe feb 5 4000
mm26 pa feb 13 3500
mm27 dw gen 4 2000
mm27 de feb 5 5000
Post by elby
Nessun componente aggiuntivo da installare.
scusa non consoco queste estensioni: a che file corrispondono? con
quale applicazione si creano?
forse con i menu che citi di seguito? (Dati >>Importa Dati esterni
Importa dati... ) o non c'entra nulla?
Post by elby
Comincia a prendere confidenza con le query semplici, prima di
addendrarti in quelle complesse
Appena possibile
Post by elby
Ciao Elio
Ciao, Mimmo e grazie ancora
elby
2007-04-14 09:15:15 UTC
Permalink
Post by Mimmo
le aree costificano e proventano ogni mese su ciascuna delle due (per
ora) commesse
In teoria per ciascuna area possono esserci costi e proventi su
entrambe le commesse, o solo su una, non necessariamente la stessa, o
su nessuna, o costi su una e proventi su un'altra
provo con un esempio
COMM AREA MESE GG COSTI
mm26 pa gen 10 3000
mm27 pa gen 20 6000
mm27 dw gen 15 4500
mm26 pe gen 10 3000
mm27 pe gen 12 4000
mm26 pa feb 13 3500
mm26 de feb 5 3000
COMM AREA MESE FP PROVENTI
mm26 pa gen 10 4000
mm27 pa gen 3 3000
mm26 pe gen 5 3000
mm27 pe feb 5 4000
mm26 pa feb 13 3500
mm27 dw gen 4 2000
mm27 de feb 5 5000
La tabella finale sulla quale costruire le pivot deve avere una lista
univoca di record nella quale l'univocità deve essere garantita dalla
mancata duplicazione della combinazione di codice commessa, codice
area e mese; in ognuno di questi record vi deve essere un campo costi
e un campo proventi corrispondente alle tabelle originarie. Questa
tipo di tabella la si ottiene con una query particolarmente complessa
oppure con una di minore complessità ( equi-join tra le 2 tabelle
origine ) + formule sul foglio di Excel dopo l'importazione. Ora non
preoccuparti di ciò; ci penseremo dopo
Post by Mimmo
scusa non consoco queste estensioni: a che file corrispondono? con
quale applicazione si creano?
forse con i menu che citi di seguito? (Dati >>Importa Dati esterni
Importa dati... ) o non c'entra nulla?
I file vengono creati da Excel. In particolare i file .dqy vengono
creati dal programma Microsoft Query avviato da Excel durante la
procedura di importazione dati. In sostanza l'interrogazione viene
salvata non solo in forma nascosta all'interno del file Excel nel
quale vanno importati i dati ( cioè il file Excel sede della tabella
query ) ma anche in un file testuale creato con il comando Salva con
nome del programma Microsoft Query aperto da Excel durante sempre la
procedura di importazione. Che il file sia testuale ti viene
dimostrato dal fatto che può essere aperto con Blocco note ( selezione
del file, click destro; apri con..)
A questo punto, però, affinchè il discorso non continui a sembrarti
oscuro fai una semplice prova. Apri un file excel nuovo e cerca di
importare i dati da una singola tabella ( basta che l'intervallo della
tabella sia denominato nel file origine dati ) seguendo le istruzioni
del percorso 2b
Ciao Elio

elby
2007-03-28 15:56:10 UTC
Permalink
Post by Mimmo
scusate, il post che ho inviato poco fa mi è venuto come risposta ad
uno mio precedente e rischia di non vedersi; lo ripeto.
mi sembra di aver capito che, se in una formula di un foglio X
referenzio una cella di una pivot Y che contiene dati, il puntamento
avviene tramite la funzione INFO.DATI.PIVOT (o GETPIVOTDATA) e rimane
corretto anche al variare del layout della pivot in questione, che
può
influire sul n. di riga o di colonna della cella referenziata.
Ho notato che se però referenzio non una cella dati ma una cella
della
pivot che contiene il nome del campo che sta nell'area riga, il
riferimento resta un riferimento "normale" e quindi dà un risultato
diverso a seconda del lay-out della tabella.
a) ho capito bene?
b) c'è modo di ancorare il riferimento anche nel secondo caso così da
avere sempre i puntamenti corretti?
Il mio obiettivo è la costruzione di un report che sintetizzi dati
presi da una o più tabelle pivot e che funzioni indipendentemente dal
variare dinamico delle stesse (a meno ovviamente della "sparizione"
di
un valore dall'area riga).
Spero di essere stato chiaro, se no vi prego di dirmelo e vi
ringrazio
del tempo che vorrete dedicarmi
Mimmo
Ciao Mimmo
Se i dati sulle Pivot sono correlati, o meglio se i record di dati dai
quali le Pivot prendono origine sono correlati, probabilmente lo
strumento migliore è una tabella query con origine dati su più tabelle
correlate, sulla quale poi eventualmente lavorare con formule o Pivot.
Potresti chiarire meglio il tuo problema nei termini dell'origine
dati?
Ciao Elio
Loading...