Dela via


Uttrycksomfång för summor, aggregeringar och inbyggda samlingar i en sidnumrerad rapport (Power BI Report Builder)

GÄLLER FÖR: Power BI Report Builder Power BI Desktop

När du skriver uttryck ser du att termens omfång används i flera kontexter i sidnumrerade rapporter. Omfång kan ange vilka data som ska användas för att utvärdera ett uttryck, uppsättningen med textrutor på en renderad sida, uppsättningen rapportobjekt som kan visas eller döljas baserat på en växlingsknapp. Du ser termen omfång i ämnen som relaterar till uttrycksutvärdering, aggregerad funktionssyntax, villkorsstyrd synlighet och även i felmeddelanden som är relaterade till dessa områden. Använd följande beskrivningar för att särskilja vilken innebörd av omfånget som gäller:

  • Dataomfång Dataomfång är en hierarki med omfång som rapportprocessorn använder när den kombinerar rapportdata och rapportlayout och bygger ut dataområden som tabeller och diagram som data ska visas på. Att förstå dataomfång hjälper dig att få de resultat du vill ha när du gör följande:

    • Skriv uttryck som använder mängdfunktioner Ange vilka data som ska aggregeras. Platsen för uttrycket i rapporten påverkar vilka data som finns i omfånget för aggregerade beräkningar.

    • Lägg till miniatyrdiagram i en tabell eller matris Ange ett minsta och högsta intervall för diagramaxlar för att justera kapslade instanser i en tabell eller matris.

    • Lägg till indikatorer i en tabell eller matris Ange en minsta och högsta skala för mätaren för att justera kapslade instanser i en tabell eller matris.

    • Skriv sorteringsuttryck Ange ett innehållande omfång som du kan använda för att synkronisera sorteringsordningen mellan flera relaterade rapportobjekt.

  • Cellomfång Cellomfång är uppsättningen med rad- och kolumngrupper i en tablix-dataregion som en cell tillhör. Som standard innehåller varje tablix-cell en textruta. Värdet för textrutan är uttrycket. Cellens plats avgör indirekt vilka dataomfattningar du kan ange för aggregerade beräkningar i uttrycket.

  • Rapportobjektomfång Rapportobjektomfång refererar till samlingen med objekt på en renderad rapportsida. Rapportprocessorn kombinerar data- och rapportlayoutelement för att skapa en kompilerad rapportdefinition. Under den här processen expanderar dataregioner som tabeller och matriser efter behov för att visa alla rapportdata. Den kompilerade rapporten bearbetas sedan av en rapportåtergivning. Rapportåtergivningen avgör vilka rapportobjekt som visas på varje sida. På en rapportserver återges varje sida när du visar den. När du exporterar en rapport återges alla sidor. Om du förstår rapportobjektets omfattning kan du få de resultat du vill ha när du gör följande:

    • Lägg till växla objekt Ange en textruta för att lägga till växlingsknappen som styr synligheten för ett rapportobjekt. Du kan bara lägga till en växlingsknapp till textrutor som finns i omfånget för det rapportobjekt som du vill växla.

    • Skriva uttryck i sidhuvuden och sidfötter Ange värden i uttryck i textrutor eller andra rapportobjekt som visas på den renderade sidan.

Att förstå omfång hjälper dig att skriva uttryck som ger dig de resultat du vill ha.

Förstå dataomfång och datahierarki

Dataomfånget anger en uppsättning rapportdata. Dataomfånget har en naturlig hierarki med en inbyggd inneslutningsrelation. Omfång som är högre i hierarkin innehåller omfång som är lägre i hierarkin. I följande lista över dataomfattningar beskrivs hierarkin i ordning från de flesta data till minst data:

  • Datauppsättningar, efter att datauppsättningsfilter har tillämpats Anger rapportdatauppsättningen som är länkad till dataregionen eller till ett rapportobjekt i rapporttexten. De data som används för aggregering kommer från rapportdatauppsättningen när datamängdens filteruttryck har tillämpats. För delade datauppsättningar innebär det både filtren i definitionen för den delade datamängden och filtren i den delade datamängdsinstansen i rapporten.

  • Dataregioner Anger data från dataregionen när du har tillämpat ett dataområdesfilter och sorteringsuttryck. Gruppfilter används inte vid beräkning av aggregeringar för dataregioner.

  • Dataområdesgrupper, efter att gruppfilter har tillämpats Anger data när grupputtrycken och gruppfiltren har tillämpats för den överordnade gruppen och underordnade grupper. För en tabell är detta rad- och kolumngrupperna. För ett diagram är det här serien och kategorigrupperna. För att identifiera omfångs inneslutning innehåller varje överordnad grupp dess underordnade grupper.

  • Kapslade dataområden Anger data för den kapslade dataregionen i kontexten för cellen som den har lagts till i och efter att det kapslade dataområdesfiltret och sorteringsuttrycken har tillämpats.

  • Rad- och kolumngrupper för de kapslade dataregionerna Anger data när grupputtrycken för kapslade dataområden och gruppfilter har tillämpats.

Det är viktigt att förstå innehållande och inneslutna omfång när du skriver uttryck som innehåller aggregerade funktioner.

Cellomfång och uttryck

När du anger ett omfång anger du för rapportprocessorn vilka data som ska användas för en aggregeringsberäkning. Beroende på uttryckets uttryck och plats kan giltiga omfång vara ett innehållande omfång, även kallat överordnade omfång, eller ett inneslutet omfång, även kallat underordnade eller kapslade omfång. I allmänhet kan du inte ange en enskild gruppinstans i en aggregeringsberäkning. Du kan ange en aggregering för alla gruppinstanser.

När rapportprocessorn kombinerar data från en rapportdatauppsättning med tablix-dataområdet utvärderas grupputtryck och de rader och kolumner som behövs för att representera gruppinstanserna skapas. Värdet för uttryck i en textruta i varje tablix-cell utvärderas i kontexten för cellomfånget. Beroende på tablix-strukturen kan en cell tillhöra flera radgrupper och kolumngrupper. För mängdfunktioner kan du ange vilket omfång som ska användas med något av följande omfång:

  • Standardomfång De data som finns i omfånget för beräkningar när rapportprocessorn utvärderar ett uttryck. Standardomfånget är den innersta uppsättningen grupper som cellen eller datapunkten tillhör. För en tablix-dataregion kan uppsättningen innehålla rad- och kolumngrupper. För en diagramdataregion kan uppsättningen innehålla kategori- och seriegrupper.

  • Namngivet omfång Namnet på en datauppsättning, en dataregion eller en dataregiongrupp som finns i omfånget för uttrycket. För aggregerade beräkningar kan du ange ett innehållande omfång. Du kan inte ange ett namngivet omfång för både en radgrupp och en kolumngrupp i ett enda uttryck. Du kan inte ange ett inneslutet omfång om inte uttrycket är för en aggregering av en aggregering.

    Följande uttryck genererar intervallåren mellan SellStartDate och LastReceiptDate. Dessa fält finns i två olika datauppsättningar, DataSet1 och DataSet2. Den första funktionen (Report Builder), som är en aggregeringsfunktion, returnerar det första värdet för SellStartDate i DataSet1 och det första värdet för LastReceiptDate i DataSet2.

    =DATEDIFF("yyyy", First(Fields!SellStartDate.Value, "DataSet1"), First(Fields!LastReceiptDate.Value, "DataSet2"))
    
  • Domänomfång Kallas även synkroniseringsomfång. En typ av dataomfång som gäller för uttrycksutvärdering för kapslade dataregioner. Domänomfång används för att ange aggregeringar för alla instanser av en grupp så att kapslade instanser kan justeras och jämföras enkelt. Du kan till exempel justera intervallet och höjden för miniatyrdiagram inbäddade i en tabell så att värdena radas upp.

På vissa platser i en rapport måste du ange ett omfång. För en textruta på designytan måste du till exempel ange namnet på datauppsättningen som ska användas: =Max(Fields!Sales.Value,"Dataset1"). På andra platser finns det ett implicit standardomfång. Om du till exempel inte anger en aggregering för en textruta i ett gruppomfång används standardaggregatet First.

Varje samlingsfunktionsavsnitt visar de omfång som är giltiga för dess användning. Mer information finns i Aggregate Functions Reference (Power BI Report Builder).

Exempel på aggregerade uttryck för en tabelldataregion

För att skriva uttryck som anger omfång som inte är standard krävs viss praxis. Använd följande bild och tabell för att förstå olika omfång. Figuren etiketterar varje cell i en försäljningsinformationstabell som visar antalet artiklar som säljs per år och kvartal och även efter försäljningsområde. Observera de visuella tipsen på radhandtagen och kolumnhandtagen som visar rad- och kolumngruppsstrukturen, vilket anger kapslade grupper. Tabellen har följande struktur:

  • En tabellrubrik som innehåller hörncellen och tre rader som innehåller kolumngruppsrubrikerna.

  • Två kapslade radgrupper baserat på kategori med namnet Cat och underkategori med namnet SubCat.

  • Två kapslade kolumngrupper baserat på året med namnet År och kvartal med namnet Qtr.

  • En kolumn med statiska summor med etiketten Summor.

  • En intilliggande kolumngrupp baserad på försäljningsområde med namnet Område.

Kolumnrubriken för områdesgruppen har delats upp i två celler i visningssyfte. Den första cellen visar områdesnamnet och summorna, och den andra cellen har platshållartext som beräknade procentandelen bidrag för varje område till all försäljning.

Skärmbild som visar exempel på aggregerade uttryck för en tabelldataregion.

Anta att datauppsättningen heter DataSet1 och att tabellen heter Tablix1. I följande tabell visas celletiketten, standardomfånget och exemplen. Värdena för platshållartext visas med i uttryckssyntax.

Cell Standardomfång Platshållaretiketter Text- eller platshållarvärden
C01 Tablix1 [Sum(Qty)] Aggregeringar och omfång

=Sum(Fields!Qty.Value)
C02 Yttre kolumngrupp "År" [År]

([YearQty])
=Fields!Year.Value

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

=Sum(Fields!Qty.Value)
C04 Peer-kolumngrupp "Område" ([Totalt]) Territory

=Sum(Fields!Qty.Value)
C05 Inre grupp "Qtr" [Qtr]

([QtrQty])
K

=Fields!Qtr.Value

=Sum(Fields!Qty.Value)
C06 Peer-kolumngrupp "Område" [Område]

([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 Yttre radgrupp "Cat" [Katt]

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

=Sum(Fields!Qty.Value)
C08 Samma som C07
C09 Yttre radgruppen "Cat" och den inre kolumngruppen "Qtr" [Sum(Qty)] =Sum(Fields!Qty.Value)
K10 Samma som C07 <<Uttryck>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Tablix1"),0) & " of " & Sum(Fields!Qty.Value,"Tablix1")
C11 Yttre radgruppen "Cat" och kolumngruppen "Territory" <<Uttryck>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Territory"),0) & " of " & Sum(Fields!Qty.Value,"Territory")
C12 Inre radgrupp "Underkategori" [Underkategori]

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

=Sum(Fields!Qty.Value)
C13 Den inre radgruppen "Subcat" och den inre kolumngruppen "Qtr" [Sum(Qty)] =Sum(Fields!Qty.Value)
C14 Inre radgrupp "Underkategori" <<Uttryck>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Sum(Fields!Qty.Value)/Sum(Fields!Qty.Value,"Cat"),0) & " of " & Sum(Fields!Qty.Value,"Cat")
C15 Inre radgrupp "Underkategori" och kolumngrupp "Område" <<Uttryck>> =Sum(Fields!Qty.Value) & ": " & FormatPercent(Code.CalcPercentage(Sum(Fields!Qty.Value),Sum(Fields!Qty.Value,"Cat")),0) & " of " & Sum(Fields!Qty.Value,"Cat")

Mer information om dessa ämnen finns i:

Synkronisera skalor för miniatyrdiagram

Om du vill jämföra värden över tid på den vågräta axeln för ett miniatyrdiagram som är kapslat i en tabell eller matris kan du synkronisera kategorigruppsvärdena. Detta kallas för justering av axlar. Genom att välja alternativet för att justera axlar anger rapporten automatiskt lägsta och högsta värden för en axel och tillhandahåller platshållare för aggregerade värden som inte finns i varje kategori. Detta gör att värdena i miniatyrdiagrammet radas upp i varje kategori och gör att du kan jämföra värden för varje rad med aggregerade data. Genom att välja det här alternativet ändrar du omfånget för uttrycksutvärderingen till domänomfånget. Om du anger domänomfånget för ett kapslat diagram styrs också indirekt färgtilldelningen för varje kategori i förklaringen.

Anta till exempel i ett miniatyrdiagram som visar veckotrender att en stad hade försäljningsdata i 3 månader och en annan stad hade försäljningsdata i 12 månader. Utan synkroniserade skalor skulle miniatyrdiagram för den första staden bara ha 3 staplar och de skulle vara mycket bredare och uppta samma utrymme som 12-månadersuppsättningen med staplar för den andra staden.

Mer information finns i Justera data i ett diagram i en tabell eller matris (Power BI Report Builder).

Synkronisera intervall för indikatorer

Om du vill ange de datavärden som ska användas för en uppsättning indikatorer måste du ange ett omfång. Beroende på layouten för den dataregion som innehåller indikatorn anger du ett omfång eller ett innehållande omfång. I en grupprubrikrad som är associerad med kategoriförsäljning kan till exempel en uppsättning pilar (uppåt, nedåt, åt sidan) ange försäljningsvärden i förhållande till ett tröskelvärde. Det innehållande omfånget är namnet på tabellen eller matrisen som innehåller indikatorerna.

Mer information finns i Ange synkroniseringsomfång (Power BI Report Builder).

Ange omfång från sidhuvud eller sidfot

Om du vill visa data som är olika på varje sida i en rapport lägger du till uttryck i ett rapportobjekt som måste finnas på den renderade sidan. Eftersom en rapport delas upp i sidor medan den återges kan den bara under återgivningen avgöra vilka objekt som finns på en sida. En cell i en detaljrad har till exempel en textruta som har många instanser på en sida.

För detta ändamål finns det en global samling med namnet ReportItems. Det här är uppsättningen med textrutor på den aktuella sidan.

Mer information finns i Sidhuvuden och sidfötter (Power BI Report Builder) och ReportItems Collection References (Power BI Report Builder).

Ange ett växlingsobjekt för ökad detaljnivå och villkorsstyrd synlighet

Reglage är plus- eller minusteckenbilder som läggs till i en textruta och som en användare kan välja för att visa eller dölja andra rapportobjekt. På sidan Synlighet för de flesta rapportobjektegenskaper kan du ange vilket rapportobjekt du vill lägga till växlingsknappen till. Växlingsobjektet måste ha ett högre inneslutningsomfång än det objekt som ska visas eller döljas.

Om du vill skapa en detaljvisningseffekt i en tablix-dataregion där du väljer en textruta för att expandera tabellen för att visa mer data, måste du ange egenskapen Synlighet i gruppen och välja som växlingsknapp för en textruta i ett grupphuvud som är associerat med en innehållande grupp.

Mer information finns i Lägga till en expandera eller dölj åtgärd i ett objekt (Power BI Report Builder).

Ange ett sorteringsuttryck för att synkronisera sorteringsordning

När du lägger till en interaktiv sorteringsknapp i en tabellkolumn kan du synkronisera sortering för flera objekt som har ett gemensamt innehållande omfång. Du kan till exempel lägga till en sorteringsknapp i en kolumnrubrik i en matris och ange det innehållande omfånget som namnet på den datauppsättning som är bunden till matrisen. När en användare väljer sorteringsknappen sorteras inte bara matrisraderna, utan även diagramseriegrupperna med diagram som är bundna till samma datauppsättning sorteras. På så sätt kan alla dataregioner som är beroende av datauppsättningen synkroniseras för att visa samma sorteringsordning.

Mer information finns i Filtrera, Gruppera och Sortera data (Power BI Report Builder).

Ignorera null- eller nollvärden i en cell

För många rapporter kan beräkningar som är begränsade till grupper skapa många celler som har noll (0) eller null-värden. Om du vill minska oredan i rapporten lägger du till ett uttryck för att returnera tomma värden om aggregeringsvärdet är 0. Mer information finns i "Exempel som utelämnar null- eller nollvärden" i Uttrycksexempel (Power BI Report Builder).

Nästa steg