Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Nel blog di oggi presenterò la soluzione al , incluso un framework semplice e generalizzabile per incorporare il codice M in una colonna personalizzata di Power Query. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
La possibilità di creare colonne in Power Query utilizzando il codice M aumenta la capacità di risolvere problemi più complessi.
Prima di entrare nella soluzione, esaminiamo la natura del problema. Ho fornito un grande set di dati da Kaggle di 93 anni di dati sugli Oscar. Volevamo estrarre la migliore attrice, le vincitrici e in particolare quelle donne che avevano vinto più di un premio per la migliore attrice e quindi visualizzare utilizzando la Queryon Timeline l'anno in cui hanno vinto il loro secondo premio.
Avevo una serie di obiettivi quando mettevo insieme questo problema. Su cosa vogliamo che si concentri il problema e quali vogliamo che siano gli obiettivi principali?
E in questo ce n'erano tre.
Il primo consisteva nell'imparare o sviluppare un po' di pratica con il costrutto Group By e All Rows . È qualcosa su cui mi sono davvero concentrato perché risolve un'ampia gamma di problemi in modo abbastanza semplice e spesso elimina la necessità di un DAX molto complesso.
Il secondo obiettivo è particolarmente per le persone che non erano abituate a lavorare in M. Volevo creare un problema che sviluppasse un po' di conforto nello scrivere codice M di base . Volevo forzare quel modo di pensare su com'è sviluppare il codice M di base e il processo per farlo.
Secondo un capitolo del libro di Gil Raviv su Power Query, circa il 40% dei problemi in Power Query può essere risolto solo attraverso l'interfaccia utente. Ma questo, con l'aggiunta di un codice M di base e la possibilità di creare colonne personalizzate, non è poi così difficile. Puoi aumentare quella percentuale oltre l'80%. Puoi raddoppiare le tue capacità di risoluzione dei problemi con alcune abilità fondamentali e semplici.
La terza cosa che voglio fare è presentare l'oggetto visivo personalizzato Queryon Timeline a coloro che non lo conoscono. È uno che ho davvero imparato ad amare. L'ho usato in diversi casi e penso che fornisca un modo davvero unico di visualizzare i dati.
Sommario
Approccio risolutivo al problema della settimana #9
Pensando a questo problema, ho voluto fare un esperimento mentale. E se invece di un file CSV ti dessi solo 93 fogli di carta (uno con il vincitore della migliore attrice di ogni anno), come sarebbe la soluzione?
La tua soluzione probabilmente assomiglierebbe a quella che ho qui sotto.
Penso che tutti avrebbero una soluzione relativamente simile a quella. Una volta ottenuta la soluzione concettuale, si tratta solo di capire come fare in modo che Power Query esegua ciascuno di questi passaggi.
E così, lo prenderò solo come un profilo generale, e poi analizzerò il modo in cui rendono operativa questa soluzione concettuale in qualcosa in Power Query. L'approccio che utilizzeremo è quello che Melissa, la nostra guru residente di Power Query, chiama imparare da Google.
Ora, se torniamo al nostro modello concettuale, i primi due passaggi includono l'ordinamento dei foglietti in gruppi per attrice e l'eliminazione di qualsiasi gruppo con un solo foglio. Quindi, vogliamo fare un conteggio. Se non sappiamo come farlo, possiamo andare su Google e provare a cercare un termine. In questo esempio, ho provato "group in power query". Con ciò, possiamo trovare tutto ciò che dobbiamo sapere su come eseguire questo raggruppamento.
Utilizzo di Raggruppa per in Power Query
Quindi possiamo passare a Power Query e iniziare a rendere operativa la nostra soluzione. Quello che ho fatto è che in questa tabella degli Oscar, ho appena esaminato e inserito il file CSV e filtrato fino ai vincitori della migliore attrice per ogni anno. Quindi, abbiamo solo le 93 righe di nome e anno del film.
Se entriamo in Power Query e andiamo a quella tabella, la prima cosa che vogliamo fare è questo Group By .
Mi è sempre piaciuto passare ad Advanced solo perché fornisce un'interfaccia leggermente migliore anche se quello che stiamo facendo è piuttosto semplice.
Vogliamo raggruppare per Name , quindi creiamo una colonna, AllData , e questa sarà solo la nostra All Rows. Invece di restituire solo l'aggregato, restituirà l'aggregazione, ma con tutte le righe che vogliamo rimangano intatte.
Avremo un'altra colonna chiamata Count e la vogliamo quando andremo a Count Rows . Vogliamo trovare il numero di foglietti in ogni pila. Quindi, facciamo clic su OK.
Possiamo quindi fare clic su questo spazio bianco nella tabella e otteniamo solo un foglietto.
Ma poi per quelli che hanno più conteggi, vedrai che otteniamo tutti i record.
Successivamente, vogliamo filtrare quelli (1). Quindi, praticamente stiamo eliminando tutte quelle pile che hanno solo un nome. Selezionare 1 e fare clic su OK.
E ora siamo arrivati ai 14 vincitori multipli. E ora siamo arrivati ai 14 vincitori multipli. Se lo prendiamo e lo espandiamo, possiamo togliere Name perché abbiamo già Name qui e mantenere solo year_film .
Ora siamo scesi a 30 righe perché alcune di queste avranno più vittorie. E in realtà possiamo anche eliminare la colonna Conte perché abbiamo già eliminato gli 1 con uno solo.
Passiamo ora alla fase successiva del nostro modello concettuale, che consiste nell'ordinare i foglietti in ciascun gruppo per data crescente, quindi scegliere il secondo giorno che si verifica all'interno di ciascun gruppo.
L'ordinamento è facile. Possiamo tornare in Power Query e fare un ordinamento crescente per attrice e poi per data.
E ti mostrerà un uno e un due.
Quindi siamo ordinati bene, e ora vogliamo avere come un indice o una classifica che abbia per ognuno, e poi essere in grado di prendere il secondo in ogni pila.
Incorporando il codice M Table.AddIndexColumn
E così ora siamo tornati al nostro approccio "Imparato da Google" in cui possiamo solo cercare il rango o l'indice, ma possiamo anche andare alla Guida di riferimento di Microsoft . Ho creato uno strumento esterno che utilizzo sempre che ti fa rimbalzare da LuckyTemplates alla Guida di riferimento di Microsoft.
Nella Guida di riferimento Microsoft, tutto è raggruppato per funzione e ha una casella di filtro in cui puoi cercare tutto ciò di cui hai bisogno. In questo caso, digitiamo Rank o Index nella casella del filtro. Non ci dà nulla per Rank, ma per Index, abbiamo questo Table.AddIndexColumn , che è pertinente e applicabile a ciò che stiamo cercando. Fornisce inoltre alcuni esempi su come utilizzare questa funzione.
Quindi andiamo in Power Query e raggruppiamo la nostra tabella per Attrice.
Con ciò, otteniamo il gruppo di 14 vincitori per tabella. E se entriamo in una di queste tabelle diciamo, Frances McDormand, possiamo vedere che la tabella è ordinata per Data.
E poi, ecco il grande passo, che consiste nell'aggiungere una colonna personalizzata di Power Query e inserire il nostro codice M. Avremo Table.AddIndexColumn , quindi aggiungeremo il campo AllData . Chiameremo la nostra nuova colonna (come testo) qui come Index , e inizieremo il nostro Index da uno (1) e lo incrementeremo di uno (1).
E qui otteniamo questo indice perfetto.
Ora possiamo eliminare la nostra colonna AllData qui poiché tutto è stato raccolto in Custom . Successivamente, possiamo semplicemente espandere la colonna Personalizzata, togliere Nome, perché anche qui abbiamo già Nome. Con quello, quello che abbiamo è quell'indice numerato per ognuno.
Infine, possiamo fare quello che abbiamo fatto su Count, ovvero filtrare tutti quelli che sono nella seconda vittoria.
E ci siamo. Ecco la nostra soluzione.
Visualizzazione utilizzando l'oggetto visivo personalizzato della sequenza temporale di query
Ci sono un paio di altre cose che vogliamo fare qui, che sono tutte basate sull'implementazione di Queryon Visual . Faremo un'unione e aggiungeremo semplicemente l'URL dell'immagine.
Quindi uniremo le query, tireremo su quella tabella Attrici e ci uniremo su Name . Otteniamo una corrispondenza da 14 a 14 righe, il che è positivo.
E poi nella colonna Attrici, espanderemo solo verso l'esterno e ci espanderemo all'URL.
E ora abbiamo questa colonna con gli URL.
C'è un'altra cosa che viene fornita con la conoscenza della Queryon Timeline. Queryon funziona meglio quando si tratta di date complete piuttosto che di anni . E quindi, questo è qualcosa che viene solo con la sperimentazione, ma possiamo prendere la colonna Year e creare una Column From Examples . Quello che vogliamo fare qui è semplicemente trasformare gli anni in date.
Questo migliorerà la formattazione. È qualcosa che non mi aspetto che tu sappia fin dall'inizio, ma viene fornito con la pratica con Queryon. Facciamo clic su OK e questo viene inserito come valore di data. Possiamo eliminare la tabella dell'indice perché non ne abbiamo più bisogno e possiamo quindi cambiare il nome della colonna year_film in Year .
Passiamo ora all'aspetto della visualizzazione di questo e voglio evidenziare l'ingresso di uno dei membri di LuckyTemplates, Jose, che ha fatto davvero un ottimo lavoro sulla visualizzazione.
Tornando a Power Query per la visualizzazione, vale la pena ricordare che Microsoft ha recentemente implementato alcune modifiche al modo in cui certificano le immagini personalizzate . Come parte di tale certificazione, hanno rafforzato l'uso di immagini URL esterne.
Se utilizzi effettivamente la versione di Queryon Timeline che si trova su App Source (versione 1.05), non sarai in grado di inserire queste immagini URL. E così, ora hai la possibilità di utilizzare questo 1.04, mantenendo le immagini dell'URL, dove hanno sul loro sito un modo per incorporare immagini binarie 64 direttamente nel file PBIX.
Ora ho accennato alla modifica di quell'anno in un campo data, quindi dobbiamo collegarlo al nostro modello di dati.
Cambiamo semplicemente da uno a uno a uno a molti e Single direction sul filtro Cross, quindi rendiamo attiva questa relazione .
Successivamente, per il campo dell'URL immagine, dobbiamo assicurarci che nella categoria Dati non venga visualizzato come Non categorizzato, ma come URL immagine .
Ora che abbiamo tutto ben preparato, basta trascinare e rilasciare i campi Nome , Data e URL . Il resto diventa una pulizia davvero semplice nelle opzioni di formato.
Tabella di Power Query: come unire dinamicamente le colonne
Come unire le query in LuckyTemplates
Estrarre i valori dai record e dagli elenchi in Power Query
Conclusione
Spero di averti entusiasmato all'idea di aggiungere il codice M al tuo repertorio. Ti ho mostrato come impostare un modello concettuale e implementare l'approccio Learn by Google. Ti ho guidato attraverso i passaggi per incorporare il codice M in una colonna personalizzata e visualizzare i risultati utilizzando Queryon Timeline.
Spero che tu l'abbia trovato utile. Guarda il video completo qui sotto per maggiori dettagli sul tutorial e dai un'occhiata ai link qui sotto per altri contenuti correlati.
Ti auguro il meglio!
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