Errore power query solo su Service L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

Errore power query solo su Service

Messaggio da Andrea90 »

Esempio questa parte di codice nella prima query:

Codice: Seleziona tutto

    Origine = Odbc.Query(
		"dsn=ITCEU", 
		"SELECT 
			tprec, 
			tpana, cdana, a.cdart, 
			cdval, dtlis, nriga, lotto, lorio, prezn #(lf)
		FROM 
			tabelle_d_lispro a#(lf)
		LEFT JOIN 
			base_d_neucfg b 
		ON 
			a.cdart = b.cdart#(lf)
		WHERE 
			tprec='A' 
		AND 
			tpana = 'F' 
		AND 
			cdana <> '' 
		AND 
			cdval='' 
		AND 
			dtlis>'"& Text.From (DataInizio) &"'"),
Prende il dato da 2 fonti, uno è l'odbc.query, l'altra è quel DataInizio, che farà riferimento ad una query esterna (che lui probabilmente non considererà come valido) poiché nello stesso passaggio ci sono riferimenti a due fonti diverse.

Quel [DataInizio] lo porterei come primo passaggio dentro la stessa query, da utilizzare poi dentro al passaggio Origine.

Andrea


Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

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

Errore power query solo su Service

Messaggio da alex77 »

Buongiorno a tutti,
vi aggiorno sulla questione. Effettivamente, come al solito :D , Andrea90 sembrerebbe aver ragione. Anche se non capisco il perchè :mrgreen: .

Ho provato a mettere mano su "DataInizio", come ipotizzato da Andrea, anche se l'origine non è esterna (se "esterna" è quello che penso io). Datainizio è un calcolo che faccio per aver un inizio "rolling" del periodo di estrazione dati:

Codice: Seleziona tutto

let
    Origine = Date.AddDays (Date.AddYears (Date.StartOfYear (Date.From (DateTime.LocalNow())),-1),-1)
in
    Origine
L'ho messo in una query a parte perchè poi uso il risultato in 3-4 query diverse, così, mi sono detto, se per caso volessi variare questa data di inizio periodo non devo ricordarmi dove devo modificarla, basta che cambio "DataInizio".
In ogni caso ho prima fatto (credo) quello che suggeriva Andrea, per cui ho modificato l'inizio della query "Listino" in questa maniera:

Codice: Seleziona tutto

let
    DataIniziale = DataInizio,
    Origine = Odbc.Query("dsn=ITCEU", "SELECT tprec, tpana, cdana, a.cdart, cdval, dtlis, nriga, lotto, lorio, prezn #(lf)FROM tabelle_d_lispro a#(lf)LEFT JOIN base_d_neucfg b ON a.cdart=b.cdart#(lf)WHERE tprec='A' AND tpana = 'F' AND cdana <> '' AND cdval='' AND dtlis>'"& Text.From (DataIniziale) &"'"),
   
ma l'errore si ripresentava lo stesso. Poi ho fatto questo (nelle varie query dove usavo "DataInizio") e il problema si è risolto:

Codice: Seleziona tutto

let
    DataIniziale = Date.AddDays (Date.AddYears (Date.StartOfYear (Date.From (DateTime.LocalNow())),-1),-1),
    Origine = Odbc.Query("dsn=ITCEU", "SELECT tprec, tpana, cdana, a.cdart, cdval, dtlis, nriga, lotto, lorio, prezn #(lf)FROM tabelle_d_lispro a#(lf)LEFT JOIN base_d_neucfg b ON a.cdart=b.cdart#(lf)WHERE tprec='A' AND tpana = 'F' AND cdana <> '' AND cdval='' AND dtlis>'"& Text.From (DataIniziale) &"'"),
Intanto grazie per l'aiuto, che il problema è risolto e questo è importante. Se poi mi aiutate a capire la logica dell'inghippo, meglio ancora.

Grazie

Alessandro
Avatar utente

Andrea90
Messaggi: 2255 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 672 volte
Contatta:

Errore power query solo su Service

Messaggio da Andrea90 »

alex77,

il tuo primo tentativo non era infatti quello che intendevo, perché non hai fatto altro che rinominare una query esterna con quel data iniziale = data inizio

era il calcolare direttamente il passaggio dentro la stessa query che fa si che non ci siano errori di data firewall.

Sul perché funziona così non posso spiegartelo via messaggio in un forum, l’argomento è articolato e richiede una serie di premesse che porterebbero a farmi scrivere un papiro.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Avatar utente

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

Errore power query solo su Service

Messaggio da alex77 »

Ciao Andrea90
ok chiaro già così, credevo che anticipando il parametro data prima della query sql lo digerisse meglio.

Grazie dell'aiuto.

Buona giornata

Alessandro
Rispondi