Domanda

Questa è probabilmente una domanda semplice, ma davvero non so cosa sto facendo in Excel, quindi spero che qualcuno mi possa aiutare.

Mi è stato dato un foglio di calcolo Excel con due colonne pertinenti per la mia attività. La prima colonna è un "ID esterno" e la seconda colonna è un "ID interno". Devo selezionare un gruppo di dati dai nostri database (con vari join) utilizzando l'ID interno come chiave, ma tutti questi dati devono essere ricollegati all'ID esterno e l'unico collegamento tra interno / esterno è questo foglio di calcolo.

Ad esempio, supponiamo che una riga del foglio di calcolo sia simile alla seguente:

ExtID    IntID
AB1234   2

Devo selezionare tutti i dati rilevanti per l'articolo con ID # 2 nel nostro database, ma non ho modo di ottenere "AB1234" dal database, quindi devo in qualche modo ricollegare questi dati a "AB1234" utilizzando il foglio di calcolo.

Qual è il modo più semplice per raggiungere questo obiettivo? La versione di Excel è Excel 2007 e il database è Oracle, se pertinente.

Nota che ho solo l'autorizzazione in lettura per i database di produzione, quindi la creazione di tabelle e l'importazione dei dati del foglio di calcolo per fare un join non è un'opzione.

È stato utile?

Soluzione

Modificato in base a un commento

1 - Usa MS Access per importare il foglio Excel come tabella.

2 - Collegamento alla tabella del database, anche da MS Access

Scheda Dati esterni- > altre fonti di dati- > Connessione ODBC- > scegli le tue- > scegli le tabelle che desideri

3 - Scrivi una query di accesso per confrontare i valori desiderati

Crea- > Query Design- > Rilascia le tabelle che desideri, trascina le linee tra loro per le relazioni, fai clic su Esegui

Altri suggerimenti

Di solito uso copia-incolla e un buon editor in modalità colonna con macro per eseguire tali compiti. Funziona bene se hai solo un paio di file Excel.

Molto dipende da quanto hai familiarità con gli strumenti che hai a disposizione.

Hai uno strumento con cui hai familiarità che semplificherebbe l'uso di IntID per trovare quei record? In tal caso, puoi eseguire la query e incollare i risultati nel foglio di calcolo originale nella colonna a destra della colonna con IntID?

In tal caso, avrai quello che vuoi, un foglio di calcolo con le seguenti colonne:   ExtID (originale)   IntID (originale)   IntID (da Oracle)   Col1 (da Oracle)   Col2 (da Oracle) ecc ....

Non ho familiarità con Oracle, ma so che molti database ti consentono di anteporre un nome di tabella con # o qualcosa del genere e creare una tabella temporanea. Altri hanno un database temporaneo in cui è possibile creare cose. A volte puoi creare una tabella temporanea anche se non puoi fare altro che selezionare.

Se hai accesso per farlo, farei la funzione come suggerisce JosephStyons (# 2), inserire i tuoi record nella tabella temporanea e fare una query basata su quello.

Con Excel e VBA, è possibile utilizzare ActiveX Data Objects (ADO) come metodo di alto livello per l'utilizzo del provider OLE DB per un determinato database. Ciò consente di leggere i dati dal database e quindi è possibile eseguire query su tali dati e archiviare i risultati nel foglio di calcolo.

Provider Oracle OLE DB
Guida ADO

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top