Pipe In R: Tilslutningsfunktioner med Dplyr
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
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
I denne øvelse lærer du, hvordan du kæder funktioner sammen ved hjælp af dplyr-røroperatoren i programmeringssproget R.
RANKX fra LuckyTemplates giver dig mulighed for at returnere rangeringen af et specifikt tal i hver tabelrække, der udgør en del af en liste over tal.
Lær, hvordan du adskiller en PBIX-fil for at udtrække LuckyTemplates-temaer og -billeder fra baggrunden og bruge den til at oprette din rapport!
Excel Formler Snydeark: Mellemvejledning
LuckyTemplates kalendertabel: Hvad er det, og hvordan man bruger det
Lær, hvordan du installerer programmeringssproget Python i LuckyTemplates, og hvordan du bruger dets værktøjer til at skrive koder og vise billeder.
Lær, hvordan du beregner dynamiske fortjenstmargener ved siden af LuckyTemplates, og hvordan du kan få mere indsigt ved at grave dybere ned i resultaterne.
Lær, hvordan du sorterer felterne fra kolonner med udvidet datotabel korrekt. Dette er en god strategi at gøre for vanskelige felter.
I denne artikel gennemgår jeg, hvordan du kan finde dine topprodukter pr. region ved hjælp af DAX-beregninger i LuckyTemplates, herunder funktionerne TOPN og CALCUATE.
Lær, hvordan du bruger en uønsket dimension til flag med lav kardinalitet, som du ønsker at inkorporere i din datamodel på en effektiv måde.