Hur man kommenterar i Python – En snabbguide för nybörjare
Hur man kommenterar i Python – En snabbguide för nybörjare
Denna handledning syftar till att diskutera hur man beräknar avstånd och bäring i LuckyTemplates och hur man effektivt använder dem för.
Du kan hitta en hel del avståndsberäkningar på webben. För den här demonstrationen kommer jag att använda ett förenklat exempel på en lösning som jag behövde bygga för ett av mina nätverksprojekt i supply chain.
Jag kommer också att visa beräkningen av det raka avståndet från en leveransdepå till serviceställen.
Här har jag en skärare för att välja ett avstånd med hjälp av en. Detta möjliggör dynamisk analys av kunder, flöden, vikt, intäkter och alla andra värden inom det valda avståndet.
Den stora cirkelavståndsberäkningen, även känd som Haversine -formeln , är kärnmåttet för denna handledning. Om du behärskar den här tekniken kan du ta itu med alla nödvändiga avstånds- och bäringsberäkningar.
Även om jag föredrar att göra de flesta beräkningar i Power Query, är det nödvändigt att använda ett DAX-mått när du behöver analysera data dynamiskt baserat på det valbara avståndet.
Om tillgängligt kan det faktiska avståndet vara det föredragna alternativet. Du behöver dock inte detta i många fall eftersom det raka avståndet kommer att vara tillräckligt.
Google eller Bing API kan användas för att lägga till avståndet i Power Query för både det faktiska avståndet och det raka avståndet. Det är en bra praxis att ha fler verktyg i din geospatiala verktygslåda. Applicering av API på LuckyTemplates kommer dock inte att diskuteras i denna handledning.
Innehållsförteckning
Förstå scenariet
Jag blev ombedd att hjälpa till med tilldelningen av närmaste företag till företags paketskåp till serviceteknikers hemadresser.
Serviceingenjörerna arbetade i fördefinierade arbetsområden som kunde förändras över tid och började det jobbet hemifrån.
Över natten skedde påfyllning av akuta reservdelar till paketskåpen. Följande morgon skulle ingenjören hämta reservdelarna från paketskåpet på väg till sitt arbetsområde.
Normalt använder jag programvaran GIS (Geographic Information System) för att göra den här typen av analys. Men nu ska jag försöka göra det med LuckyTemplates för att få en dynamisk allokeringsmodell. Jag använde också både rätlinjeavstånd och bäringsberäkningar.
I GIS används bäringsvinkel för navigering eller riktning. I det här exemplet lade jag till bäringen som konverterats till en riktning ( Orientering ) eftersom distansen i sig inte erbjuder den fullständiga lösningen.
Närmaste paketskåp kan vara placerat i motsatt riktning från arbetsområdet. Så jag ville visa riktningen också.
Detta gör det möjligt att begränsa valet för skåpstilldelningen att baseras på motsvarande geografiska rubriker med arbetsområdet.
Som ett exempel är arbetsområdet norr om hans hem. Så den föredragna paketskåpets placering bör vara i samma riktning.
Analyserar datauppsättningen för avstånd och bäring
I det här förenklade exemplet består datasetet av adresser i Nederländerna och platserna för gratis paketskåp.
Den innehåller kolumner för latitud och longitud (till och från ) , Depå , Namn , Delarvärde och Efterfrågan .
Intill den initiala tabellen finns de beräknade kolumnerna och avståndsberäkningarna i Excel. Först beräknade jag radianerna.
Sedan skapade jag de faktiska avståndsberäkningarna för både miles och kilometer med radianer och Haversine -formeln.
Beräkning av avstånd och bäring: Skapa demodata
Beräkningarna för bäringen resulterar initialt i ett decimaltal i grader. Så jag måste omvandla det här till något mer praktiskt.
Jag skapade en tabellkolumn med graderna 1-360. Jag lade också till en kolumn för anvisningarna enligt kompassen.
Dessutom lade jag till en SORT- kolumn för att sortera riktningarna medurs i LuckyTemplates.
Efter det laddade jag sourceNL- datauppsättningen och orienteringstabellen i Power Query.
Låt oss ta en titt på sourceNL -tabellen.
Lägga till kolumnerna
Först lade jag till en Index- kolumn. När jag gör transformationer i editorn lägger jag till en indexkolumn antingen för referens eller för sortering.
Sedan avrundade jag latitud och longitud till 4 siffror, vilket är viktigt i större datamängder. Genom att göra detta kommer den att returnera en noggrannhet på 11 meter vilket fortfarande är tillräckligt.
För det här exemplets skull har jag lagt till varje steg i en separat beräknad kolumn för att visa kartan. Jag beräknade radianerna för latitud- och longitudvärdena, precis som jag gjorde i Excel.
Sedan använde jag Haversine -formeln för att beräkna avstånden både i miles och kilometer.
Bäring Och Orientering
För bäringen är beräkningen en annan formel som jag tog från nätet. Jag justerade det lite för att passa mina syften för detta.
Inledningsvis är denna beräkning i radianer. Det är helt värdelöst. Så jag måste konvertera den.
Detta är lagerförsteget . Detta är för att konvertera radianerna till nästa steg i min beräkning.
För nästa steg ändrade jag de negativa talen och korrigerade dem genom att tillämpa denna beräkning.
Efter det rundade jag bäringen för att få ett heltal.
Jag tog bort kolumnerna Bearing (rad) , Bearing pre och Bearing . Sedan döpte jag om kolumnen Naar boven afronden till Bearing Roundup .
Jag kan nu slå samman kolumnen Bearing Roundup i den här tabellen med BEARING -kolumnen från Orienteringstabellen .
Genom att göra detta skulle jag kunna få riktningen.
Nu har jag kolumnerna för bäring ( Bearing Roundup ) och riktningen ( Orientation_Direction ) som jag kommer att använda för nästa modell.
Här är resultatet i Power Query.
R-skript för beräkning av avstånd och bäring
För den här kommer jag att använda en lösning med ett R-skript . Detta är en datauppsättning med de beräknade avstånden i miles och kilometer.
Jag kör detta R-skript som är mycket kortare och renare än formlerna.
Efter att ha kört R-skriptet har jag nu 3 tabeller.
Här är utgången. Jag avrundade det också.
Som du kan se är resultaten för R-skriptberäkningen och Excel-beräkningen liknande.
Lägga till kartbilder
Slutligen kommer jag att lägga till en visuell display till slutresultatet.
För att göra det upprepade jag stegen i a. Jag laddade tabellen med de 3 platserna. Jag laddade också orienteringstabellen och datasetet ( selektion NL ) med kolumnen Sortera . Sedan slog jag samman kolumner för Orienteringen .
Detta slutför den slutliga modellen.
Slutsats
I denna rapport har jag valt att visa den riktning kunden sett. Du kan vända på detta eller visa båda i din rapport, beroende på dina preferenser. Allt som krävs är att byta från och till latitud och longitud i beräkningen.
Förhoppningsvis bidrog denna handledning till en bättre förståelse av avståndet och bäringsberäkningar i allmänhet.
Kolla in länkarna nedan för fler exempel och relaterat innehåll.
Skål!
Paul
Hur man kommenterar i Python – En snabbguide för nybörjare
Denna handledning ger en översikt över Power Query Editor och M-språket på LuckyTemplates-skrivbordet.
Lär dig hur du skapar en sidnumrerad rapport, lägger till texter och bilder och sedan exporterar din rapport till olika dokumentformat.
Lär dig hur du använder SharePoint-automatiseringsfunktionen för att skapa arbetsflöden och hjälpa dig att mikrohantera SharePoint-användare, bibliotek och listor.
Finslipa dina färdigheter i rapportutveckling genom att gå med i en dataanalysutmaning. Acceleratorn kan hjälpa dig att bli en LuckyTemplates superanvändare!
Lär dig hur du beräknar löpande summor i LuckyTemplates med DAX. Löpande summor låter dig inte fastna i ett individuellt resultat.
Förstå konceptet med variabler i DAX inom LuckyTemplates och konsekvenserna av variabler för hur dina mått beräknas.
Lär dig mer om den anpassade visual som kallas LuckyTemplates Slope-diagram, som används för att visa ökning/minskning för en enstaka eller flera mätvärden.
Upptäck färgteman i LuckyTemplates. Dessa är viktiga för att dina rapporter och visualiseringar ska se ut och fungera sömlöst.
Att beräkna ett genomsnitt i LuckyTemplates kan göras på många sätt för att ge dig exakt information för dina affärsrapporter.