Del via


Uttrykksomfang for totaler, aggregater og innebygde samlinger i en paginert rapport (Power BI Report Builder)

GJELDER FOR: Power BI Report Builder Power BI Desktop

Når du skriver uttrykk, vil du oppdage at termomfanget brukes i flere kontekster i paginerte rapporter. Omfang kan angi dataene som skal brukes til å evaluere et uttrykk, settet med tekstbokser på en gjengitt side, settet med rapportelementer som kan vises eller skjules basert på en veksleknapp. Du vil se termomfanget i emner som er relatert til uttrykksevaluering, mengdefunksjonssyntaks, betinget synlighet og også i feilmeldinger relatert til disse områdene. Bruk følgende beskrivelser til å skille mellom hvilken betydning omfanget gjelder:

  • Dataomfang dataomfang er et hierarki av omfang som rapportbehandleren bruker når den kombinerer rapportdata og rapportoppsett, og bygger ut dataområder som tabeller og diagrammer som dataene skal vises på. Ved å forstå dataomfang kan du få resultatene du ønsker når du gjør følgende:

    • Skriv uttrykk som bruker mengdefunksjoner Angi hvilke data som skal aggregeres. Plasseringen av uttrykket i rapporten påvirker hvilke data som er i omfang for aggregerte beregninger.

    • Legg til sparkline-grafikk i en tabell eller matrise Angi et minimums- og maksimumsområde for diagramakser for å justere nestede forekomster i en tabell eller matrise.

    • Legg til indikatorer i en tabell eller matrise Angi en minimums- og maksimumsskala for måleren for å justere nestede forekomster i en tabell eller matrise.

    • Skriv sorteringsuttrykk Angi et område som inneholder et område som du kan bruke til å synkronisere sorteringsrekkefølge blant flere relaterte rapportelementer.

  • Celleomfang Celleomfang er settet med rad- og kolonnegrupper i et tablix-dataområde som en celle tilhører. Som standard inneholder hver tablix-celle en tekstboks. Verdien i tekstboksen er uttrykket. Plasseringen av cellen bestemmer indirekte hvilke dataomfang du kan angi for aggregerte beregninger i uttrykket.

  • Rapportelementomfang for rapportområde refererer til samlingen av elementer på en gjengitt rapportside. Rapportbehandleren kombinerer data- og rapportoppsettelementer for å produsere en kompilert rapportdefinisjon. Under denne prosessen utvides dataområder som tabeller og matriser etter behov for å vise alle rapportdataene. Den kompilerte rapporten behandles deretter av en rapportgjengivelse. Rapportgjengivelsen bestemmer hvilke rapportelementer som vises på hver side. På en rapportserver gjengis hver side etter hvert som du viser den. Når du eksporterer en rapport, gjengis alle sider. Med forståelse av rapportelementomfang får du resultatene du ønsker når du gjør følgende:

    • Legg til veksleelementer Angi en tekstboks for å legge til veksleknappen som styrer synligheten til et rapportelement. Du kan bare legge til en veksleknapp i tekstbokser som er i omfanget av rapportelementet du vil veksle mellom.

    • Skriv uttrykk i topptekster og bunntekster for side Angi verdier i uttrykk i tekstbokser eller andre rapportelementer som vises på den gjengitte siden.

Med forståelse av omfang kan du skrive uttrykk som gir deg resultatene du ønsker.

Forstå dataomfang og datahierarki

Dataomfang angir et sett med rapportdata. Dataomfang har et naturlig hierarki med en iboende innesedelsesrelasjon. Omfang høyere i hierarkiet inneholder omfang som er lavere i hierarkiet. Følgende liste over dataomfang beskriver hierarkiet i rekkefølge fra de fleste data til minst data:

  • Datasett, etter at datasettfiltre er brukt Angir rapportdatasettet som er koblet til dataområdet eller til et rapportelement i rapportteksten. Dataene som brukes til aggregasjon, er fra rapportdatasettet etter at filteruttrykk for datasett er brukt. For delte datasett betyr dette både filtrene i den delte datasettdefinisjonen og filtrene i den delte datasettforekomsten i rapporten.

  • Dataområder Angir data fra dataområdet etter at du har brukt et dataområdefilter og sorteringsuttrykk. Gruppefiltre brukes ikke ved beregning av aggregater for dataområder.

  • Dataområdegrupper etter at gruppefiltre er brukt Angir dataene etter at gruppeuttrykkene og gruppefiltrene brukes for den overordnede gruppen og underordnede grupper. For en tabell er dette rad- og kolonnegruppene. For et diagram er dette serie- og kategorigruppene. Når det gjelder identifisering av omfangsdeservering, inneholder alle overordnede grupper de underordnede gruppene.

  • Nestede dataområder Angir dataene for det nestede dataområdet i konteksten til cellen den er lagt til i, og etter at det nestede dataområdefilteret og sorteringsuttrykkene er brukt.

  • Rad- og kolonnegrupper for de nestede dataområdene Angir dataene etter at de nestede gruppeuttrykkene for dataområdet og gruppefiltrene er brukt.

Det er viktig å forstå at du inneholder og inneholder omfang når du skriver uttrykk som inneholder mengdefunksjoner.

Celleomfang og uttrykk

Når du angir et omfang, angir du for rapportbehandleren hvilke data som skal brukes for en aggregert beregning. Avhengig av uttrykket og plasseringen av uttrykket, kan gyldige omfang være et område som inneholder, også kalt overordnede omfang, eller et inneholdt omfang, også kjent som underordnede eller nestede omfang. Generelt sett kan du ikke angi en individuell gruppeforekomst i en aggregeringsberegning. Du kan angi et aggregat på tvers av alle gruppeforekomster.

Når rapportbehandleren kombinerer data fra et rapportdatasett med tablix-dataområdet, evalueres gruppeuttrykkene og oppretter radene og kolonnene som er nødvendige for å representere gruppeforekomstene. Verdien av uttrykk i en tekstboks i hver tablixcelle evalueres i konteksten til celleomfanget. Avhengig av tablix-strukturen kan en celle tilhøre flere radgrupper og kolonnegrupper. For mengdefunksjoner kan du angi hvilket omfang som skal brukes ved hjelp av ett av følgende omfang:

  • Standardomfang Dataene som er i omfang for beregninger når rapportbehandleren evaluerer et uttrykk. Standardomfanget er det innerste settet med grupper som cellen eller datapunktet tilhører. For et tablix-dataområde kan settet inneholde rad- og kolonnegrupper. For et diagramdataområde kan settet inneholde kategori- og seriegrupper.

  • Navngitt omfang Navnet på et datasett, et dataområde eller en dataområdegruppe som er i omfang for uttrykket. For aggregeringsberegninger kan du angi et område som inneholder. Du kan ikke angi et navngitt omfang for både en radgruppe og en kolonnegruppe i ett enkelt uttrykk. Du kan ikke angi et inneholdt omfang med mindre uttrykket er for et aggregat av et aggregat.

    Følgende uttrykk genererer intervallårene mellom SellStartDate og LastReceiptDate. Disse feltene er i to forskjellige datasett, DataSet1 og DataSet2. Den første funksjonen (Report Builder), som er en mengdefunksjon, returnerer den første verdien av SellStartDate i DataSet1 og den første verdien av LastReceiptDate i DataSet2.

    =DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))
    
  • Domeneomfang også kalt synkroniseringsomfang. En type dataomfang som gjelder for uttrykksevaluering for nestede dataområder. Domeneomfang brukes til å angi aggregater på tvers av alle forekomster av en gruppe, slik at nestede forekomster kan justeres og enkelt sammenlignes. Du kan for eksempel justere området og høyden for sparkline-grafikk som er innebygd i en tabell, slik at verdiene justeres.

Noen steder i en rapport må du angi et omfang. For en tekstboks på utformingsoverflaten må du for eksempel angi navnet på datasettet som skal brukes: =Max(Fields!Sales.Value,"Dataset1"). Andre steder finnes det et implisitt standardomfang. Hvis du for eksempel ikke angir et aggregat for en tekstboks i et gruppeomfang, brukes standard mengde Først.

Hvert mengdefunksjonsemne viser omfangene som er gyldige for bruken. Hvis du vil ha mer informasjon, kan du se Referanse for mengdefunksjoner (Power BI Report Builder).

Eksempel på mengdeuttrykk for et tabelldataområde

Hvis du vil skrive uttrykk som angir omfang som ikke er standard, tar det litt øvelse. Bruk følgende figur og tabell for å hjelpe deg med å forstå ulike omfang. Figuren merker hver celle i en salgsinformasjonstabell som viser antall solgte varer etter år og kvartal og også etter salgsdistrikt. Legg merke til de visuelle indikatorene på radhåndtakene og kolonnehåndtakene som viser rad- og kolonnegruppestrukturen, som angir nestede grupper. Tabellen har følgende struktur:

  • En tabelloverskrift som inneholder hjørnecellen og tre rader som inkluderer kolonnegruppeoverskriftene.

  • To nestede radgrupper basert på kategorien Cat og underkategori kalt SubCat.

  • To nestede kolonnegrupper basert på år med navnet År og kvartal kalt Kv.

  • Én kolonne med statiske totalsummer merket Totaler.

  • Én tilstøtende kolonnegruppe basert på salgsdistrikt med navnet Distrikt.

Kolonneoverskriften for distriktsgruppen er delt inn i to celler for visningsformål. Den første cellen viser distriktsnavnet og totalsummene, og den andre cellen har plassholdertekst som beregnet prosentdelen for hvert distrikt til alle salg.

Skjermbilde som viser eksempelaggregerte uttrykk for et tabelldataområde.

Anta at datasettet heter DataSet1, og at tabellen heter Tablix1. Tabellen nedenfor viser celleetiketten, standardomfang og eksempler. Verdiene for plassholdertekst vises i uttrykkssyntaks.

Celle Standardomfang Plassholderetiketter Tekst- eller plassholderverdier
C01 Tablix1 [Sum(Antall)] Aggregater og omfang

=Sum(Fields!Qty.Value)
C02 Ytre kolonnegruppe "År" [År]

([YearQty])
=Fields!Year.Value

=Sum(Fields!Qty.Value)
C03 Tablix1 [Sum(Antall)] Totalt

=Sum(Fields!Qty.Value)
C04 Nodekolonnegruppe "Distrikt" ([Total]) Territory

=Sum(Fields!Qty.Value)
C05 Indre gruppe "Qtr" [Qtr]

([QtrQty])
K

=Fields!Qtr.Value

=Sum(Fields!Qty.Value)
C06 Nodekolonnegruppe "Distrikt" [Distrikt]

([Tty])

[Pct]
=Fields!Territory.Value

=Sum(Fields!Qty.Value)

=FormatPercent(Sum(Fields!Qty.Value,"Territory")/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C07 Ytre radgruppe «Katt» [Katt]

[Sum(Antall)]
=Fields!Cat.Value

=Sum(Fields!Qty.Value)
C08 Samme som C07
C09 Ytre radgruppe «Katt» og indre kolonnegruppe «Qtr» [Sum(Antall)] =Sum(Fields!Qty.Value)
C10 Samme som C07 <<Uttr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C11 Ytre radgruppe «Katt» og kolonnegruppe «Distrikt» <<Uttr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Territory"),0) & " of " & Sum(Fields!Qty.Value,"Territory")
C12 Indre radgruppe "Subcat" [Subcat]

[Sum(Antall)]
=Fields!SubCat.Value

=Sum(Fields!Qty.Value)
C13 Indre radgruppe "Subcat" og indre kolonnegruppe "Qtr" [Sum(Antall)] =Sum(Fields!Qty.Value)
C14 Indre radgruppe "Subcat" <<Uttr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Cat"),0) & " of " & Sum(Fields!Qty.Value,"Cat")
C15 Indre radgruppe Subcat og kolonnegruppen Distrikt <<Uttr>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Code.CalcPercentage(Sum(Fields!Qty.Value),Sum(Fields!Qty.Value,"Cat")),0) & " of " & Sum(Fields!Qty.Value,"Cat")

Hvis du vil ha mer informasjon om disse emnene:

Synkroniser skalaer for sparkline-grafikk

Hvis du vil sammenligne verdier over tid på den vannrette aksen for et sparkline-diagram som er nestet i en tabell eller matrise, kan du synkronisere kategorigruppeverdiene. Dette kalles justering av akser. Ved å velge alternativet for å justere akser angir rapporten automatisk minimums- og maksimumsverdier for en akse, og gir plassholdere for aggregerte verdier som ikke finnes i hver kategori. Dette fører til at verdiene i sparkline-grafikken blir linjebundet på tvers av hver kategori og lar deg sammenligne verdier for hver rad med aggregerte data. Ved å velge dette alternativet endrer du omfanget av uttrykksevalueringen til domeneomfanget. Hvis du angir domeneomfanget for et nestet diagram, kontrolleres også fargetilordningen indirekte for hver kategori i forklaringen.

Anta for eksempel at én by hadde salgsdata i 3 måneder i en sparkline som viser ukentlige trender, og at en annen by hadde salgsdata i 12 måneder. Uten synkroniserte skalaer ville sparkline for første by bare ha 3 barer, og de ville være mye bredere og oppta samme plass som 12 måneders sett med barer for den andre byen.

Hvis du vil ha mer informasjon, kan du se Justere dataene i et diagram i en tabell eller matrise (Power BI Report Builder).

Synkroniser områder for indikatorer

Hvis du vil angi dataverdiene som skal brukes for et sett med indikatorer, må du angi et omfang. Avhengig av oppsettet for dataområdet som inneholder indikatoren, angir du et omfang eller et område som inneholder. I en overskriftsrad for en gruppe som er knyttet til kategorisalg, kan et sett med piler (opp, ned, sidelengs) angi salgsverdier i forhold til en terskel. Det inneholdende omfanget er navnet på tabellen eller matrisen som inneholder indikatorene.

Hvis du vil ha mer informasjon, kan du se Angi synkroniseringsomfang (Power BI Report Builder).

Angi omfang fra toppteksten eller bunnteksten på siden

Hvis du vil vise data som er forskjellige på hver side i en rapport, legger du til uttrykk i et rapportelement som må være på den gjengitte siden. Fordi en rapport er delt inn i sider mens den gjengis, kan den bare under gjengivelse bestemmes hvilke elementer som finnes på en side. En celle i en detaljrad har for eksempel en tekstboks som har mange forekomster på en side.

For dette formålet er det en global samling kalt ReportItems. Dette er settet med tekstbokser på gjeldende side.

Hvis du vil ha mer informasjon, kan du se Sideoverskrifter og bunntekster (Power BI Report Builder) og ReportItems Collection References (Power BI Report Builder).

Angi et veksleelement for neddrilling og betinget synlighet

Veksleobjekter er pluss- eller minustegnbilder som legges til i en tekstboks, og som en bruker kan velge for å vise eller skjule andre rapportelementer. På synlighetssiden for de fleste rapportelementegenskapene kan du angi hvilket rapportelement du vil legge til veksleknappen til. Veksleelementet må være i et høyere innesvarende område enn elementet for å vise eller skjule.

Hvis du vil opprette en neddrillingseffekt i et tablix-dataområde der du velger en tekstboks for å utvide tabellen for å vise flere data, må du angi synlighetsegenskapen for gruppen og velge som veksleknappen i en gruppeoverskrift som er knyttet til en gruppe.

Hvis du vil ha mer informasjon, kan du se Legge til en utvid eller skjule handling i et element (Power BI Report Builder).

Angi et sorteringsuttrykk for å synkronisere sorteringsrekkefølge

Når du legger til en interaktiv sorteringsknapp i en tabellkolonne, kan du synkronisere sortering for flere elementer som har et felles område. Du kan for eksempel legge til en sorteringsknapp i en kolonneoverskrift i en matrise, og angi omfanget som navnet på datasettet som er bundet til matrisen. Når en bruker velger sorteringsknappen, sorteres ikke bare matriseradene, men også diagramseriegruppene med diagrammer som er bundet til samme datasett, sorteres. På denne måten kan alle dataområder som er avhengige av datasettet, synkroniseres for å vise samme sorteringsrekkefølge.

Hvis du vil ha mer informasjon, kan du se Filter, Group og Sorter data (Power BI Report Builder).

Undertrykke nullverdier eller nullverdier i en celle

For mange rapporter kan beregninger som er begrenset til grupper, opprette mange celler som har nullverdier (0) eller nullverdier. Hvis du vil redusere rot i rapporten, legger du til et uttrykk for å returnere tomme verdier hvis aggregeringsverdien er 0. Hvis du vil ha mer informasjon, kan du se Eksempler som undertrykker nullverdier eller nullverdier i uttrykkseksempler (Power BI Report Builder).

Neste trinn