Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
Vorrei presentare le best practice che ho adottato durante la preparazione dei report di LuckyTemplates. Negli ultimi anni, ho consumato molte risorse online sul caricamento e la trasformazione dei dati che sono state determinanti nel mio viaggio, ma sono stato rapidamente sopraffatto dal contenuto, quindi ho finito per prendere appunti. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Questo non è affatto un elenco esaustivo né le migliori pratiche: sono solo alcune di quelle che ho incorporato nel mio sviluppo. Inoltre, le procedure consigliate si evolvono sempre nel tempo man mano che vengono introdotte funzionalità nuove e migliorate nell'applicazione LuckyTemplates e vengono presentate dalla community di LuckyTemplates.
Vorrei presentare il primo dei quattro pilastri dello sviluppo di LuckyTemplates. I quattro pilastri sono il caricamento e la trasformazione dei dati , la modellazione dei dati , i calcoli DAX , i report e le visualizzazioni . Ci occuperemo della configurazione pre-sviluppo e del primo pilastro in questo post del blog.
Sommario
Disattivazione della data/ora automatica
Si consiglia vivamente di disabilitare la funzionalità di data e ora automatiche in . Puoi farlo in due modi.
Puoi farlo a livello globale per tutti i file con questi passaggi:
Puoi anche disabilitarlo per il file corrente modificandone l'impostazione.
Disattivazione del rilevamento automatico delle relazioni
Si consiglia inoltre vivamente di disabilitare le relazioni di rilevamento automatico. Puoi andare su File e visualizzare Opzioni e impostazioni per disabilitare il rilevamento automatico di nuove relazioni dopo che i dati sono stati caricati.
Interagire con gli elementi visivi nei report di LuckyTemplates
La prossima cosa di cui voglio parlare sono i due modi in cui puoi interagire con gli oggetti visivi nei report di LuckyTemplates. Queste interazioni possono essere filtrate o evidenziate in modo incrociato .
L'evidenziazione incrociata è abilitata per impostazione predefinita in LuckyTemplates. Puoi cambiarlo andando in File quindi Opzioni e impostazioni. Per il file corrente nella sezione delle impostazioni del rapporto, puoi modificare l'interazione visiva dall'evidenziazione incrociata al filtro incrociato.
Diamo un'occhiata al nostro rapporto. È possibile notare che, per impostazione predefinita, LuckyTemplates usa l'evidenziazione incrociata sugli oggetti visivi correlati. Se clicco su un canale dal grafico a barre di sinistra, vedrai che la porzione selezionata è evidenziata in colore scuro mentre la porzione non selezionata rimane in colore chiaro nel secondo grafico a barre.
Puoi vedere che la forma completa non cambia nel grafico e vedi solo le parti evidenziate. Puoi modificare questa impostazione dalle impostazioni del report e modificare l'interazione visiva predefinita dall'evidenziazione incrociata al filtro incrociato.
Dopo averlo fatto, vedrai che la forma del tuo grafico a barre correlato cambierà ogni volta che effettui una selezione o un gruppo di selezioni. Questa è una buona pratica in cui entrare.
Separazione del set di dati dal report
La prossima cosa di cui voglio parlare è separare lo sviluppo del tuo set di dati dallo sviluppo del tuo report. Qui è possibile pubblicare un file di set di dati thick come set di dati autonomo privo di elementi visivi e uno sviluppo di file di report thin che utilizzerà questi set di dati pubblicati.
Uno dei vantaggi della pubblicazione separata dei set di dati è la possibilità di utilizzare il processo di approvazione nel servizio LuckyTemplates per promuovere e certificare i set di dati. È una pratica ideale selezionare un set di dati approvato, preferibilmente uno certificato quando si sviluppa un nuovo report.
Creazione di una tabella di date dedicata
Assicurati che il rapporto contenga una tabella Date dedicata nel rapporto. Puoi utilizzare la disponibile sul forum LuckyTemplates. Puoi copiare e incollare il codice M in una query vuota.
La seconda cosa da fare una volta che hai una tabella Date dedicata è contrassegnarla come tale. Ciò ne consentirà l'utilizzo da parte di LuckyTemplates per i calcoli di Time Intelligence.
Altri promemoria per la tabella delle date
Assicurati sempre che la tua tabella di dati sia contigua e che ci sia una riga al giorno. Inoltre, controlla che copra completamente i bordi della tua tabella dei fatti.
Inoltre, aggiungi anni interi alla tabella Date. È anche una buona idea aggiungere un ulteriore anno futuro alla tabella Date per abilitare eventuali calcoli di intelligence temporale futuri o previsti.
Se nella tabella Date sono presenti più giorni di quelli che si desidera visualizzare nel report, è possibile controllare ciò che viene visualizzato nei filtri dei dati utilizzando la colonna IsAfterToday o le colonne offset disponibili nel riquadro dei filtri.
Porre domande sul rapporto
La prossima cosa di cui voglio parlare è se dovresti fare un rapporto. Mentre lo fai, controlla se esiste un rapporto esistente che puoi utilizzare per soddisfare le tue esigenze. Se non è presente alcun rapporto, esiste un modello di dati esistente che è possibile utilizzare per soddisfare l'esigenza? Esiste un set di dati esistente che puoi utilizzare o hai effettivamente bisogno di iniziare da zero?
Stadiazione e dati di riferimento
La prossima cosa di cui parlare quando si caricano i dati sono i dati di staging e di riferimento. Quando carichi una tabella di dati semplice, potresti avere fatti e dimensioni nella stessa tabella come un file Excel. Quando esegui un caricamento e lo sposti in una sezione di query di staging e lo rinomini, puoi deselezionare Enable load .
Il passaggio successivo consiste nel creare un riferimento di tale tabella per ogni dimensione di fatto e ricerca e rinominare le tabelle in modo appropriato. Modifica ogni riferimento, mantieni solo le colonne necessarie e rimuovi i duplicati.
Organizza il tuo modello di dati e inseriscilo nel proprio gruppo. Ho sempre un gruppo nei miei modelli di dati chiamato Data Model che contiene tutte le tabelle che userò nei miei oggetti visivi.
Riduzione del carico di dati
La prossima cosa di cui parlare sono le prestazioni dello strumento durante il caricamento dei dati. Uno degli aspetti più importanti che influisce sulle prestazioni è il volume dei dati, quindi sforzati di ridurre il più possibile la quantità di dati da caricare .
Segui questo assioma:
Se non ne hai bisogno, non recuperarlo.
È molto più semplice aggiungere elementi nuovi a un report piuttosto che eliminare elementi dal nostro report. Inoltre, quando inserisci troppe cose in un rapporto, pagherai una penalità per prestazioni che non hai bisogno di sperimentare.
Preferibilmente, fai il tuo filtraggio nella fonte. Se non puoi farlo nella fonte, utilizza la freccia a discesa del filtro automatico nella query avanzata per filtrare i campi che ti interessano.
Sempre nell'origine, puoi anche ridurre il numero di colonne visualizzate utilizzando il menu a discesa Scegli colonne e selezionando solo le colonne che ti interessano.
Puoi utilizzare Scegli colonne o Rimuovi colonne . Consiglio di utilizzare Scegli colonne come best practice perché è facile tornare indietro.
Se cambi idea in un secondo momento, ti offre un modo rapido per farlo attraverso l'interfaccia utente invece di entrare nell'editor avanzato e modificare direttamente il codice M.
Interrogazione pieghevole
Il ripiegamento delle query è un altro tentativo di caricamento dei dati da parte di LuckyTemplates per combinare diversi passaggi di selezione e trasformazione dei dati in un'unica query dell'origine dati.
Per determinare se una query viene piegata, fare clic con il pulsante destro del mouse sui passaggi applicati di una query. Puoi vedere se una query nativa è disattivata.
Se è disattivato, la query non viene piegata. Se non è disattivato, la query può essere ripiegata.
Andiamo a Transform data , quindi power query . In questa tabella, se faccio clic con il pulsante destro del mouse sul passaggio di navigazione, posso vedere che Visualizza query nativa non è disattivata, quindi posso selezionarla.
Vedremo qui una semplice istruzione SQL select.
Se andiamo al passaggio successivo dopo che il filtro è stato eseguito e visualizziamo la query nativa, possiamo vedere che la query è stata leggermente modificata e c'è una clausola "where" in fondo a tale query.
Se andiamo al terzo passaggio e facciamo clic con il tasto destro su di esso, possiamo vedere che la query nativa non è disattivata, quindi possiamo selezionarla ancora una volta.
Dopo aver selezionato, possiamo vedere che c'è una compressione ancora maggiore delle tre query in una sola. Questo è LuckyTemplates che dice che il modo migliore per inserire i dati nel modello è che la fonte faccia il lavoro piuttosto che io faccia il lavoro.
Utilizzo delle origini dati per la piegatura delle query
Le origini dati che in genere possono essere utilizzate con la piegatura delle query sono oggetti standard nei database relazionali come tabelle e viste.
Le query SQL personalizzate ai database relazionali non possono utilizzare il ripiegamento delle query. Anche i file flat e i dati Web non possono essere piegati.
Alcune delle trasformazioni che possono essere utilizzate con la piegatura delle query sono il filtraggio delle righe , la rimozione delle colonne , la ridenominazione delle colonne e i join ad altre query dalla stessa origine dati.
Alcune delle trasformazioni che non possono essere utilizzate con il ripiegamento delle query includono l'aggiunta di colonne di indice , la modifica dei tipi di dati delle colonne e l'unione o l'accodamento di query da diverse origini dati .
Scelta della modalità di connettività corretta
La prossima cosa da fare per migliorare le prestazioni è scegliere la modalità di connettività corretta. La modalità di importazione è l'impostazione predefinita e deve essere utilizzata quando possibile in quanto offre le migliori prestazioni dei report.
La modalità di query diretta può essere utilizzata se si desiderano dati aggiornati al minuto, ma è sufficiente tenere presente che può e probabilmente avrà un impatto negativo sulle prestazioni.
Infine, è disponibile una modalità di connessione live quando si accede a data warehouse come cubi multidimensionali SSAS.
Individuazione delle trasformazioni
La prossima cosa di cui voglio parlare è il luogo in cui devono essere effettuate queste trasformazioni. Il posto migliore per farli è nella fonte . Se non puoi eseguirli nella fonte, eseguili in power query . Se non puoi eseguirli in Power query, eseguili in DAX .
Esegui le trasformazioni dei dati il più a monte possibile e il più a valle possibile, se necessario.
Se puoi fare qualcosa in power query, probabilmente dovresti.
Ancora una volta, se non è qualcosa di dinamico nel contesto della sessione del rapporto, considera di farlo in Power query per semplificare il DAX e aumentare le prestazioni del rapporto.
Per quanto riguarda la forma delle tue tabelle, sforzati di rendere le tabelle dei fatti lunghe e sottili e sforzati di rendere le tabelle delle dimensioni corte e larghe .
Migliori pratiche su denominazione e tipi di dati
Utilizza uno schema di denominazione e maiuscole/minuscole coerente e di facile comprensione per gli utenti dei report. Rinominare le tabelle e le query secondo necessità per conformarsi agli standard di denominazione e maiuscole/minuscole per il report.
Rinominare le colonne in base alle esigenze per conformarsi a tali standard di denominazione e maiuscole e rinominare anche i passaggi della query avanzata in base alle esigenze per rendere i passaggi autodescrittivi poiché potresti non essere la persona che gestisce il rapporto.
LuckyTemplates svolge un ottimo lavoro nell'assegnare i tipi di dati corretti durante l'importazione dei dati, ma a volte sono necessarie anche alcune modifiche. È necessario assicurarsi che le colonne in tabelle diverse vengano utilizzate come colonne di collegamento tra due tabelle dello stesso tipo di dati.
Assicurati che tutte le colonne della data siano Data e non Testo. Suddividi le colonne data/ora in colonne separate Date e Ora separate.
Come passaggio finale, ricontrolla i tipi di dati . Fai pratica prima di premere Chiudi e Applica in power query per ricontrollare sempre i tuoi tipi di dati poiché alcune trasformazioni possono passare silenziosamente dai tipi di dati al testo.
Sourcing di dati con una granularità coerente
L'ultima cosa da discutere è la granularità. Durante il processo di caricamento e trasformazione dei dati, dovresti sforzarti di reperire i tuoi dati con una granularità coerente. Quando combini diverse granularità nella tua soluzione, usa Power query (preferibilmente) o DAX per allocare i dati di riferimento in modo appropriato.
Ad esempio, se i dati di vendita principali sono a livello giornaliero, la granularità è giornaliera. Se i dati di riferimento del budget sono a livello mensile, la granularità è mensile. Di seguito è riportato un esempio di una formula DAX di allocazione del budget che è possibile esaminare per apportare le rettifiche di granularità.
Conclusione
Spero che tu abbia trovato utile questo tutorial sul caricamento e la trasformazione dei dati. Se lo hai fatto, non dimenticare di iscriverti al canale YouTube di LuckyTemplates per assicurarti di essere informato di eventuali nuovi contenuti.
Greg
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