Wat is zelf in Python: voorbeelden uit de echte wereld
Wat is zelf in Python: voorbeelden uit de echte wereld
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.
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:
U kunt het ook uitschakelen voor het huidige bestand door de instelling te wijzigen.
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.
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 .
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.
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.
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.
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.
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.
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.
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?
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 .
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.
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.
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.
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.
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.
We zullen hier een eenvoudige SQL select-instructie zien.
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.
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.
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.
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
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