10 handige Data Analysis Expressions (DAX)-functies voor Power BI-Beginners

Inleiding

we hebben in onze business intelligence (BI) – reis gewerkt aan tal van drag-and-drop-tools. Maar niemand is in de buurt gekomen van de Zwitserse zakmes aard van Microsoft ‘ s Power BI. Het vereenvoudigt echt de taak van het kraken van getallen, het analyseren van gegevens en het visualiseren van patronen.

het is een van de beste ‘drag-and-drop’ tools in de industrie. Je kiest een veld dat je wilt analyseren, laat het vallen in de Macht BI dashboard, en voila! Inzichten liggen recht voor je.

maar wat als we dieper in onze Analyse willen duiken? Wat moeten we doen als we bepaalde variabelen willen aanpassen of nieuwe willen genereren? Gewoon een snelle slepen en neerzetten zal ons probleem niet oplossen. Dat is waar de kracht van Data Analysis Expressions (DAX) in Power BI in het spel komt.

Power BI DAX

Dit is een handig hulpmiddel om te leren voor elke data science professional, niet alleen een aspirant business intelligence. Het bespaart ons een hoop tijd die we anders zouden besteden aan het uitwerken van de code.

in dit artikel zullen we eerst begrijpen wat BI is en de typische rol van een bi-industrie professional. We laten je dan kennismaken met de krachtige Microsoft Power BI tool en duiken vervolgens diep in tien echt nuttige data analysis expressions (DAX) functies die we kunnen gebruiken in Power BI.

inhoudsopgave

  • Inleiding tot Business Intelligence (BI)
  • rol van een Business Intelligence Professional
  • Wat is Power BI?
  • Data Analytics Expressions (DAX): Wat zijn ze en waarom zijn ze nodig?
  • implementatie van DAX-functies in Power BI

Inleiding tot Business Intelligence (BI))

Business Intelligence heeft een breed toepassingsgebied, maar we kunnen het definiëren als het proces van het volgen en beoordelen van zakelijke statistieken.

laten we een voorbeeld nemen om dit te begrijpen.

bedenk dat we een rederij runnen die producten levert aan onze klanten in verschillende delen van het land. Zoals met elk bedrijf, willen we onze klantervaring te verbeteren. Er zijn verschillende statistieken die we kunnen meten voor het meten van klanttevredenheid, waaronder:

  • de snelheid waarmee het product aan hen werd geleverd
  • of het product al dan niet beschadigd was
  • werd het juiste product geleverd? etc.

deze gegevens worden verwerkt en weergegeven in de vorm van heldere rapporten die het gemakkelijker maken om de inzichten naar voren te brengen. Dus, als de grafiek voor de snelheid van levering toont een lagere rating dan verwacht, kunnen we proberen om de oorzaak te vinden en het verbeteren van de levering snelheid.

de rol van een Business Intelligence Professional

nu, wat doet een business intelligence professional? Ik weet zeker dat dit bij je opgekomen moet zijn tijdens het doorlopen van het bovenstaande scenario. Hieronder zijn een paar gemeenschappelijke taken een typische BI persoon doet:

  • Write (SQL) query ’s of connectoren om gegevens uit relationele/NoSQL-databases op te halen
  • Write (SQL) query’ s om gegevens te verwerken en de bedrijfsmetrics te berekenen
  • ontwerpcode om grafieken te maken met interactieve widgets om de bedrijfsmetrics te visualiseren
  • maak dashboards van de grafieken en implementeer ze voor gebruik door de eindgebruiker

de vaardigheden die nodig zijn om BI-professional te worden varieert van project tot project. Maar in grote lijnen, je zou moeten beschikken over een solide kennis van een BI-tool, zoals Tableau, PowerBI, Qlik, samen met enige ervaring in een programmeertaal zoals Python, R of SQL. Kennis van het domein en gestructureerd denken zijn ook gewild.

Power BI is een van de meest populaire en krachtige BI-tools die er zijn. Dat zal onze focus in dit artikel. Voordat we er zijn, hier is een prachtige illustratie van een typische business intelligence architectuur:

voorbeeld Business Intelligence architectuur

Wat is Power BI?Power BI is een populaire en ongelooflijk krachtige business intelligence tool ontwikkeld door Microsoft. Het heeft verschillende smaken en aanbiedingen. De meest eenvoudige versie is gratis, maar het heeft de mogelijkheid om middelgrote business intelligence oefeningen gemakkelijk uit te voeren.

in brede termen, Power BI is een cloud-based business analytics solution suite die de nodige tools biedt om grote hoeveelheden gegevens over silo ‘ s om te zetten in toegankelijke informatie. Het is consequent gerangschikt in de Gartner BI Magic Quadrant.Power BI is populair om zijn veelzijdigheid, interactiviteit, esthetische ontwerpen, uitgebreide connectiviteit met databases en het gemak van het creëren van laag-inspanning dashboards. Het maakt ook gebruik van ondersteuning van andere tools uit het Microsoft-ecosysteem-Azure, Cortana, SQL Server, Azure Active Directory, Azure Blob Storage, enz.

hier zijn een paar leuke dingen die Power BI kan doen:

  • Real-time waarschuwingen en visualisatie voor het bewaken van de gezondheid van de productie-apparatuur. Dit wordt gedaan door IoT-sensorgegevens door te geven via IoT Azure Hub, Azure Data Factory, Cognos DB en vervolgens geanalyseerd in Power BI
  • maak en haal grafieken en Power BI-rapporten en dashboards op door spraakinstructies te geven met behulp van Windows voice assistant Cortana

Data Analytics Expressions (DAX): Wat zijn ze en waarom zijn ze nodig?

we kunnen Data lezen in Power BI vanuit CSV-bestanden of vanuit een database. We kunnen ook tabellen samenvoegen in Power BI. Vaak zijn de gegevens die nodig zijn voor het plotten direct beschikbaar in tabelkolommen (hoewel dat niet altijd het geval is).

overweeg een situatie waarin we de gegevens moeten wijzigen of wijzigen om onze dashboards te verbeteren. Stel dat die aangepaste wijzigingen die we nodig hebben zijn niet direct beschikbaar in de Macht BI. Wat doen we dan? Hoe kunnen we dit soort aanpassingen en data-analyse uitvoeren?

het antwoord is DAX (afkorting voor Data Analysis Expressions). DAX wordt gebruikt om wat zinvolle informatie verborgen in de ruwe gegevens te brengen. In eenvoudige woorden, DAX wordt gebruikt voor data manipulatie.

er zijn bepaalde regels die we moeten volgen voor het gebruik van DAX. U zult deze regels snel begrijpen als u bekend bent met Excel-functies. DAX is gewoon een geavanceerde vorm van dat.

er zijn twee plaatsen waar we Dax schrijven:

  • berekende kolom
  • berekende maat

eens kijken waar beide voor staan:

  • berekende kolommen lijken erg op reguliere kolommen die we in de meeste datasets zien. Het verschil is dat berekende kolommen het resultaat zijn van onze berekeningen met behulp van twee of meer kolommen of met behulp van kolommen uit verschillende tabellen. Ze kunnen worden gebruikt als we rij-wise berekeningen willen uitvoeren
  • berekende maat, aan de andere kant, is vergelijkbaar met een berekende kolom. Ze bezetten echter geen fysiek geheugen en hun resultaten kunnen niet worden gezien in de vorm van een kolom. We gebruiken dit meestal als we dynamische berekeningen willen uitvoeren op een groep rijen of door data samen te groeperen

implementatie van DAX functies in Power BI

we zullen werken aan een paar handige Dax commando ‘ s en hun functies in deze sectie. We zullen de dataset ‘Sample Super Store’ gebruiken. U kunt de dataset hier downloaden en ook zelf beginnen met experimenteren!

de dataset bevat drie tabellen- ‘Orders’, ‘Returns’en ‘ Users’. Ga je gang en laad het monster Superstore dataset Excel-bestand in Power BI.

Open Power BI en zoek naar “Data ophalen” in het tabblad ‘Home’. Selecteer Excel en blader vervolgens naar het datasetbestand dat aanwezig is op uw lokale machine. Laad het hele bestand in uw BI-venster.

nu, aan de slag!

LOOKUP ()

de LOOKUP-functie is vergelijkbaar met Vlookup in Microsoft Excel.

de derde tabel in onze dataset bevat de details van alle managers per regio. Nu hier is waar LOOKUP komt in de hand. We kunnen een lookup uitvoeren voor de kolom’ Manager ‘in de tabel’ gebruikers ’tegen de corresponderende kolom’ regio ‘in de tabel’ bestellingen’.

dus hoe voeren we een lookup uit in Power BI? Er zijn twee dingen die we moeten onthouden:

  1. we hebben een gemeenschappelijke kolom nodig om een lookup
  2. uit te voeren we hebben ook unieke waarden nodig in ten minste één van de overeenkomende kolommen gekozen uit twee verschillende tabellen. De basis syntaxis voor Opzoeken is:
LOOKUPVALUE(Result Column Name, Search Column Name, Search Column value)

het plaatsen van deze syntaxis met behulp van onze dataset variabelen:

Manager = LOOKUPVALUE(Users,Users,Orders)

FILTER () & bereken( )

de onderstaande DAX is vergelijkbaar met de functie group by. Het aggregeert dynamisch een kolom op basis van het filter. Dit is handig wanneer we een tabel maken in Power BI dashboards en slechts één kolom moeten filteren (terwijl de resterende kolom niet wordt beïnvloed door het filter).

deze DAX is handig wanneer elke kolom in de tabel zijn eigen filter kan hebben. Laten we een voorbeeld nemen om te begrijpen hoe dit werkt.

we willen de som van de verkopen per regio berekenen. Dus eerst verdeelt de filterfunctie de regiokolom in noord, zuid, oost en west. Vervolgens, het berekent de som van de verkoop volgens de segregatie. We gebruiken hier een maat, omdat een bepaalde regio een willekeurig aantal rijen binnen kan hebben.

hier declareren we een variabele reg die fungeert als een sleutel voor het filter. We kunnen een variabele declareren met behulp van het trefwoord VAR. Het RETURN keyword geeft ons het resultaat van de berekening (som van de verkopen, in ons voorbeeld). Het resultaat van de berekende DAX is:

geneste IF voorwaarde

beschouw de orders tabel in onze dataset. De kolom ‘Orderprioriteit’ heeft vijf waarden eronder. Laten we aannemen dat we enkele integer waarden nodig hebben in plaats van de oorspronkelijke waarden in die kolom. De geneste als verklaring is onze vriend hier:

Nested IF = IF(Orders ="Critical", 5, IF(Orders ="High", 4, IF(Orders = "Medium", 3, IF(Orders = "Low", 2, IF(Orders = "Not Specified", 1)))))

Conditionele opmaak

Conditionele opmaak is een van de meest gebruikte functies van Microsoft Excel. En we kunnen die inside Power BI ook benutten!

Conditionele opmaak, voor degenen die het nog niet eerder hebben gebruikt, is de mogelijkheid om de letterkleur van een kolom te veranderen op basis van een voorwaarde uit een andere kolom. Dit kan worden gedaan door een nieuwe kolom te maken volgens onze voorwaarde en vervolgens die kolom te gebruiken om regels in te stellen in de voorwaardelijke opmaak tab.

laten we dit proberen met een voorbeeld uit onze Sample Superstore dataset.

we willen de kleur van de waarden die worden weergegeven in de kolom ‘Orderprioriteit’ van de tabel met orders wijzigen. Bijvoorbeeld, alle ‘kritische’ waarden moeten in rode kleur, alle ‘hoge’ waarden moeten in groene kleur, enz.

we kunnen de geneste kolom als gebruiken die we hierboven hebben aangemaakt omdat de Voorwaarden al zijn opgegeven. Stel regels in de conditionele opmaak tab-als de waarde van de bovenstaande kolom 1 is, moet de letterkleur rood zijn als de waarde 2 is, dan moet deze oranje zijn, enzovoort.

hier is een afbeelding om te laten zien hoe je het kunt doen in Power BI:

een tekenreeks splitsen op basis van scheidingstekens

een andere veelgebruikte Excel-functie die we kunnen gebruiken in Power BI:

customer_split_1 = PATHITEM(SUBSTITUTE(Orders," ","|"),1)

de bovenstaande PATHITEM functie retourneert de resulterende tekenreeks. De functie SUBSTITUTE vervangt het opgegeven scheidingsteken door een bepaald teken en haalt het overeenkomstige woord op op basis van de vermelde waarde.

laten we bijvoorbeeld een splitsing uitvoeren op het veld’ Klantnaam’. Hier, de “”ruimte zal het scheidingsteken en we hebben het vervangen door een pijplijn”|”. We hebben alleen de voornaam van een klant nodig, dus hebben we 1 gespecificeerd. U kunt deze waarde wijzigen en zien welke resultaten u krijgt.

laten we nu drie splitsingen als deze uitvoeren en ze respectievelijk customer_split_1, customer_split_2, customer_split_3 noemen.

een bepaalde Letter ophalen uit een woord

wat als we alleen een bepaalde letter uit een woord willen halen? Het klinkt lastig, maar het is eigenlijk heel gemakkelijk in Power BI:

customer_initial_1 = LEFT(Orders,1)

We deden het in slechts één regel code!

laten we zeggen dat de naam van een bepaalde klant “Helen Stein” is en de splitsing is verdeeld in twee delen. We gebruiken de bovenstaande DAX om de eerste letter van het eerste gesplitste woord (Helen) te krijgen. De functie links retourneert het aantal tekens door te positioneren naar het begin van de tekenreeks. Als we 2 in plaats van 1 geven, geeft de bovenstaande DAX “He” terug in plaats van “H”.

aaneengeschakelde tekenreeksen

we bevinden ons vaak in situaties waarin we twee woorden moeten combineren. Om te zien hoe dit werkt in Power BI, laten we aannemen dat we meerdere initialen in onze gegevens.

we hoeven alleen de initialen van de klant in de visualisatie op te geven in plaats van hun volledige naam. Dit zal helpen om de tafel netjes en compact te houden:

customer_initials = CONCATENATE(Orders,CONCATENATE(Orders,Orders))

de concatenate-functie verbindt strings samen. Hier hebben we een aaneenschakeling van drie kolommen uitgevoerd:

WEEKDAY ()

de functie WEEKDAY geeft een geheel getal terug dat ons de huidige dag geeft. Laten we de dag uitzoeken waarop een paar bestellingen werden verzonden.:

weekday = WEEKDAY(Orders,2)

het bovenstaande gehele getal geeft de startdag aan:

  • 1 – Start vanaf zondag = 1 en eindigt op zaterdag = 7
  • 2 – Start vanaf maandag = 1 en eindigt op zondag = 7
  • 3 – Start vanaf maandag = 0 en eindigt op zondag = 6

Datum opgesplitst

er zijn momenten waarop we de datum voor bepaalde projecten moeten ont-draaien. Hier is het goede nieuws-We kunnen dit doen met de hulp van DAX en de query editor in Power BI.

nu hebben we twee kolommen-besteldatum en verzenddatum. We willen de data tussen de twee intervallen schrappen. Laten we de besteldatum nemen als 01-01-2015 en de verzenddatum als 03-01-2015. Aangezien er een 3-dagen verschil tussen hen, deze rij zal worden vermeld drie keer.

we kunnen dit doen via de query editor in Power BI. Selecteer de ‘aangepaste kolom’ optie in de ‘kolom toevoegen’ Tab. Het onderstaande venster verschijnt en we kunnen een kolomnaam toevoegen en de DAX query gebruiken:

Zoek vervolgens de datumkolom in onze dataset. Klik op het kleine vakje in de DATUMKOLOMKOP en selecteer de optie’ uitbreiden naar nieuwe rijen’:

merk op hoe de waarden verschijnen in de vorm van hele getallen? Klik nu met de rechtermuisknop op de kolom en wijzig het gegevenstype naar ‘datum’ – indeling:

complexe aggregaties gebaseerd op datum

het werken met datumgegevens is een vrij ingewikkelde uitdaging. Er is veel meer aan de hand dan alleen het opsplitsen van de verschillende dagen, maanden, enz.

in deze sectie zullen we werken aan een voorbeeld van complexe aggregatie op basis van datums. Bijvoorbeeld, Wat is het totale aantal uren vermeld voor de komende 2 weken of de afgelopen 2 weken?

we schakelen van dataset naar deze sectie. U kunt de nieuwe dataset, genaamd ‘Weekcal’, downloaden van Forecast. Deze dataset is gemodelleerd op Team time-allocation en een planningstool genaamd Float. Float helpt ons bij het toewijzen van taken en het berekenen van de geschatte uren voor teamleden.

er is een voorbehoud in Float waar we ons bewust van moeten zijn. Een week begint altijd vanaf maandag in de Float tool. Als u bijvoorbeeld de toegewezen uren voor volgende week vanaf donderdag wilt berekenen, vindt u uren toegewezen van de meest recente maandag tot vrijdag en niet van deze donderdag tot volgende donderdag.

nu bevat de dataset de onderstaande functies:

  • startdag-startdag van de taak
  • einddatum-Einde Dag van de taak
  • uren / dag-Aantal uren besteed aan de taak per dag
  • Taaknaam – naam van de taak

laten we aannemen dat we geïnteresseerd zijn in het vinden van het aantal uren toegewezen voor volgende week. We kunnen dit doen met behulp van de onderstaande logica:

FORECAST_1 WEEK = if (Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,Forecast1,DAY)+1 * Forecast1,IF(Forecast1 > TODAY()-(WEEKDAY(TODAY(),2)-1) ,0,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)+7 && Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1),DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),Forecast1,DAY)* Forecast1,IF(Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1) && Forecast1 >=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(Forecast1,TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY)* Forecast1,IF(Forecast1<=TODAY()-(WEEKDAY(TODAY(),2)-1)&& Forecast1>=TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DATEDIFF(TODAY()-(WEEKDAY(TODAY(),2)-1),TODAY()-(WEEKDAY(TODAY(),2)-1)+7,DAY) * Forecast1,BLANK())))))
  • VANDAAG() – (WEEKDAG(VANDAAG(), 2) – 1 functie retourneert de huidige maandag van de week
  • DATEDIFF functie geeft als resultaat het verschil tussen twee datums

bekijk de tabel hieronder ziet u de geschatte uren voor elke taak, voor de volgende week:

Eindnoten

Macht (BI) is een krachtige en makkelijk-te-gebruiken tool voor het maken van snelle dashboards met een verscheidenheid aan gegevensbronnen. DAX-queries worden gebruikt om gegevens in kaart te brengen, nieuwe variabelen en zakelijke statistieken te maken en gegevens te manipuleren. Dit artikel geeft een korte en korte handleiding om uw DAX-reis te beginnen.

bekijk ook de officiële Microsoft Tutorials voor Power BI-een geweldige bron!

we hopen dat u dit artikel nuttig vond. We kijken uit naar uw feedback en opmerkingen. Gelukkig Dashboarding, of moeten we zeggen Gelukkig DAXing!

over de auteurs

Kirthi tej Yendloori

Kirthi tej is een data-analist bij Indium software. Hij heeft een jaar ervaring in datavisualisatie en is zeer geïnteresseerd in machine learning. Hij houdt van reizen.

You might also like

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.