Pipe In R: Koblingsfunksjoner med Dplyr
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
I denne opplæringen vil jeg diskutere hvordan du bruker den kjente tekstfunksjonen i LuckyTemplates-ikonkartet. Dette blogginnlegget vil ytterligere forklare bruken av LuckyTemplates i geospatiale prosjekter.
DeKart er et av de mest allsidige og komplekse kartbildene. Den tilbyr funksjonalitet som andre kartbilder fortsatt mangler. Den støtter ulike kartformater, verktøytips og hevder bedre datasikkerhet.
For å visualisere og analysere strømmer som leveringsruter eller gassledninger, tilbyr Icon Map- visualen betydelige fordeler.
Denne opplæringen er ikke en demonstrasjon av alle tingene som ikonkartet kan gjøre. Dette er kun fokusert på konteksten for bruk av WKT- strenger (Well Known Text).
Innholdsfortegnelse
Velkjent tekst (WKT) i LuckyTemplates-ikonkart
Velkjente tekststrenger er kombinasjoner av lengde- og breddegrad atskilt med en prikk . Ved å kombinere disse i én post lages linjer, former eller polygoner.
Du kan enkelt konvertere bredde- og lengdegradsdataene dine i Power Query hvis du ikke har en velkjent tekststreng .
Du kan importere LuckyTemplates-ikonkartet fra denne nettsiden (når dette skrives er dette fortsatt i betaversjon).
Det er mange fungerende eksempler på denne nettsiden. Den visuelle og appkilden støtter imidlertid ikke alle nylige endringer. I følge James Dales (utvikleren) venter godkjenning fra Microsoft for betaversjonen når dette skrives.
Eksempelscenario for bruk av WKT-strenger i LuckyTemplates-ikonkart
For det første eksemplet skal jeg vise hvordan du viser flere lag med WKT -strenger for gasslinjer. Jeg lastet ned litt informasjon fra en nettside til en gassleverandør i Nederland. Jeg har tatt stasjonene og rørledningene bare for å lage dette eksemplet.
1. Slå sammen spørringer
Den første delen av dette eksemplet er for sammenslåing av spørringer.
Spørringen " bensinstasjoner for sammenslåing " inneholder kolonnene ID , Lengdegrad og Breddegrad .
Først opprettet jeg lengdegrad og breddegrad i kolonnene med 2 divisjoner ved å omarbeide tallene fra kolonnene Longitude og Latitude . Som du kan se, er lengdegrad lik divisjonskolonnen og breddegrad lik divisjonskolonnen .
Deretter la jeg til Indekskolonnen .
Jeg fjernet kolonnene Longitude og Latitude .
Etter det rundet jeg den omarbeidede bredde- og lengdegraden til fem sifre.
Avrunding til fem sifre gir en nøyaktighet på omtrent én meter, noe som er godt nok i dette scenariet. Normalt runder jeg ned til fire bare for å spare mer minne.
Jeg dupliserte spørringen " bensinstasjoner for sammenslåing " som har en nullbasert indekskolonne og kalte den som " bensinstasjoner1 "-spørring.
I denne spørringen opprettet jeg en annen indekskolonne som starter med 1 .
Målet mitt i denne spørringen er å lage par med lengde- og breddegrad for hver bensinstasjon . Deretter kombinerer du to sekvensielle par til én tekststreng i én post . Dette vil representere en del av rørledningen mellom stasjonene.
Jeg brukte indekskolonnen for å slå sammen de to spørringene. Som et resultat vil posten med 1 som indeks i spørringen " gasstations1 " og posten med 1 som indeks i den opprinnelige spørringen ( bensinstasjoner for sammenslåing ) slås sammen.
Jeg fulgte sekvensen i ID- kolonnen og koblet sammen stasjonene i to par.
Så 141 og 71 er tilstøtende stasjoner som vist i en post. Som et par representerer de den spesielle delen av gassledningen. Det gjelder også for 71 og 152 , og de etterfølgende postene i ID- kolonnen.
2. Utvide tabellen
Etter å ha slått sammen spørringene basert på Indeks- kolonnen, må jeg utvide tabellen og beholde ID- , Bredde- og Lengdegrad -kolonnene. ID -en brukes som tostasjonsdelen av den velkjente tekst- IDen. Jeg endret ikke navnene fordi jeg ikke trenger disse kolonnene senere.
3. Oppretting og sammenslåing av frastreng- og tostrengstiene
Først opprettet jeg fromstring- og tostring -kolonnene.
Deretter slo jeg dem sammen til en kolonne og kalte den " Flettet ".
4. Lage den velkjente teksten
Etter å ha opprettet fromstring- og tostring- kolonnene, opprettet jeg WKT- strengkolonnen.
Den velkjente teksten opprettes ved å legge til søkeordet LINESTRING i den sammenslåtte kolonnen.
Så, den kvalifiserer nå som en velkjent tekststreng som vil bli akseptert av LuckyTemplates Icon Map Visual.
Det neste jeg gjorde var å fjerne den sammenslåtte kolonnen.
Som du kan se, er det ingen verdi i den siste raden. Dette er fordi det ikke er noen tilstøtende stasjon. Så jeg fjernet den siste raden.
Jeg la også til en indekskolonne for sortering av den kjente tekst- IDen som jeg opprettet i det visuelle.
Dessuten la jeg til kolonnen Velkjent tekst-ID ( WKT ID ), som er en kombinasjon av fraID- og tilID -kolonnene.
5. Legge til en verdi til visuelle data uten verdi
Jeg vil gjerne legge til en verdi til mine visuelle data som ikke inneholder noen verdi.
For å gjøre dette opprettet jeg en kolonne med tilfeldig verdi ved å bruke List.Random -funksjonen og Indekskolonnen . Verdien kan da representere trykket, kvantiteten eller tiden uten vedlikehold. Dette er bare for å vise noe i det visuelle.
6. Fylle ut feltene for LuckyTemplates Icon Map Visual
Siden jeg allerede har lastet ned Icon Map- visualen fra nettstedet, kan jeg ganske enkelt klikke det her.
Det er noe kompleksitet i bruken av det visuelle på grunn av mangfoldet av tilgjengelige innstillinger. Jeg vil raskt guide deg gjennom noen av dem.
De obligatoriske feltene for at det visuelle skal fungere er merket som " (obligatorisk) ".
For å vise stasjonene eller bensinledningene, la jeg til både WKT ID og WKT-strengen i kategorifeltet .
Jeg la også til lengde- og breddegrad.
Deretter la jeg til Total Mengder -målet i Størrelse- feltet.
Totalmengdemålet er summen av Mengde- kolonnen inne i tabellen for bensinstasjoner1 .
Som du ser har jeg allerede et kart her. Men det er egentlig ikke det jeg ønsker meg ennå.
7. Endre ikonkartet i LuckyTemplates
Jeg må lage noen etiketter for å få det til å se bedre ut. Så jeg plasserte WKT ID- kolonnen i etikettfeltet .
Jeg har også et enkelt fargemål og legger det på feltet her.
Jeg kan nå bruke dette kartet til å vise bensinstasjoner som dette.
Ved å klikke her kan jeg også vise laget med gassrør.
Men det er fortsatt noen ting jeg må gjøre for å få dette til å se bedre ut.
For å starte, går jeg til formateringsruten . Deretter, under Lagene , velger jeg Stamen – TonerLite . Dette gir et utvalg av ulike typer bakgrunner
Jeg valgte dette kartet fordi det er fint og grått. Det gir også en god refleksjon av fargene jeg ønsker å bruke.
Det er også forskjellige alternativer for lag her. For eksempel vil jeg aktivere OpenRailMap her .
Dette vil da legge til jernbanelinjer (representert i oransje farge) på kartet.
Under kartkontrollene deaktiverer jeg alternativene Zoom og Lasso Select for å gjøre kartet renere.
Deretter slår jeg på alternativet Etiketter her.
Her kan du se etikettene som refererer til stasjonen eller delen av rørledningen .
Jeg valgte også alle alternativene under WKT fordi de også har innvirkning på kartvisningen.
Jeg økte også tykkelsen på linjene for linjelagene ved å øke verdien av Line Width her. Videre endret jeg Opacity til 100% for å få den til å skille seg ut.
Jeg var i stand til å kontrollere verktøytipsene her. I dette eksemplet vil jeg overlate det til standardinnstillingen.
Under Utheving har jeg angitt forskjellige verdier for opasiteten til valgte elementer og opasiteten til umarkerte elementer .
Slik ser det ut når du velger én linje på kartet. Du kan se at de andre linjene fortsatt er synlige fordi opasiteten til den umarkerte er satt til 20 .
Ved å endre opasiteten til de uvalgte til 1 , vil de være helt usynlige.
Jeg har også aktivert alternativet Avslør under kart fordi jeg kanskje kan bruke det under visse omstendigheter.
Så har jeg aktivert Autozoom .
Det er også andre tilgjengelige innstillinger som jeg kan prøve og spille rundt.
Størrelsen på disse sirklene på kartet kan også endres. Under Data Map Objects endrer du bare Min. Størrelse for minimumsstørrelsen og maks. Størrelse for maksimal størrelse.
I dette eksemplet brukte jeg 20 for maksimal størrelse og 3 for minimumsstørrelse .
8. Legge til et verktøytips
Jeg har laget et enkelt verktøytips som ser slik ut.
Jeg kunne bruke det verktøytipset her. Under Type -alternativet valgte jeg verktøytips- alternativet som er navnet på verktøytipset jeg opprettet. Merk at dette Verktøytips- alternativet her er forskjellig fra Verktøytipsene som jeg tidligere nevnte.
Etter det, mens jeg holder musepekeren over kartet mitt, kan du se verktøytipset jeg opprettet.
Avhengig av kartet du lager, kan det hende at de andre innstillingene ikke er relevante. Som du kan se, kan innstillingene være overveldende, men de bidrar alle til et bedre kartutseende.
9. Utgangen
Nå har jeg et kart som kan vise flere lag. Jeg kan bytte mellom stasjonene som jeg kan vise som sirkler eller linjer.
Etter å ha fullført de foregående trinnene, er det nå mulig å legge til en tabell som gjenspeiler valgene du gjør i kartet.
I dette eksemplet kan jeg velge et punkt her, og det vil vise det punktet på kartet.
Jeg kan også bruke søkefunksjonen her. Hvis jeg for eksempel skriver 61 , vil den også vise disse punktene på kartet.
Til slutt kan jeg bare velge et element på kartet ved å klikke på det. Deretter vil den vises på bordet.
Det avslutter den første delen av denne velkjente tekstopplæringen .
Eksempel på LuckyTemplates-ikonkartscenario basert på leveringsruter
I dette andre eksemplet ser jeg på leveringsruter . Igjen er det meste av arbeidet gjort i. Måten jeg håndterte dataene i det første eksemplet på er ikke veldig forskjellig fra det jeg brukte i dette eksemplet. Men jeg har fortsatt helt andre data i dette eksemplet.
I dette andre eksemplet ønsker jeg å analysere rutene fra flere kjøretøy som er fra forskjellige depoter. Vis dem deretter som rette linjer som forbinder fra og til steder i hver leveringsrute.
Avhengig av hva som er tilgjengelig i dataene dine, kan du analysere utslippet per stopp , drivstofforbruket , stopptiden og mange flere. Dette eksemplet viser kun vekt og inntekt .
Et av mine nåværende prosjekter søker å beregne utslippene på tvers av flere typer kjøretøyruter og de forskjellige omstendighetene. Dette krevde et anbudssvar på transport.
1. Datasettet
Dataene jeg brukte stammet fra et transportstyringssystem. Det er ulike måter data kan bli tilgjengelige på. De kan være fra ulike typer transportstyringssystemer , fra et ruteoptimaliseringsprogram eller fra en brettdatamaskin .
I Power Query har jeg for øyeblikket fem spørringer. Først er en fargetabell for å kontrollere fargevisningen for rutene.
Jeg har også to spørringer som er duplikater av rutedataspørringen med en del av Power Query-datatransformasjonen. Jeg kalte dem WKT prep ( Velkjent tekstforberedelse ) og neste stopp ( Forberedelse for neste stopp ). Disse to brukes til å slå sammen den nødvendige informasjonen med hovedrutedataspørringen .
Det er noen måter å fullføre et av hovedkravene i dette tilfellet. Og det er å få navnet , breddegraden og lengdegraden til neste rad inn i forrige rad for å vise leveringssekvensen.
Neste er å vise avgående og ankommende depot i de riktige kolonnene.
Til slutt opprettet jeg en velkjent tekststreng .
Jeg brukte både indeksmetodene og sammenslåing med forskjøvede indekser null til én eller én til to for å justere postene. Jeg brukte også en tilpasset kolonneløsning der indeksnummeret pluss 1 vil returnere neste rad.
Dette kan føre til minneproblemer i større datasett.
Så det er å foretrekke å bruke metodikken for å slå sammen basert på indekskolonnen, da det er mye enklere.
Jeg har også rutedataspørringen . Dette vil bli lastet inn i modellen.
Depotspørsmålet inneholder informasjon om start- og endepunkt for hver rute . Jeg slo også sammen denne spørringen med rutedataspørringen .
Modellen og underliggende data vil være tilgjengelig for referanse. Jeg foreslår at du går gjennom de anvendte trinnene i ditt eget tempo fra å slå sammen Depot- søket for å få bredde- og lengdegrad. Fortsett deretter til trinnet for neste stopp sammenslåing for å legge til den velkjente teksten til dataene. Etter det kan du gå videre til å utføre trinnene for endelig opprydding.
Jeg lastet depoter , farger og rutedatatabeller . Jeg opprettet også en kobling i datamodellen.
Så jeg kan nå begynne med visualiseringen.
2. Ikon Kartvisualisering
Ikonkartet viser nå rutene. Den la også til relevante data i feltraden. Innstillingene i formateringsruten ligner på innstillingene i det første eksemplet som viser bensinstasjonene.
Jeg la til noen få mål for å beregne antall stopp i rutene, inntektene og vekten . Disse ble lagt i kortene.
Etter å ha lagt til en tabell og slicers for depot-ID og depotnavn , er det grunnleggende ruteanalysedashbordet fullført. Dette er nå dynamisk da jeg kan gjøre de valgene jeg vil ha, og resultatene vil vises deretter.
Konklusjon
Det er i utgangspunktet hvordan du bruker kjente tekststrenger i en LuckyTemplates-ikonkartvisual. I denne opplæringen kunne du lære hvordan du viser flere lag med WKT for strømningsdata som et gassnett eller kjøretøyruter i ikonkartet.
Husk at å legge til relevante og nødvendige datafelter også er avgjørende for å få analyserapporten til å fungere ordentlig.
Sjekk ut koblingene nedenfor for flere eksempler og relatert innhold.
Jubel!
Paul
I denne opplæringen lærer du hvordan du kobler funksjoner sammen ved å bruke dplyr-røroperatøren i programmeringsspråket R.
RANKX fra LuckyTemplates lar deg returnere rangeringen til et spesifikt tall i hver tabellrad som utgjør en del av en liste med tall.
Lær hvordan du demonterer en PBIX-fil for å trekke ut LuckyTemplates-temaer og bilder fra bakgrunnen og bruke den til å lage rapporten din!
Excel Formulas Cheat Sheet: Mellomveiledning
LuckyTemplates-kalendertabell: Hva er det og hvordan du bruker det
Lær hvordan du installerer programmeringsspråket Python i LuckyTemplates og hvordan du bruker verktøyene til å skrive koder og vise visuelle elementer.
Lær hvordan du beregner dynamiske fortjenestemarginer ved siden av LuckyTemplates og hvordan du kan få mer innsikt ved å grave dypere inn i resultatene.
Lær hvordan du sorterer feltene fra kolonner med utvidet datotabell på riktig måte. Dette er en god strategi å gjøre for vanskelige felt.
I denne artikkelen går jeg gjennom hvordan du kan finne de beste produktene dine per region ved å bruke DAX-beregninger i LuckyTemplates, inkludert TOPN- og CALCUATE-funksjonene.
Lær hvordan du bruker en søppeldimensjon for flagg med lav kardinalitet som du ønsker å inkludere i datamodellen din på en effektiv måte.