Collegare tabelle gestionale tramite odbc

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi
Avatar utente

alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Collegare tabelle gestionale tramite odbc

Messaggio da alex77 »

Buongiorno a tutti,
parto dalla mia "esperienza" con Access. Ho sempre collegato le tabelle del nostro gestionale utilizzando dati esterni/nuova origine dati/da altre origini/ODBC e poi scegliendo il DSN che fa riferimento all'origine dati ODBC del nostro gestionale.
Facendo questo mi compare l'elenco delle tabelle del database del nostro gestionale, scelgo quelle necessarie e si crea il collegamento in Access.
Quando, già forse l'anno scorso, ho fatto i primi esperimenti con Power BI, non capivo come collegarmi alle tabelle del gestionale tramite odbc. Sceglievo carica da odbc, sceglievo il dsn, poi mi si apriva una schermata in cui presumevo di vedere l'elenco tabelle (come capita collegandomi ad access), ma non si vedeva a e non riuscivo quindi ad andare avanti.
Poi quando qualche settimana fa ho ritentato attraverso power query e ho capito di mettere, nella schermata dove inserisco il DSN, una stringa sql.
In sostanza posso collegare una tabella alla volta o una query con cui collego più tabelle.
Due domande:
- è effettivamente così? posso collegare una tabella alla volta e solo con stringa sql? O c'è qualche parametro da settare che mi permetterebbe di vedere l'elenco tabelle del gestionale come in Access, selezionarle e quindi collegarle?
- io sql lo conosco "a spizzichi e bocconi" perchè in access uso la "struttura query" e direttamente in sql faccio giusto qualche modifica. Quindi per creare la connessione in power query mi faccio la query in access copio l'sql in power query. Però ci sono delle cose che non funzionano (non so se è l'sql di Access che magari non è "puro"), in particolare le condizioni della clausola WHERE. Ad esempio in access posso scrivere "like S*" per dire di selezionare, in un campo, solo il testo che comincia per S. Questa stringa in power query non viene "capita". Altrettanto non riesco a mettere filtri di data (in access le date si racchiudono tra "#"). Ci sono modi per fare filtri del genere nella stringa sql di collegamento della tabella? E, comunque, vale la pena o il processo è talmente veloce e performante che si può collegare tutto e filtrare poi in power query? Evidenzio che se devo collegare ad esempio la tabella dei movimenti di magazzino si tratta di centinaia di migliaia di record.

Grazie per l'aiuto


Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Collegare tabelle gestionale tramite odbc

Messaggio da Enrico Galli »

Ciao. In teoria, se la connessione ODBC è corretta e hai i diritti di lettura sullo schema, dovrebbe mostrarti l'elenco delle tabelle e permetterti di importarne una o più alla volta, come ti aspetteresti. Perché nel tuo caso non lo faccia, non sono in grado di capirlo (ma i connettori ODBC non sempre sono caratterizzati da un funzionamento impeccabile, diciamo).
L'SQL di Access è "proprietario" e piuttosto limitato. Seguendo il tuo esempio, in ogni altra variante di SQL eccetto quella di Access,la wildcard per le stringhe è il segno di %, quindi sarebbe
WHERE campo Like 'S%'

Quanto alla velocità: Power Query è molto "intelligente", e se tu importi una tabella completa da un'origine SQL e poi la filtri, lui capisce che la cosa più performante è inviare direttamente al server una query con un WHERE per minimizzare i tempi di trasferimento. Questo naturalmente non avviene con qualsiasi sorgente e con qualsiasi operazione, quindi se vuoi essere sicuro, la stringa SQL è sempre una buona soluzione.
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Collegare tabelle gestionale tramite odbc

Messaggio da alex77 »

Grazie enrico sei sempre molto gentile oltre che puntuale nelle risposte. Non mi resta che studiarmi quel minimo di sql puro che mi servirà per importare i dati.
Per quanto riguarda il driver, in azienda usiamo da anni sempre lo stesso e difatti un nostro referente della nostra software house mi accensava potesse essere “vecchio” magari anche quello può essere una causa.

Grazie ancora
Rispondi