Best practices voor het laden en transformeren van gegevens

Best practices voor het laden en transformeren van gegevens

Ik wil graag de best practices presenteren die ik heb toegepast bij het opstellen van LuckyTemplates-rapporten. De afgelopen jaren heb ik veel online bronnen over het laden en transformeren van gegevens gebruikt, die een belangrijke rol hebben gespeeld tijdens mijn reis, maar ik raakte al snel overweldigd door de inhoud, dus maakte ik uiteindelijk mijn eigen aantekeningen. Je kunt de volledige video van deze tutorial onderaan deze blog bekijken.

Dit is geenszins een uitputtende lijst, noch de best practices – het zijn slechts enkele voorbeelden die ik in mijn eigen ontwikkeling heb verwerkt. Bovendien evolueren de best practices altijd in de loop van de tijd als er nieuwe en verbeterde mogelijkheden worden geïntroduceerd in de LuckyTemplates-toepassing en worden gepresenteerd door de LuckyTemplates-community.

Ik wil graag de eerste van de vier pijlers van LuckyTemplates-ontwikkeling presenteren. De vier pijlers zijn dataloading en datatransformatie , datamodellering , DAX-berekeningen en rapportages en visualisaties . We behandelen de pre-ontwikkelingsopstelling en de eerste pijler in deze blogpost.

Best practices voor het laden en transformeren van gegevens

Inhoudsopgave

De automatische datum/tijd uitschakelen

Het wordt ten zeerste aanbevolen dat u de automatische datum- en tijdfunctie in uitschakelt . U kunt dit op twee manieren doen.

U kunt dit globaal doen voor alle bestanden met deze stappen:

Best practices voor het laden en transformeren van gegevens

U kunt het ook uitschakelen voor het huidige bestand door de instelling te wijzigen.

Best practices voor het laden en transformeren van gegevens

Relaties automatisch detecteren uitschakelen

Het wordt ook ten zeerste aanbevolen om de automatische detectie van relaties uit te schakelen. U kunt naar Bestand gaan en Opties en instellingen bekijken om het automatisch detecteren van nieuwe relaties uit te schakelen nadat de gegevens zijn geladen.

Best practices voor het laden en transformeren van gegevens

Interactie met visuals in LuckyTemplates-rapporten

Het volgende waar ik het over wil hebben, zijn de twee manieren waarop u kunt communiceren met visuals in LuckyTemplates-rapporten. Deze interacties kunnen kruislings worden gefilterd of kruislings worden gemarkeerd .

Best practices voor het laden en transformeren van gegevens

Kruismarkering is standaard ingeschakeld in LuckyTemplates. U kunt dit wijzigen door naar Bestand te gaan en vervolgens naar Opties en instellingen. Voor het huidige bestand kunt u in het gedeelte met rapportinstellingen de visuele interactie wijzigen van kruislings markeren in kruislings filteren.

Laten we eens kijken naar ons rapport. U kunt zien dat LuckyTemplates standaard kruismarkering gebruikt op gerelateerde visuals. Als ik op een kanaal in het linker staafdiagram klik, ziet u dat het geselecteerde gedeelte in een donkere kleur wordt gemarkeerd, terwijl het niet-geselecteerde gedeelte in het lichte kleur blijft in het tweede staafdiagram.

Best practices voor het laden en transformeren van gegevens

U kunt zien dat de volledige vorm niet verandert in de grafiek en u ziet alleen de gemarkeerde gedeelten. U kunt dit wijzigen vanuit de rapportinstellingen en de standaard visuele interactie wijzigen van kruislings markeren in kruislings filteren.

Best practices voor het laden en transformeren van gegevens

Zodra u dat heeft gedaan, zult u zien dat de vorm van uw gerelateerde staafdiagram elke keer dat u een selectie of een groep selecties maakt, zal veranderen. Dit is een goede gewoonte om in te stappen.

Best practices voor het laden en transformeren van gegevens

Gegevensset scheiden van rapport

Het volgende waar ik het over wil hebben, is het scheiden van uw datasetontwikkeling van uw rapportontwikkeling. Hier kunt u een dik datasetbestand laten publiceren als een stand-alone dataset zonder visuele elementen, en een dun rapportbestand ontwikkelen dat deze gepubliceerde datasets zal gebruiken.

Een van de voordelen van het afzonderlijk publiceren van datasets is dat u het goedkeuringsproces in de LuckyTemplates-service kunt gebruiken om datasets te promoten en te certificeren. Het is een ideale gewoonte om een ​​goedgekeurde dataset te selecteren, bij voorkeur een gecertificeerde, wanneer u een nieuw rapport ontwikkelt.

Best practices voor het laden en transformeren van gegevens

Een speciale datumtabel maken

Zorg ervoor dat uw rapport een speciale datumtabel in uw rapport heeft. gebruiken die beschikbaar is op het LuckyTemplates-forum. U kunt de M-code kopiëren en in een lege query plakken.

Het tweede dat u moet doen als u eenmaal een speciale datumtabel heeft, is deze als zodanig te markeren. Hierdoor kan het door LuckyTemplates worden gebruikt voor tijdintelligentieberekeningen.

Best practices voor het laden en transformeren van gegevens

Andere herinneringen voor de datumtabel

Zorg er altijd voor dat uw gegevenstabel aaneengesloten is en dat er één rij per dag is. Controleer ook of het de randen van uw feitentabel volledig bedekt.

Voeg ook volledige jaren toe aan de tabel Datums. Het is ook een goed idee om een ​​extra toekomstig jaar toe te voegen aan de tabel Datums om toekomstige of voorspelde tijdintelligentieberekeningen mogelijk te maken.

Als u meer dagen in uw tabel Datums heeft dan u in uw rapport wilt weergeven, kunt u bepalen wat er in slicers wordt weergegeven met behulp van de IsAfterToday-kolom of de offset-kolommen die beschikbaar zijn in het filtervenster.

Best practices voor het laden en transformeren van gegevens

Vragen stellen over het rapport

Het volgende waar ik het over wil hebben is of je überhaupt wel een rapport zou moeten maken. Terwijl u dit doet, controleert u of er een bestaand rapport is dat u kunt gebruiken om aan uw behoefte te voldoen. Als er geen rapport is, is er dan een bestaand datamodel dat u kunt gebruiken om aan de behoefte te voldoen? Is er een bestaande dataset die je kunt gebruiken of moet je eigenlijk vanaf nul beginnen?

Best practices voor het laden en transformeren van gegevens

Staging en verwijzen naar gegevens

Het volgende waar we het over moeten hebben bij het laden van gegevens, is het verzamelen en verwijzen naar gegevens. Wanneer u een platte gegevenstabel laadt, heeft u mogelijk feiten en dimensies in dezelfde tabel als in een Excel-bestand. Wanneer u een lading uitvoert en deze naar een faseringsquerysectie verplaatst en de naam ervan wijzigt, kunt u Laden inschakelen uitschakelen .

Best practices voor het laden en transformeren van gegevens

Best practices voor het laden en transformeren van gegevens

De volgende stap is het maken van een verwijzing naar die tabel voor elke feiten- en opzoekdimensie en het op de juiste manier hernoemen van de tabellen. Bewerk elke referentie, bewaar alleen de benodigde kolommen en verwijder duplicaten.

Best practices voor het laden en transformeren van gegevens

Best practices voor het laden en transformeren van gegevens

Organiseer uw gegevensmodel en plaats het in een eigen groep. Ik heb altijd een groep in mijn datamodellen genaamd Data Model, die alle tabellen bevat die ik in mijn visuals ga gebruiken.

Best practices voor het laden en transformeren van gegevens

Vermindering van de gegevensbelasting

Het volgende waar we het over moeten hebben, zijn de prestaties van de tool bij het laden van gegevens. Een van de grootste factoren die de prestaties beïnvloeden, is het datavolume, dus probeer de hoeveelheid te laden data zo veel mogelijk te beperken.

Volg dit axioma:

Als je het niet nodig hebt, haal het dan niet op.

Het is veel gemakkelijker om nieuwe dingen aan een rapport toe te voegen dan om dingen uit ons rapport te halen. Ook wanneer u te veel dingen in een rapport stopt, betaalt u een boete voor prestaties die u niet hoeft te ervaren.

Filter bij voorkeur in de bron. Als u dit niet in de bron kunt doen, gebruikt u de vervolgkeuzepijl voor automatisch filteren in de Power-query om de velden te filteren waarin u geïnteresseerd bent.

Best practices voor het laden en transformeren van gegevens

Ook in de bron kunt u het aantal kolommen verminderen dat wordt weergegeven door de vervolgkeuzelijst Kolommen kiezen te gebruiken en alleen de kolommen te selecteren die voor u van belang zijn.

U kunt Kolommen kiezen of Kolommen verwijderen gebruiken . Ik raad aan Kolommen kiezen te gebruiken als best practice, omdat het gemakkelijk is om naar terug te gaan.

Als u later van gedachten verandert, kunt u dit op een snelle manier doen via de gebruikersinterface in plaats van naar de geavanceerde editor te gaan en de M-code rechtstreeks te bewerken.

Best practices voor het laden en transformeren van gegevens

Query vouwen

Queryvouwen is een andere poging van LuckyTemplates om verschillende gegevensselectie- en transformatiestappen te combineren in één gegevensbronquery.

Om te bepalen of een query wordt gevouwen, klikt u met de rechtermuisknop op de toegepaste stappen van een query. U kunt zien of een native query grijs wordt weergegeven.

Als het grijs is, wordt de query niet samengevouwen. Als het niet grijs wordt weergegeven, kan de zoekopdracht worden ingeklapt.

Laten we naar Gegevens transformeren gaan en vervolgens naar Power Query gaan . Als ik in deze tabel met de rechtermuisknop op de navigatiestap klik, kan ik zien dat de View Native Query niet grijs wordt weergegeven, zodat ik deze kan selecteren.

Best practices voor het laden en transformeren van gegevens

We zullen hier een eenvoudige SQL select-instructie zien.

Best practices voor het laden en transformeren van gegevens

Als we naar de volgende stap gaan nadat het filteren is voltooid en de native query bekijken, kunnen we zien dat de query enigszins is gewijzigd en dat er een 'where'-clausule onderaan die query staat.

Best practices voor het laden en transformeren van gegevens

Als we naar de derde stap gaan en er met de rechtermuisknop op klikken, kunnen we zien dat de native query niet grijs wordt weergegeven, zodat we deze nog een keer kunnen selecteren.

Best practices voor het laden en transformeren van gegevens

Zodra we selecteren, kunnen we zien dat er een nog grotere ineenstorting is van de drie query's tot één. Dit is LuckyTemplates die zegt dat de beste manier om de gegevens in het model te krijgen, is dat de bron het werk doet in plaats van dat ik het werk doe.

Best practices voor het laden en transformeren van gegevens

Gegevensbronnen gebruiken voor het vouwen van zoekopdrachten

Gegevensbronnen die doorgaans kunnen worden gebruikt bij het invouwen van query's, zijn standaardobjecten in relationele databases zoals tabellen en weergaven.

Aangepaste SQL-query's naar relationele databases kunnen geen gebruik maken van query-vouwen. Platte bestanden en webgegevens kunnen ook niet worden gevouwen.

Enkele van de transformaties die kunnen worden gebruikt bij het invouwen van query's zijn het filteren van rijen , het verwijderen van kolommen , het hernoemen van kolommen en het samenvoegen met andere query's uit dezelfde gegevensbron.

Enkele van de transformaties die niet kunnen worden gebruikt bij het invouwen van query's, zijn onder meer het toevoegen van indexkolommen , het wijzigen van kolomgegevenstypen en het samenvoegen of toevoegen van query's uit verschillende gegevensbronnen .

De juiste verbindingsmodus kiezen

Het volgende dat u moet doen om de prestaties te verbeteren, is het kiezen van de juiste verbindingsmodus. De importmodus is de standaard en moet waar mogelijk worden gebruikt, omdat deze de beste rapportprestaties biedt.

Directe query-modus kan worden gebruikt als actuele gegevens gewenst zijn, maar houd er rekening mee dat dit een negatieve invloed op de prestaties kan en waarschijnlijk zal hebben.

Ten slotte is er een live-verbindingsmodus beschikbaar wanneer u toegang krijgt tot datawarehouses zoals een SSAS multidimensionale kubussen.

Lokaliseren van de transformaties

Het volgende waar ik het over wil hebben, is de locatie waar deze transformaties moeten worden uitgevoerd. De beste plaats om ze te doen is in de bron . Als je ze niet in de bron kunt doen, doe ze dan in power query . Als u ze niet in Power Query kunt doen, doe ze dan in DAX .

Voer uw datatransformaties zo ver mogelijk stroomopwaarts en zo ver stroomafwaarts als nodig is uit.

Als je iets kunt doen met Power Query, dan zou je dat waarschijnlijk moeten doen.

Nogmaals, als het niet iets is dat dynamisch is binnen de context van een rapportsessie, overweeg dan om het in powerquery te doen om uw DAX te vereenvoudigen en uw rapportprestaties te verbeteren.

Wat betreft de vorm van uw tabellen, streef ernaar om feitentabellen lang en dun te maken en streef ernaar om dimensietabellen kort en breed te maken .

Best practices voor naamgeving en gegevenstypen

Gebruik een consistent schema voor naamgeving en hoofdlettergebruik dat gemakkelijk te begrijpen is voor rapportgebruikers. Hernoem uw tabellen en query's indien nodig om te voldoen aan de naamgevings- en hoofdlettergebruiknormen voor uw rapport.

Hernoem uw kolommen indien nodig om te voldoen aan die naamgevings- en hoofdlettergebruikstandaarden, en hernoem ook uw Power Query-stappen indien nodig om de stappen zelfbeschrijvend te maken, aangezien u mogelijk niet de persoon bent die het rapport onderhoudt.

LuckyTemplates kent bij het importeren van data uitstekend de juiste datatypes toe, maar soms zijn er ook wat aanpassingen nodig. U moet ervoor zorgen dat kolommen in verschillende tabellen worden gebruikt als koppelingskolommen tussen twee tabellen die van hetzelfde gegevenstype zijn.

Zorg ervoor dat al uw datumkolommen Datum zijn en niet Tekst. Splits uw datum-/tijdkolommen op in afzonderlijke datums en afzonderlijke tijdkolommen.

Controleer als laatste stap uw gegevenstypen opnieuw . Maak er een gewoonte van voordat u in Power Query op Sluiten en Toepassen drukt om uw gegevenstypen altijd opnieuw te controleren, aangezien bepaalde transformaties stilzwijgend kunnen overschakelen van gegevenstypen naar tekst.

Sourcing van gegevens met een consistente granulariteit

Het laatste dat besproken moet worden, is granulariteit. Tijdens het laden en transformeren van gegevens moet u ernaar streven uw gegevens op een consistente granulariteit te verkrijgen. Wanneer u verschillende granulariteiten in uw oplossing combineert, gebruikt u (bij voorkeur) powerquery of DAX om de referentiegegevens op de juiste manier toe te wijzen.

Als uw belangrijkste verkoopgegevens zich bijvoorbeeld op dagelijks niveau bevinden, is de granulariteit dagelijks. Als uw budgetreferentiegegevens zich op maandniveau bevinden, is de granulariteit maandelijks. Hier is een voorbeeld van een DAX-formule voor budgettoewijzing die u kunt bekijken bij het maken van de granulariteitsaanpassingen.

Conclusie

Ik hoop dat je deze tutorial over het laden en transformeren van gegevens nuttig vond. Als dat zo is, vergeet dan niet om je te abonneren op het LuckyTemplates YouTube-kanaal om ervoor te zorgen dat je op de hoogte wordt gehouden van nieuwe inhoud.

Greg


Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Wat is zelf in Python: voorbeelden uit de echte wereld

Een RDS-bestand opslaan en laden in R

Een RDS-bestand opslaan en laden in R

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.

First N Business Days Revisited – Een DAX-coderingstaaloplossing

First N Business Days Revisited – Een DAX-coderingstaaloplossing

In deze tutorial over DAX-coderingstaal leert u hoe u de functie GENERATE gebruikt en hoe u de titel van een maat dynamisch wijzigt.

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

Breng inzichten onder de aandacht met behulp van de Multi Threaded Dynamic Visuals-techniek in LuckyTemplates

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.

Inleiding tot het filteren van context in LuckyTemplates

Inleiding tot het filteren van context in LuckyTemplates

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.

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

Beste tips voor het gebruik van de apps in LuckyTemplates Online Service

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.

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

Analyseer winstmargeveranderingen in de loop van de tijd - analyse met LuckyTemplates en DAX

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.

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Materialisatie-ideeën voor gegevenscaches in DAX Studio

Deze tutorial bespreekt de ideeën van materialisatie van datacaches en hoe deze de prestaties van DAX beïnvloeden bij het leveren van resultaten.

Zakelijke rapportage met behulp van LuckyTemplates

Zakelijke rapportage met behulp van LuckyTemplates

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

Wat is LuckyTemplates Gateway? Alles wat u moet weten

Wat is LuckyTemplates Gateway? Alles wat u moet weten