GROUPBY
Koskee seuraavia:Laskettu sarakeLaskettu taulukkoMeasureVisuaalinen laskutoimitus
Muistiinpano
Tätä funktiota ei suositella käytettäväksi visuaalisissa laskutoimituksissa, koska se todennäköisesti palauttaa merkityksettömiä tuloksia.
GROUPBY-funktio on samankaltainen kuin SUMMARIZE funktio. GROUPBY kuitenkin tekee not implisiittisen CALCULATE kaikille lisäämilleen laajennussarakkeille. GROUPBY sallii uuden CURRENTGROUP-funktion käytön koostamisfunktioiden sisällä lisäämissään laajennussarakkeissa. GROUPBY käytetään useiden koosteiden suorittamiseen yksittäisessä taulukon tarkistuksessa.
Syntaksi
GROUPBY (<table> [, <groupBy_columnName> [, <groupBy_columnName> [, …]]] [, <name>, <expression> [, <name>, <expression> [, …]]])
Parametrit
Termi | Määritelmä |
---|---|
table |
Mikä tahansa tietotaulukon palauttava DAX lauseke. |
groupBy_columnName |
Taulukon olemassa olevan sarakkeen nimi (orrelated taulukossa),), jonka mukaan tiedot ryhmitetään. Tämä parametri ei voi olla lauseke. |
name |
Uudelle sarakkeelle annettu nimi, joka lisätään GroupBy-sarakkeiden luetteloon lainausmerkeissä. |
expression |
Yksi X-koostefunktioista, jonka first-argumentti on CURRENTGROUP(). Katso alla olevasta CURRENTGROUP -osiosta täydellinen luettelo tuetuista X-koostefunktioista. |
Palauta value
Taulukko, jossa on valitut sarakkeet groupBy_columnName-argumenteille, and nimiargumenttien nimeämät laajennussarakkeet.
Huomautuksia
GROUPBY toimii seuraavasti:
Aloita määritetyllä taulukolla (andallrelated taulukot "yhteen"-suunnassa).
Luo ryhmittely käyttämällä GroupBy-sarakkeiden all (joita taulukossa täytyy olla vaiheesta 1 alkaen).
Jokainen ryhmä on tuloksessa yksi rivi, mutta edustaa rivijoukkoa alkuperäisessä taulukossa.
evaluate kullekin ryhmälle lisättävät laajennussarakkeet. toisin kuin SUMMARIZE-funktiossa, tässä not suoritetaan implisiittinen CALCULATE, and ryhmää ei sijoiteta filter kontekstiin.
Jokaisella sarakkeella, jolle define nimen, on oltava vastaava lauseke. muussa tapauksessa palautetaan error. first argumentti, nimi, määrittää sarakkeen nimen tuloksissa. second argumentti, lauseke, määrittää laskennan, joka suoritetaan value saamiseksi kullekin riville kyseisessä sarakkeessa.
groupBy_columnName
on oltava joko related taulukon or.Kukin nimi on kirjoitettava lainausmerkkeihin.
Funktio ryhmittelee valitun rivijoukon yhteenvetorivien joukoksi yhden or groupBy_columnName sarakkeen values mukaan. Kullekin ryhmälle palautetaan yksi rivi.
GROUPBY käytetään ensisijaisesti koostamiseen DAX taulukkolausekkeiden välituloksista. Mallin fyysisten taulukoiden tehokkaaseen koostamiseen kannattaa käyttää SUMMARIZECOLUMNSorSUMMARIZE funktiota.
Tätä funktiota not tueta DirectQuery-tilassa, kun sitä käytetään lasketuissa sarakkeissa or rivitason suojauksen (RLS) säännöissä.
CURRENTGROUP kanssa
CURRENTGROUP voidaan käyttää vain lausekkeessa, joka määrittää laajennussarakkeen GROUPBY-funktion sisällä. In-effect, CURRENTGROUP palauttaa joukon rivejä GROUPBY taulukkoargumentista, jotka kuuluvat GROUPBY tuloksen nykyiseen riviin. CURRENTGROUP-funktio ei saa argumentteja, and tuetaan vain first argumenttina yhteen seuraavista koostamisfunktioista: AVERAGEX, COUNTAX, COUNTX, GEOMEANX, MAXX, MINX, PRODUCTX, STDEVX.S, STDEVX.P, SUMX, VARX.S, VARX.P.
Esimerkki
Seuraavassa esimerkissä first laskee maan mukaan ryhmitellyn kokonaismyynnin andproduct fyysisille taulukoille käyttämällä SUMMARIZECOLUMNS-funktiota. Sen jälkeen se käyttää GROUPBY funktiota välituloksen skannaamiseen first vaiheesta, jotta se find kunkin maan maksimimyynnin product luokissa.
DEFINE
VAR SalesByCountryAndCategory =
SUMMARIZECOLUMNS(
Geography[Country],
Product[Category],
"Total Sales", SUMX(Sales, Sales[Price] * Sales[Qty])
)
EVALUATE
GROUPBY(
SalesByCountryAndCategory,
Geography[Country],
"Max Sales", MAXX(CURRENTGROUP(), [Total Sales])
)