Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
In questo tutorial imparerai le espressioni, gli oggetti e gli ambienti nidificati in Power Query . Le espressioni e le variabili nidificate verranno utilizzate per discutere il funzionamento degli ambienti e aiutare a generare dati. Imparerai anche a gestire scenari comuni durante la trasformazione di oggetti nidificati.
Sommario
Creazione di espressioni nidificate
Le espressioni sono definite come una formula utilizzata per costruire un valore.
L'espressione nella barra della formula è costituita da sottoespressioni. I letterali 1 e 2 sono sottoespressioni dell'espressione genitore.
Le variabili sono definite come valori denominati. Questo è un record di esempio.
Se apri la finestra Editor avanzato, puoi vedere le variabili utilizzate nella query.
Le variabili a , b e c rappresentano ciascuna un valore che è il risultato di un'espressione che troverai spesso dopo un segno di uguale. Tutte le variabili all'interno dell'espressione genitore, che è il record stesso, formano l'ambiente di tale record. All'interno di tale ambiente, ogni variabile deve essere unica.
Quindi, se aggiungi un'altra variabile chiamata c , vedrai un messaggio di errore sotto la finestra dell'editor avanzato.
Il record può accedere a tutte le sue sottoespressioni utilizzando identificatori o nomi di variabili. Tuttavia, per le espressioni nidificate all'interno del record, ogni ambiente è diverso perché possono accedere a tutte le altre variabili nel record tranne se stesse.
In questo esempio, puoi vedere che la variabile c fa riferimento a se stessa.
Se premi fatto, riceverai un messaggio di errore.
Se estrai il valore di c aggiungendo l'operatore di accesso all'elemento, otterrai un risultato. È inoltre possibile ottenere lo stesso risultato con l' espressione let poiché ad essa vengono applicate le stesse regole.
Comprensione delle espressioni nidificate in un ambiente
Questo è un altro esempio di valore record.
Se apri la finestra Editor avanzato, puoi vedere che le variabili a e b condividono lo stesso ambiente che è l'ambiente più esterno. Vedrai anche che le variabili x , y e z , sono sottoespressioni dell'espressione genitore a .
Ogni variabile può accedere a tutte le altre variabili all'interno del record annidato tranne se stessa. È possibile chiamare una variabile che esiste in un ambiente diverso. In questo esempio, puoi vedere che z fa riferimento a b che si trova nell'ambiente esterno.
Le variabili x , y e z possono accedere a b perché b fa parte del loro ambiente di espressione padre. Puoi anche avere la stessa variabile ma in ambienti diversi.
In questo altro esempio, puoi vedere che il record interno ed esterno ha una variabile x .
Le variabili devono essere univoche all'interno del proprio ambiente. Verrà utilizzata la x più vicina assegnata a una variabile. In questa query di esempio viene utilizzata la x interna poiché è più vicina dal punto di vista del record a .
In quest'altra query, nell'espressione viene utilizzata la x più vicina che è vicina alla variabile b .
La variabile esterna b può fare riferimento alla variabile x all'interno del record a utilizzando l'operatore di accesso all'elemento. È necessario fare riferimento alla variabile a e quindi accedere a x utilizzando una serie di parentesi quadre. Allo stesso modo, il record a può riferirsi alla variabile x all'interno della variabile b .
Quando l'ambiente del record annidato a viene unito alle variabili dell'espressione genitore, si genera un conflitto perché x esiste due volte e tutte le variabili devono essere univoche nel loro ambiente. Poiché una variabile non può fare riferimento a se stessa, il conflitto viene risolto facendo riferimento alla x esterna.
Risoluzione di scenari comuni
Uno scenario comune è la trasformazione di oggetti nidificati. Per dimostrare, verrà utilizzata questa tabella.
Se vuoi recuperare un valore dalla tabella esterna e inserirlo nella tabella nidificata, ci sono due modi per ottenerlo. Il primo metodo consiste nell'utilizzare l'opzione Aggiungi colonna personalizzata .
Fare clic sull'icona della tabella nell'angolo in alto a sinistra del riquadro di anteprima e selezionare Aggiungi colonna personalizzata.
Immettere Temp come nome della colonna e immettere un segnaposto nella formula della colonna personalizzata . Una volta fatto, premere OK.
All'interno della barra della formula, sostituisci ogni espressione con una funzione personalizzata aggiungendo una colonna alla tabella nidificata. Avvia la logica per una funzione personalizzata e chiamala OT per la tabella esterna. Quindi, aggiungi il segno go-to.
Utilizzare quindi la funzione Table.AddColumn per aggiungere una colonna. Fare riferimento alla tabella nella tabella esterna che si trova nella colonna Nomi. E quindi inserisci un nuovo nome di colonna.
Per questo esempio, il nome della colonna utilizzato è Revenue . Immettere la funzione each per ottenere i valori di ogni riga nella colonna Get Revenue.
Se fai clic sullo spazio all'interno della cella di una riga nella colonna Temp, otterrai un'anteprima della tabella nidificata sotto il riquadro di anteprima. Vedrai che ogni riga ha il valore della tabella esterna.
Utilizzo di variabili per memorizzare valori
Il secondo metodo per trasformare gli oggetti nidificati consiste nell'utilizzare le variabili per memorizzare i valori. Innanzitutto, aggiungi una colonna personalizzata e inserisci Temp2 come nome della colonna. Per la formula, utilizzare l' espressione let per memorizzare i valori nelle variabili.
Immettere let e quindi scrivere un nome di variabile. Per questo esempio, il nome della variabile è myR . Successivamente, identifica la variabile con la colonna Ottieni entrate. Successivamente, inserisci la clausola in e usa la funzione Table.AddColumn per aggiungere una colonna alla tabella nidificata.
Per il primo parametro della funzione, inserire la colonna Nomi che contiene le tabelle nidificate. Successivamente, assegna un nome alla nuova colonna Entrate. Utilizzare each per chiamare le variabili di ciascuna riga.
Se fai clic sullo spazio all'interno della cella di una riga nella colonna Temp2, vedrai che ha recuperato i valori dalla tabella esterna.
Un altro scenario comune è una ricerca in cui non esiste una chiave condivisa. Per questo scenario verranno utilizzate 2 tabelle di esempio: una tabella delle categorie e una tabella dei prodotti .
Utilizzare la tabella delle categorie come query di staging per integrare gli attributi della tabella delle dimensioni del prodotto. Poiché non esiste una chiave condivisa, non è possibile eseguire un'unione. La prima cosa da fare è nidificare l'intera tabella delle categorie nella query della tabella dei prodotti utilizzando Aggiungi colonna personalizzata.
Aggiungi una colonna personalizzata e scrivi Categoria come nome della colonna. Quindi, nella formula personalizzata, chiama la query di categoria.
Successivamente, ora hai nidificato l'intera tabella delle categorie in ogni riga della tabella dei prodotti.
Quando fai clic sullo spazio all'interno della cella di una riga nella colonna Categoria, puoi vedere l'intera tabella delle categorie in ogni riga.
Recupero di un singolo valore
Se desideri recuperare un solo valore, devi filtrare la tabella delle categorie fino a una singola riga in cui una parte della stringa del prodotto ha una corrispondenza con il gruppo di prodotti nella tabella delle categorie.
Apri la finestra di dialogo Colonna personalizzata premendo il pulsante a forma di ingranaggio accanto a Aggiunta personalizzata nel riquadro Passaggi applicati.
Nella formula, aggiungi la funzione Table.SelectRows . Per il primo parametro viene utilizzata la tabella Categoria. Il secondo parametro utilizzava la funzione Text.Contains come condizione. Per la tabella interna, questa funzione controlla se un testo contiene una parte della stringa del prodotto nella tabella esterna.
Accedendo alla tabella esterna, noterai che Power Query aggiunge ogni parola chiave all'interno della barra della formula. È una funzione unaria che accetta il carattere di sottolineatura ( _ ) come variabile senza nome. Tuttavia, poiché si accede solo a una colonna, è possibile ometterla.
Se fai clic sullo spazio all'interno della cella di una riga nella colonna Categoria, ora vedrai una singola riga in ciascuna delle tabelle nidificate.
Da lì, puoi estrarre un valore per la categoria con la combinazione degli operatori di accesso alla riga e al campo.
Torna alla finestra di dialogo Colonna personalizzata e aggiungi gli operatori nella formula. Per ottenere la prima riga della tabella, inserisci 0 all'interno di una serie di parentesi graffe. Quindi, elenca il nome del campo Categoria all'interno di una serie di parentesi quadre.
Per rendere la soluzione a prova di futuro, puoi aggiungere un punto interrogativo ( ? ) alla fine per modificare il comportamento non trovato dalla restituzione di un errore a un null.
Funzionamento dell'editor di query nel
linguaggio LuckyTemplates M e nell'editor di query Power in LuckyTemplates
Conclusione
Gli ambienti e le espressioni nidificate aiutano la tua query a far emergere determinati valori dai tuoi codici per fornire risultati desiderabili. Essere consapevoli di loro è importante quando si scrivono funzioni perché quando le capisci, sarai in grado di risolvere scenari più avanzati e complessi.
Melissa
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere