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 bloggen skal vi diskutere CASE- setningen som du kan bruke til å håndtere flere logiske operasjoner. Vi vil også diskutere ISNULL SQL-funksjonen som lar deg returnere en erstatningsverdi i tilfelle det er uttrykk som har NULL- verdi.
CASE - setningen og ISNULL- funksjonen er svært nyttig i arbeid med koder som krever mange logiske operasjoner og for rask erstatning av enten faste eller spesifiserte verdier til et uttrykk.
CASE - setningen i SQL er som å bruke IF ELSE- setningen. Imidlertid ligner det mest sannsynlig på SWITCH -setningen som vi bruker i DAX . På den annen side er ISNULL- funksjonen for å erstatte en NULL- verdi med en bestemt verdi du vil bruke.
Innholdsfortegnelse
Bruke CASE-setningen i SQL
La oss anta at vi har kolonnene Produktnavn og Salgsbeløp .
Deretter ønsker vi å lage en ekstra kolonne med navnet Beskrivelse .
Vi ønsker også å legge til logiske utsagn som viser ' Billig ' hvis salgsbeløpet er mindre enn eller lik 5 , deretter ' Ikke så billig ' for mellom 6 og 100 . Hvis verdien er større enn hundre, vil den vise ' Dyrt '.
I dette eksemplet brukte vi SELECT- setningen for å velge kolonnen vi vil vise. Etter det har vi CASE -setningen som inneholder de logiske operasjonene vi nevnte tidligere.
Ved bruk av CASE -setningen brukes alltid WHEN- og THEN -setningene for å indikere de logiske operasjonene som vi ønsker å implementere i den valgte kolonnen. ELSE - setningen er for å angi en standardverdi hvis det logiske operasjonssettet ikke ble oppfylt.
På slutten av CASE -setningen har vi END AS og kolonnenavnet ved siden av. Dette vil opprette en ny kolonne kalt Beskrivelse med verdier basert på de logiske operasjonene som vi har lagt til i CASE -setningen.
Bruker ISNULL SQL-funksjonen
ISNULL - funksjonen er for å sjekke om det er noen NULL- verdier i en valgt kolonne og erstatte dem med en spesifisert verdi. La oss nå visualisere at vi har følgende kolonner med NULL -verdier.
I eksemplet ovenfor er alle NULL- verdiene erstattet med ' Ukjente' -verdier. Følgende kodelinjer brukes til å lage det eksemplet.
Når du bruker ISNULL SQL-funksjonen, bør du starte med å velge MiddleName- kolonnen ved å bruke SELECT- setningen.
Etter det bør du bruke ISNULL- funksjonen til å sjekke MiddleName- kolonnen som er spesifisert i parentesen og erstatte eventuell NULL- verdi i den med ' Ukjent' -verdien.
AS - funksjonen er for å lage en ny kolonne som i dette tilfellet er MiddleName_New .
Vær oppmerksom på at ISNULL- funksjonen kun vil erstatte NULL- verdier hvis en viss verdi ikke er lik NULL . Deretter vil den returnere samme verdi fra kolonnen som du har spesifisert i ISNULL -funksjonen.
Deretter bruker jeg CASE- setningen og ISNULL -funksjonene i SSMS for å se hvordan det faktisk fungerer.
CASE-uttalelse i SSMS
La oss begynne med å velge Fornavn- kolonnen fra Person.Person . Vær oppmerksom på at i dette eksemplet er det ikke nødvendig å velge en kolonne. Dette er bare for din referanse.
Etter å ha tatt opp denne kolonnen, la oss lage en kolonne som viser verdier om fornavnet er Kim eller ikke ved å bruke CASE -setningen. For å gjøre det, følg ganske enkelt eksemplet nedenfor.
I eksempelkoden ovenfor la vi til en betingelse ved bruk av CASE- setningen der hvis fornavnet er lik ' Kim ', vil det vise ' Ja ' og hvis ikke, vil det vise ' Nei ' i stedet.
For dette eksemplet opprettet jeg også en ny kolonne kalt ' IsKim ' ved å bruke AVSLUTT AS- funksjonen. Se eksempelet nedenfor for resultatet.
La oss nå ha et annet eksempel med CASE- setningen ved å bruke noen betingelser på TaxAmt- kolonnen fra Sales.SalesOrderHeader -tabellen.
Først, la oss ta med de 100 beste kolonnene fra Sales.SalesOrderHeader ved å bruke følgende kodelinje og se etter TaxAmt- kolonnen.
Etter det, la oss begynne å bruke vilkår for TaxAmt- kolonnen med CASE- setningen ved å bruke eksemplet nedenfor.
I likhet med forrige eksempel startet vi med å velge kolonnen som vi ønsker å bruke betingelsene våre på – i dette tilfellet er det TaxAmt- kolonnen.
Så i CASE- setningen la vi til betingelser der hvis TaxAmt er mindre enn eller lik 500, vil den vise verdien " Perfekt ". Hvis TaxAmt er mindre enn eller lik 2000 , vil verdien ' Ok ' vises.
I tillegg, hvis betingelsene ikke ble oppfylt, vil verdien ' Ikke bra ' vises. På slutten av uttalelsen opprettet jeg en ny kolonne kalt TaxClass .
Det er slik vi bruker CASE- setningen i SQL . Vær oppmerksom på at du kan stille inn så mange betingelser du vil. Bare sørg for å bruke WHEN- og THEN- setningene samt END AS- funksjonen for å generere en ny kolonne der resultatene vil vises.
ISNULL SQL-funksjon i SSMS
I dette eksemplet skal jeg bruke samme tabell fra forrige eksempel. Deretter skal jeg demonstrere hvordan du kan bruke denne funksjonen til å erstatte NULL- verdier under CurrencyRateID- kolonnen.
Etter å ha valgt tabellen fra eksemplet ovenfor, kan vi se NULL- verdiene under CurrencyRateID- kolonnen. Nå vil jeg erstatte disse NULL- verdiene med ' 1 '. For å gjøre dette, se eksemplet nedenfor.
For å endre NULL- verdiene i en spesifikk kolonne, må vi først velge kolonnen som har NULL-verdiene. I dette tilfellet er det CurrencyRateID . Deretter bruker vi ISNULL -funksjonen og velger kolonnen som vil bli sjekket av ISNULL -funksjonen, som er CurrencyRateID .
Vi må også deklarere erstatningsverdien vi ønsker å bruke - for dette eksemplet brukte jeg ' 1 '. Til slutt legger vi til AS- funksjonen for å lage en ny kolonne kalt NewRate .
Som et resultat ble alle NULL- verdiene erstattet med ' 1 ' under NewRate -kolonnen, og de som ikke hadde en NULL- verdi forble de samme. I tillegg kan du også endre en NULL- verdi med en kolonne. Du kan gjøre dette ved å følge eksemplet nedenfor.
Ved å bruke samme syntaks fra forrige eksempel, la vi nettopp til SalesOrderID ved siden av CurrencyRateID som vår referanse før ISNULL -funksjonen. Deretter endret vi erstatningsverdien med SalesOrderID . Denne uttalelsen vil ganske enkelt sjekke NULL- verdiene under CurrencyRateID og erstatte dem med verdiene fra SalesOrderID- kolonnen.
Konklusjon
Oppsummert har du lært hvordan du bruker CASE- setningen og ISNULL- funksjonen sammen med riktig syntaks i SQL . Du lærte også at du kan inkludere så mange logiske forhold i en CASE- setning du vil. Bare vær oppmerksom på at CASE -setningen ligner på SWITCH eller IF ELSE -setningen.
I tillegg til ISNULL- funksjonen, lærte du at det er forskjellige måter å erstatte en NULL- verdi ved å bruke denne funksjonen, som er ved å bruke en fast verdi eller en kolonne.
Beste ønsker,
Hafiz
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.