Hvad er Power Query & M Language: En detaljeret oversigt
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
Denne tutorial har til formål at diskutere, hvordan man beregner afstand og pejling i LuckyTemplates, og hvordan man effektivt bruger dem til.
Du kan finde en masse afstandsberegninger på nettet. Til denne demonstration vil jeg bruge et forenklet eksempel på en løsning, jeg skulle bygge til et af mine forsyningskædenetværksprojekter.
Jeg viser også beregningen af den lige linjeafstand fra et leveringsdepot til servicesteder.
Her har jeg en skæremaskine til at vælge en afstand ved hjælp af en. Dette tillader dynamisk analyse af kunderne, flows, vægt, omsætning og enhver anden værdi inden for den valgte afstand.
Den store cirkelafstandsberegning, også kendt som Haversine- formlen , er kernemålet for denne øvelse. Hvis du mestrer denne teknik, kan du tackle enhver påkrævet afstand og lejeberegning.
Selvom jeg foretrækker at lave de fleste beregninger i Power Query, er det nødvendigt at bruge et DAX-mål, når du skal analysere dataene dynamisk baseret på den valgbare afstand.
Hvis den er tilgængelig, kan den faktiske afstand være den foretrukne mulighed. Du har dog ikke brug for dette i mange tilfælde, da den lige linjeafstand vil være tilstrækkelig.
Google eller Bing API kan bruges til at tilføje afstanden i Power Query for både den faktiske og lige linjeafstand. Det er en god praksis at have flere værktøjer i din geospatiale værktøjskasse. Anvendelse af API til LuckyTemplates vil dog ikke blive diskuteret i denne vejledning.
Indholdsfortegnelse
Forstå scenariet
Jeg blev bedt om at hjælpe med tildelingen af de nærmeste pakkeskabe fra virksomhed til erhverv til serviceteknikeres hjemmeadresser.
Serviceingeniørerne arbejdede i foruddefinerede arbejdsområder, der kunne ændre sig over tid, og startede det job hjemmefra.
I løbet af natten foregik opfyldning af akutte reservedele til pakkeskabene. Den følgende morgen hentede ingeniøren reservedelene fra pakkeskabet på vej til sit arbejdsområde.
Normalt bruger jeg GIS (Geographic Information System) software til at lave denne form for analyse. Men nu vil jeg prøve at gøre det med LuckyTemplates for at få en dynamisk allokeringsmodel. Jeg brugte også både den lige linjeafstand og lejeberegninger.
I GIS bruges pejlingsvinkel til navigation eller retning. I dette eksempel tilføjede jeg den pejling , der er konverteret til en retning ( Orientering ), fordi afstanden i sig selv ikke tilbyder den fulde løsning.
Det nærmeste pakkeskab kan være placeret i modsat retning af arbejdsområdet. Så jeg ville også vise retningen.
Dette gør det muligt at begrænse udvælgelsen af skabstildelingen til at være baseret på tilsvarende geografiske overskrifter med arbejdsområdet.
Som et eksempel er arbejdsområdet nord for hans hjem. Så den foretrukne pakkeskabsplacering skal være i samme retning.
Analyse af afstands- og lejedatasættet
I dette forenklede eksempel omfatter datasættet adresser i Holland og de gratis pakkebokse.
Dette indeholder kolonner for breddegrad og længdegrad (til og fra ) , Depot , Navn , Deleværdi og Efterspørgsel .
Ved siden af den indledende tabel findes de beregnede kolonner og afstandsberegningerne i Excel. Først beregnede jeg radianerne.
Derefter oprettede jeg de faktiske afstandsberegninger for både miles og kilometer ved hjælp af radianerne og Haversine -formlen.
Beregning af afstand og pejling: Oprettelse af demodata
Beregningerne for pejlingen resulterer i første omgang i et decimaltal i grader. Så jeg er nødt til at konvertere dette til noget mere praktisk.
Jeg oprettede en tabelkolonne med graderne fra 1-360. Jeg tilføjede også en kolonne for anvisningerne i henhold til kompasset.
Desuden tilføjede jeg en SORT- kolonne til at sortere retningerne med uret i LuckyTemplates.
Derefter indlæste jeg sourceNL- datasættet og orienteringstabellen i Power Query.
Lad os tage et kig på sourceNL -tabellen.
Tilføjelse af kolonnerne
Først tilføjede jeg en indekskolonne . Når jeg laver transformationer i editoren, tilføjer jeg en indekskolonne enten til reference eller til sortering.
Derefter rundede jeg bredde- og længdegraden til 4 cifre , hvilket er vigtigt i større datasæt. Ved at gøre dette vil den returnere en nøjagtighed på 11 meter, hvilket stadig er nok.
Af hensyn til dette eksempel har jeg tilføjet hvert trin i en separat beregnet kolonne for at vise kortet. Jeg beregnede radianerne for bredde- og længdegradsværdierne, ligesom det jeg gjorde i Excel.
Derefter anvendte jeg Haversine -formlen til at beregne afstande både i miles og kilometer.
Leje og orientering
For lejet er beregningen en anden formel, som jeg tog fra nettet. Jeg har lige tilpasset det lidt for at passe til mit formål med dette.
Til at begynde med er denne beregning i radian. Det er fuldstændig ubrugeligt. Så jeg er nødt til at konvertere det.
Dette er Leje-fortrinnet . Dette er for at konvertere radianerne til det næste trin i min beregning.
Til næste trin ændrede jeg de negative tal og korrigerede dem ved at anvende denne beregning.
Derefter rundede jeg Pejlingen for at få et helt tal.
Jeg slettede kolonnerne Bearing (rad) , Bearing pre og Bearing . Derefter omdøbte jeg kolonnen Naar boven afronden til Bearing Roundup .
Jeg kan nu flette kolonnen Bearing Roundup i denne tabel med BEARING kolonnen fra orienteringstabellen .
Ved at gøre dette ville jeg være i stand til at få retningen.
Nu har jeg pejlingen ( Bearing Roundup ) og retningen ( Orientation_Direction ), som jeg vil bruge til den næste model.
Her er resultatet i Power Query.
R Script til beregning af afstand og pejling
Til denne vil jeg bruge en løsning med et R-script . Dette er et datasæt med de beregnede afstande i miles og kilometer.
Jeg kører dette R-script , som er meget kortere og renere end formlerne.
Efter at have kørt R-scriptet har jeg nu 3 tabeller.
Her er outputtet. Jeg rundede det også af.
Som du kan se, er resultaterne for R-script- beregningen og Excel-beregningen ens.
Tilføjelse af kortvisuals
Til sidst vil jeg tilføje en visuel visning til slutresultatet.
For at gøre det gentog jeg trinene i a. Jeg indlæste bordet med de 3 placeringer. Jeg indlæste også orienteringstabellen og datasættet ( selektion NL ) med kolonnen Sorter . Så slog jeg kolonner sammen til Orienteringen .
Dette fuldender den endelige model.
Konklusion
I denne rapport har jeg valgt at vise den retning kunden ser. Du kan vende dette om eller vise begge dele i din rapport, afhængigt af dine præferencer. Det eneste, der skal til, er at udveksle fra og til bredde- og længdegrad i beregningen.
Forhåbentlig bidrog denne vejledning til en bedre forståelse af afstanden og lejeberegninger generelt.
Tjek nedenstående links for flere eksempler og relateret indhold.
Skål!
Paul
Denne vejledning giver et overblik over Power Query Editor og M-sproget inde på LuckyTemplates-skrivebordet.
Lær, hvordan du opretter en sideinddelt rapport, tilføjer tekster og billeder og derefter eksporterer din rapport til forskellige dokumentformater.
Lær, hvordan du bruger SharePoint-automatiseringsfunktionen til at skabe arbejdsgange og hjælpe dig med at mikrostyre SharePoint-brugere, -biblioteker og -lister.
Udvid dine rapportudviklingsevner ved at deltage i en dataanalyseudfordring. Acceleratoren kan hjælpe dig med at blive LuckyTemplates-superbruger!
Lær, hvordan du beregner løbende totaler i LuckyTemplates ved hjælp af DAX. Løbende totaler giver dig mulighed for ikke at blive fanget af et individuelt resultat.
Forstå konceptet med variabler i DAX i LuckyTemplates og betydningen af variabler for, hvordan dine mål beregnes.
Lær mere om det brugerdefinerede visuelle kaldet LuckyTemplates Slope-diagrammet, som bruges til at vise stigning/fald for en enkelt eller flere metrics.
Opdag farvetemaerne i LuckyTemplates. Disse er afgørende for, at dine rapporter og visualiseringer kan se ud og fungere problemfrit.
Beregning af et gennemsnit i LuckyTemplates kan gøres på mange måder for at give dig præcise oplysninger til dine virksomhedsrapporter.
Lad os dykke ned i Standard LuckyTemplates-temaer og gennemgå nogle af de funktioner, der er indbygget i selve LuckyTemplates Desktop-applikationen.