Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
In deze zelfstudie laat ik je zien hoe ik mijn modellen en de relaties daarin opzet. Het creëren van een naadloze stroom rond LuckyTemplates-gegevenstransformatie kan het rapportontwikkelingsproces aanzienlijk verbeteren, en de manier waarop u uw modellen instelt, levert een primaire bijdrage aan deze stroom.
Om mijn LuckyTemplates-gegevenstransformatieproces duidelijk weer te geven, gebruik ik het rapport dat ik heb ingediend als mijn inzending voor als voorbeeld. Ik ga ook dezelfde dataset gebruiken die voor die uitdaging is verstrekt.
Inhoudsopgave
De dataset opschonen
Zo ziet de dataset eruit. Het staat in een Excel-bestand en heeft een aantal verschillende tabbladen.
Omdat ik het graag eenvoudig houd, is het eerste wat ik meestal doe met datasets als deze, uitzoeken of ik alles nodig heb. Ik ga door elk tabblad om te controleren. Laten we beginnen met het tabblad Leverancierskwaliteit.
Het lijkt erop dat de meeste informatie op dit tabblad staat: leveranciers, fabrieken, defecten, totale downtime, enz.
Eén blik hierop en ik weet dat dit iets is dat ik voor mijn rapport zal gebruiken.
Het volgende tabblad is het tabblad Categorie. Het heeft de categorie-ID en de categorienaam.
De categorie-ID doet niet echt veel voor mijn rapport en de gegeven categorieën staan al op het tabblad Leverancierskwaliteit. Dus ik ga dit tabblad verwijderen.
Het volgende tabblad is voor het type defect. Net als het categorietabblad is de ID niet echt nuttig en maakt het type defect zelf al deel uit van het tabblad leverancierskwaliteit. Dus ik zal dit ook verwijderen.
Het tabblad defect geeft me een lijst met beschrijvingen van de defecten. Dit is ook onderdeel van het tabblad Leverancierskwaliteit, dus ik zal dit verwijderen.
Hetzelfde geldt voor het materiaaltype.
Het laatste tabblad is voor de plantlocatie.
Als ik naar dit tabblad kijk, kan ik me voorstellen dat er een kaartvisualisatie op mijn rapport staat. Dit zal zeker nuttig voor mij zijn, maar ik heb wat aanvullende informatie nodig.
Eerst zou ik een staat moeten toevoegen. Als u uit de VS komt, weet u dat sommige steden in verschillende staten dezelfde naam hebben. Het is dus belangrijk dat hier ook de staat wordt toegevoegd, evenals de lengte- en breedtegraad.
Er zijn veel manieren om de lengte- en breedtegraad te bepalen, maar ik besloot het via Google Maps te doen.
Aangezien de eerste stad op de lijst Westside, Iowa is, heb ik er net naar gezocht op Google Maps.
Het geeft me een heel gebied, maar geeft me geen exacte vastgezette positie. Dus ik ga op "In de buurt" klikken om een exacte pincode te krijgen.
Nu ik een exacte locatie op de kaart heb vastgezet, zal ik er met de rechtermuisknop op klikken om de lengte- en breedtegraad te krijgen.
Dit deed ik voor elk van de 30 plantlocaties. Vervolgens heb ik het toegevoegd aan de spreadsheet.
Dus ik heb de dataset opgeschoond en alle informatie toegevoegd die ik nodig had. Ik heb alleen nog twee tabbladen: Leverancierskwaliteit en Plant.
Ik ga dit bestand opslaan als Demo Challenge 10.
Nu ik mijn dataset gereed heb, is het tijd om die in LuckyTemplates te importeren.
De gegevens importeren
Voordat ik de gegevensset importeer die we eerder hebben opgeslagen, wil ik u een sjabloon laten zien die ik voor de meeste van mijn rapporten heb gebruikt, vooral voor mijn inzendingen voor de LuckyTemplates Challenges. Het is een PBIX-bestand dat een kant-en-klare datum- en periodetabel bevat.
Wanneer ik dat bestand in LuckyTemplates open, wordt de datumtabel weergegeven die al is ingesteld in mijn veldenvenster.
Ik heb hier ook een periodetabel. Hierdoor kan ik veel verschillende dingen aanpassen en doen met een slicer.
Als ik die periodetabel open, biedt het een aantal verschillende filters zoals vandaag, gisteren, huidige week tot nu toe, enz.
Ik heb eerder een video-tutorial gemaakt over het opzetten van een sjabloon als deze. Je kunt de die ik heb gebruikt ook op het forum vinden.
Nu ik mijn sjabloon heb, is het tijd om mijn dataset te importeren. Om dat te doen, hoef ik alleen maar op het Excel-pictogram onder het Home-lint te klikken.
Dit opent een venster waarin ik het juiste bestand kan kiezen en openen.
Het laden kan soms even duren, afhankelijk van hoeveel gegevens het bestand bevat. Maar zodra het is geïmporteerd, toont het u de tabellen die u kunt gebruiken.
Ik kies de tabellen Plantkwaliteit en Leverancierskwaliteit, aangezien dat de tabbladen waren die ik eerder voor dit rapport heb ingesteld.
LuckyTemplates-gegevenstransformatie
Nu laat ik u enkele eenvoudige technieken zien in mijn LuckyTemplates-gegevenstransformatieproces. Zodra die vakjes zijn aangevinkt, zouden sommigen meteen op Laden klikken. Wat mij betreft, ik klik altijd eerst op de knop Gegevens transformeren.
De Transform Data laadt de gegevens in de query-editor en stelt me in staat om te controleren of ik de juiste gegevens heb. Onthoud dat ik naast de tabbladen die ik in Excel heb gerepareerd, ook die sjabloon heb geüpload die ik normaal gebruik. Door eerst naar de query-editor te gaan, kan ik soepel aan mijn gegevens werken zonder heen en weer te hoeven gaan.
Zo ziet het eruit in de query-editor.
Ik ga eerst mijn Date-tabel bekijken. Deze query is alleen ingesteld om gegevens voor 2019 en 2020 weer te geven.
Maar in de dataset geloof ik dat ik gegevens heb die teruggaan tot 2018. Dus ik ga dit gewoon wijzigen in 2018 en op de tab-toets drukken.
Nu heb ik gegevens van 2018 tot 2020 voor mijn datumtabel.
Ik ga nu naar mijn periodetabel kijken.
Deze periodetabel wordt geleverd met mijn sjabloon, maar ik denk niet dat ik dit voor mijn rapport zal gebruiken. Dus ik ga het verwijderen.
Ik ga straks even kijken op mijn Plantentafel. Soms kunt u een fout tegenkomen zoals hieronder.
Als dit gebeurt, drukt u gewoon op de knop Voorbeeld vernieuwen op het Home-lint.
Zodra de tabel is geladen, zorg ik ervoor dat alle belangrijke informatie hier is. Onthoud dat dit het tabblad is dat ik eerder heb bewerkt, dus ik moet ervoor zorgen dat alles wat ik heb toegevoegd hier is.
Het toont de juiste informatie, met de plant-ID en de plantlocatie (de standaardkolommen), evenals de staat, breedtegraad en lengtegraad (de kolommen die ik heb toegevoegd).
Ik klik ook op de knop Gegevenstype detecteren onder Transformeren om ervoor te zorgen dat de kolommen het juiste type weergeven.
Als ik mijn leverancierskwaliteitstabel open, zou ik hetzelfde doen.
Zoals u kunt zien, zijn de meeste kolommen van hetzelfde type. Ze zijn meestal tekst, behalve het totale aantal defecten en het totale aantal downtime-minuten, die getallen zijn.
Nu ik hier drie tabellen heb - datum, plant en leverancierskwaliteit - ga ik op Sluiten en toepassen klikken.
Zodra deze wijzigingen zijn toegepast, ga ik die tabellen controleren onder het deelvenster Velden. Om het simpel te houden, ga ik Leverancierskwaliteit veranderen in Data.
Nadat ik dat heb gewijzigd, ga ik controleren wat er in die gegevenstabel staat en de gegevens naar behoefte transformeren. Ik ga eerst de kolom Datum controleren.
Omdat ik in de VS ben, schrijven we datums meestal op in een tweecijferig formaat; twee cijfers voor de maand, twee cijfers voor de dag en twee cijfers voor het jaar.
U kunt uw eigen formaat kiezen, afhankelijk van de gangbare praktijk op uw locatie.
Alle andere kolommen bevatten voornamelijk tekst, dus die zijn goed zoals ze zijn. Total Defects en Downtime Minuten zijn hele getallen, dus ik zal ze ook in hun huidige formaat houden.
De datumtabel maakt deel uit van mijn vooraf ingestelde sjabloon, dus er zijn eigenlijk geen wijzigingen nodig. Dit betekent dat ik dat kan overslaan en vervolgens naar de Plantentabel kan gaan.
Ik zal beginnen met de Latitude-kolom. Onder Kolomhulpmiddelen ga ik naar Samenvatting en kies Niet samenvatten .
Onder gegevenscategorie ga ik Latitude selecteren.
Zodra ik dat doe, verandert het embleem voor de Latitude-kolom.
Ik zal hetzelfde doen voor de Latitude-kolom. Kies Niet samenvatten en kies vervolgens Lengtegraad onder Gegevenscategorie .
Ik ga de Plant ID als een geheel getal houden. Ik kies hiervoor ook Niet samenvatten.
Dan is de laatste die ik ga veranderen de staat. Dit is een tekstkolom.
Afgezien van het kiezen van Niet samenvatten, ga ik ook de gegevenscategorie wijzigen in State of Province .
Nu heb ik alle kolommen doorgenomen die mijn gegevens bevatten. Dat was een eenvoudig voorbeeld van LuckyTemplates-datatransformatie. Maar ondanks hoe eenvoudig het er allemaal uitzag, kan het een enorme impact hebben als we later met de data aan de slag gaan.
Het model creëren en relaties opbouwen
Laten we naar het tabblad Modelweergave in LuckyTemplates Desktop gaan.
Je ziet hier de tabellen binnen ons model. Om het gemakkelijker te maken om de relaties te zien, zal ik onze feitentabel, namelijk Data, onderaan plaatsen. Dan zet ik Datum en Plant bovenaan.
Vervolgens ga ik de relaties opzetten. Onder het Home-lint klik ik op Relaties beheren.
Ik begin met het opbouwen van een relatie tussen mijn gegevens- en datumtabellen. Ik kies de datumkolommen uit beide tabellen.
Onder kardinaliteit kies ik Veel tegen één. Onder de richting van het kruisfilter kies ik Single.
Merk op dat het kruisfilter bijna altijd is ingesteld op Enkelvoudig. Er zijn niet veel redenen om het anders te doen.
Ik druk op OK om die relatie te redden, daarna ga ik naar de volgende. Deze keer gebruik ik de kolom Plantlocatie uit de tabel Gegevens en koppel ik deze aan de kolom Plant in de tabel Plant.
Nogmaals, het moet een veel-op-een-relatie zijn, met een enkele kruisfilter.
Die twee zijn voorlopig de enige relaties die we in ons model moeten opzetten.
Zodra ik dat venster sluit, kun je zien dat we onze feitentabel hier beneden hebben. Dan is er een veel-op-een-relatie van de datumtabel naar de gegevenstabel. Hetzelfde geldt voor de Plantentafel.
De tabel met belangrijkste maatregelen opzetten
Nu ga ik je het originele model laten zien dat ik voor de daadwerkelijke uitdaging heb gebruikt. Zoals je kunt zien, is het op dezelfde manier opgezet, behalve dat ik ook mijn Key Measures-tabel heb.
Terwijl u aan uw rapporten werkt, gebruikt u een aantal Key Measures, zodat u altijd iets als dit nodig heeft. Laat me je laten zien hoe ik de mijne maak.
Ik begin door te klikken op Gegevens invoeren onder het Home-lint.
Dit opent een venster waarin ik een tabel kan maken. Aangezien ik al een bestaande Key Measures-tabel heb, noem ik deze gewoon Key Measures v2 .
Zodra ik op laden heb gedrukt, kan ik teruggaan naar mijn deelvenster Velden en zie ik die tabel meteen. Het komt automatisch met een lege kolom.
Nu markeer ik die kolom en klik ik op Nieuwe maateenheid onder Tabelhulpmiddelen .
Ik noem deze meting Testing123 en ik zal hier gewoon een generieke meting gebruiken om je te laten zien hoe je dit moet instellen.
Ik heb deze maat ook ingesteld als een geheel getal en een komma toegevoegd omdat ik weet dat ik in al deze tabellen met grote getallen zal werken.
Als ik terugga naar het deelvenster Velden, kan ik de nieuwe meting zien die ik heb gemaakt. Dus ik kan doorgaan en de standaardkolom verwijderen.
Zodra dat is verwijderd, klik ik hier naast Velden op de pijl naar rechts en klik vervolgens op de pijl naar links die verschijnt.
Hiermee wordt het rechterdeelvenster vernieuwd. Nu zie je mijn Key Measures v2- tabel bovenaan, direct na mijn oorspronkelijke Key Measures-tabel.
Naarmate u uw rapportontwikkelingsproces doorloopt, voegt u meer meetwaarden toe onder deze tabel. Zo ziet mijn originele Key Measures-tabel eruit.
Als u een tabel met belangrijke meetwaarden als deze heeft, wordt het gemakkelijker om met meetwaarden te werken terwijl u uw rapport samenstelt.
Best practices voor het laden en transformeren van gegevens
Eenvoudige LuckyTemplates-transformaties voor meer geoptimaliseerde gegevens
Gegevensmodellering in LuckyTemplates: tips en best practices
Conclusie
Dit was een heel eenvoudig LuckyTemplates-gegevenstransformatieproces. Zelfs met de manier waarop ik de modellen en de relaties heb opgezet, heb ik alles zo eenvoudig mogelijk gehouden.
Het grootste voordeel is dat het proces naadloos verloopt, vooral wanneer u later visualisaties en DAX-metingen gaat toevoegen.
Als je het op deze manier doet, betekent dit ook dat je een goede basis hebt gelegd voor je hele rapport. Er is minder kans om later fouten te maken, en als je er toch een paar maakt, zal het gemakkelijk zijn om ze op te ruimen en eventuele problemen op te lossen.
Al het beste,
Jarrett
Wat is zelf in Python: voorbeelden uit de echte wereld
Je leert hoe je objecten uit een .rds-bestand in R opslaat en laadt. In deze blog wordt ook besproken hoe je objecten uit R naar LuckyTemplates importeert.
In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.
Deze zelfstudie behandelt hoe u de Multi Threaded Dynamic Visuals-techniek kunt gebruiken om inzichten te creëren op basis van dynamische gegevensvisualisaties in uw rapporten.
In dit artikel zal ik de filtercontext doornemen. Filtercontext is een van de belangrijkste onderwerpen waarover elke LuckyTemplates-gebruiker in eerste instantie zou moeten leren.
Ik wil laten zien hoe de online service LuckyTemplates Apps kan helpen bij het beheren van verschillende rapporten en inzichten die uit verschillende bronnen zijn gegenereerd.
Leer hoe u wijzigingen in uw winstmarge kunt berekenen met behulp van technieken zoals vertakking van metingen en het combineren van DAX-formules in LuckyTemplates.
Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.
Als u tot nu toe nog steeds Excel gebruikt, is dit het beste moment om LuckyTemplates te gaan gebruiken voor uw zakelijke rapportagebehoeften.
Wat is LuckyTemplates Gateway? Alles wat u moet weten