DAX Studio EVALUATE Nøkkelord: Grunnleggende eksempler
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
I denne opplæringen skal vi diskutere noen måter vi kan bruke eller utføre HAVING-klausulen i SQL-aggregatfunksjoner på . Å bruke denne klausulen i SQL-aggregatfunksjoner kan i stor grad hjelpe med dataoppsummering.
HAVING -klausul er nesten lik WHERE- setningen og kan også utføres sammen med den.
Vi vil diskutere deres sammenhenger og forskjeller ved å gi eksempler mens vi går gjennom denne opplæringen.
Innholdsfortegnelse
GROUP BY And WHERE-setninger i SQL
For vårt første eksempel skal vi diskutere hvordan du utfører og bruker eksempeltabellen nedenfor. Vær oppmerksom på at vi bare kan bruke WHERE- leddet med eksisterende kolonner og ikke i aggregerte funksjoner alene.
La oss si at vi ønsker å få et produkts totale salg basert på SaleAmount- kolonnen der verdien er større enn 2 . For å få resultatet, bør kommandoen vår være følgende:
Først velger vi ProductName og samler SaleAmount for å få TotalSales .
Deretter brukte vi WHERE- setningen her siden vi prøver å få bare produktene der SaleAmount er større enn 2. Kommandoen 'GROUP BY ProductName' indikerer at den vil gruppere rader under kolonnen ProductName til én.
Ved å utføre vårt sett med kommandoer, vil vi se at av alle dataene under kolonnene ProductName og SaleAmount , ble bare Bulb og Fan vist. Det er fordi de var de eneste som hadde et salgsbeløp som er større enn 2.
I dette eksemplet er WHERE- setningen for filtrering av resultater med en eksisterende kolonne, som er vår SaleAmount . Vær også oppmerksom på at WHERE -setningen vises foran GROUP BY og kan ikke brukes til å filtrere aggregerte funksjoner. På den annen side vises HAVING- leddet etter GROUP BY og brukes til filtrering basert på en aggregert funksjon.
GRUPPER ETTER OG HA Klausul i SQL
I dette eksemplet skal vi demonstrere forskjellen mellom WHERE- setningen og HAVING -klausulen. Vi bruker det samme målet som vi har i forrige eksempel, slik at vi kan sammenligne og evaluere resultatene.
La oss først vise produktene med deres totale salg ved å bruke kommandoen nedenfor. Som du kan se, er vår første kommando fortsatt den samme som vår første kommando som utfører WHERE- setningen.
Hvis vi skal utføre de to første kommandoene våre, får vi følgende resultat:
La oss nå si at vi bare ønsker å vise produkter hvis totale salg er mer enn 5. Vi kan ikke bruke WHERE- setningen siden den bare kan brukes med eksisterende kolonner. Derfor må vi bruke HAVING- klausulen siden vi skal filtrere fra en aggregert funksjon.
Legg merke til hvordan vi bruker HAVING- klausulen etter GROUP BY i motsetning til WHERE -setningen som brukes før GROUP BY. Dette er fordi SQL vil gruppere poster før den evaluerer HAVING- leddet.
La oss deretter utføre disse kommandoene sammen med HAVING SUM(SaleAmount)>5 . Etter å ha spesifisert at vi bare ønsker å få de produktene hvis totalpris er høyere enn 5, vil vi legge merke til at i vår nåværende resultattabell vil vi ikke se pennen lenger . Det er fordi totalen er mindre enn 5 .
Kort sagt, når vi ønsker å filtrere data fra tabellen vår basert på en eksisterende kolonne, bruker vi WHERE-leddet , mens når vi ønsker å filtrere data fra en aggregert funksjon, bruker vi HAVING-leddet .
HAVING And WHERE-klausul i SQL Server Management Studio (SSMS)
Nå skal vi gå videre ved å diskutere og demonstrere hvordan vi kan utføre HAVING-klausulen i (SSMS). Vi vil også takle forskjellen mellom HAVING-leddet og WHERE-leddet ved å gi eksempler.
Nedenfor vises vår eksempeldata SalesOrderHeader. Disse dataene består av 100 rader. For eksempelet vårt ønsker vi å få TotalSale etter kunde-ID der TotalSale er større enn 10000 . Merk at det totale salget er basert på summen av TotalDue- kolonneverdiene.
Først, la meg demonstrere hvorfor vi ikke kan bruke WHERE-leddet når vi ønsker å filtrere på en aggregert funksjon basert på eksemplet ovenfor.
Vi vil bruke eksempelsettet med kommandoer fra bildet nedenfor. Som du kan se, har vi teknisk sett det samme settet med kommandoer som det vi har fra vårt aller første eksempel.
Men når vi klikker på Utfør i øvre venstre hjørne, vil det resultere i en feil fordi vi ikke kan bruke WHERE -leddet alene når vi filtrerer på aggregatfunksjonen.
For å rette feilen må vi filtrere resultatet ved å bruke HAVING -leddet i stedet for WHERE -leddet. Vårt nye sett med kommandoer skal ligne på bildet nedenfor.
Nå kan vi se at vår feil er rettet og inneholder resultatene prmed et totalt salg større enn 10 000 .
Igjen, WHERE-leddet brukes alltid før GROUP BY-leddet , mens HAVING-leddet alltid brukes etter et GROUP BY-ledd .
Bruker både HAVING-klausul og WHERE-klausul i SQL
For dette eksemplet, la oss si at vi vil bruke WHERE og HAVING-leddet samtidig. La oss prøve å få TotalSale etter kunde-ID der TotalSale er større enn 10 000 , men bare med kunder der deres TerritoryID er lik 1 .
Siden vi ønsker å filtrere resultater med kunder som har 1 som TerritoryID , bruker vi WHERE-klausulen. Så vår kommando bør være den samme som vår forrige. Igjen, vi har lagt til en WHERE-klausul før GROUP BY-klausulen.
Foreløpig kan vi ikke se mye forskjell mellom vårt forrige resultat og dette nye. Men hvis du ser nøye på nedre høyre hjørne, har vi nå bare 64 rader sammenlignet med den forrige med 505 rader med data. Det er fordi resultatene er filtrert basert på deres territorium-ID også.
Konklusjon
For å oppsummere kan vi bare bruke WHERE- leddet med eksisterende kolonner. Hvis vi trenger å filtrere med aggregerte funksjoner, må vi bruke HAVING -leddet i stedet.
Å bruke HAVING -leddet i SQL-aggregatfunksjoner og øve på måter å utføre HAVING- leddet og WHERE -leddet sammen kan gi brukerne bekvemmelighet når de arbeider med et stort antall data eller poster.
Jeg håper jeg har gitt deg nok informasjon og forståelse for hvordan du bruker HAVING -klausulen i SQL-aggregatfunksjoner. Hvis du vil vite mer om dette emnet og annet relatert innhold, kan du absolutt sjekke listen over relevante lenker nedenfor.
Beste ønsker,
Hafiz
Lær å bruke DAX Studio EVALUATE nøkkelordet med grunnleggende eksempler og få en bedre forståelse av hvordan dette kan hjelpe deg med databehandling.
Finn ut hvorfor det er viktig å ha en dedikert datotabell i LuckyTemplates, og lær den raskeste og mest effektive måten å gjøre det på.
Denne korte opplæringen fremhever LuckyTemplates mobilrapporteringsfunksjon. Jeg skal vise deg hvordan du kan utvikle rapporter effektivt for mobil.
I denne LuckyTemplates-utstillingen vil vi gå gjennom rapporter som viser profesjonell tjenesteanalyse fra et firma som har flere kontrakter og kundeengasjementer.
Gå gjennom de viktigste oppdateringene for Power Apps og Power Automate og deres fordeler og implikasjoner for Microsoft Power Platform.
Oppdag noen vanlige SQL-funksjoner som vi kan bruke som streng, dato og noen avanserte funksjoner for å behandle eller manipulere data.
I denne opplæringen lærer du hvordan du lager din perfekte LuckyTemplates-mal som er konfigurert til dine behov og preferanser.
I denne bloggen vil vi demonstrere hvordan du legger feltparametere sammen med små multipler for å skape utrolig nyttig innsikt og grafikk.
I denne bloggen vil du lære hvordan du bruker LuckyTemplates rangering og tilpassede grupperingsfunksjoner for å segmentere et eksempeldata og rangere det i henhold til kriterier.
I denne opplæringen skal jeg dekke en spesifikk teknikk rundt hvordan du viser kumulativ total kun opp til en bestemt dato i grafikken i LuckyTemplates.