Del via


Opret beregningsgrupper

Beregningsgrupper kan markant reducere antallet af redundante målinger, du skal oprette, ved at lade dig definere Data Analysis Expressions (DAX)-formler som beregningselementer. Beregningselementer kan anvendes på eksisterende mål i din model. Du kan få flere oplysninger om beregningsgrupper i artiklen Beregningsgrupper .

Tilføj en ny beregningsgruppe i modelvisningen

I Power BI, når du redigerer en semantisk model, skal du navigere til Modelvisning og vælge Calculation group-knappen i båndet. Hvis du ikke allerede er i Modeloversigt, åbnes ruden Data i visningen Model .

Skærmbillede af knappen Beregningsgrupper på båndet.

Hvis egenskaben fraråder implicitte målinger er slået fra, bliver du bedt om at aktivere det i et dialogboksvindue for at aktivere oprettelsen af beregningsgruppen.

Skærmbillede af dialogboksvindue, hvor du bliver bedt om at aktivere implicitte målinger.

Der forekommer en implicit måling , når du i visningen Rapport bruger en datakolonne fra ruden Data direkte i visualiseringen. Det visuelle giver dig mulighed for at aggregere det som en SUM, AVERAGE, MIN, , MAX, eller en anden grundlæggende aggregering, som bliver et implicit mål. Når en beregningsgruppe tilføjes til en model, fraråder Power BI oprettelsen af implicitte mål ved ikke længere at vise summeringssymbolet ved siden af datakolonnerne i Datapanelet, og blokerer for at tilføje datakolonnerne direkte til visuals som værdier. Eksisterende implicitte målinger, der allerede er skabt i visuelle effekter, virker stadig. Egenskaben Fraråd implicitte målinger skal aktiveres, fordi beregningselementer ikke gælder for implicitte målinger. Beregningselementer gælder kun for målinger eller eksplicitte målinger.

Skærmbillede af rapportvisning og oprettelse af implicitte målinger.

En måling eller eksplicit måling forekommer, når du opretter en ny måling og definerer DAX-udtrykket for at aggregere en datakolonne. Eksplicitte målinger kan også have betinget logik og filtre og drage fuld fordel af, hvad du kan gøre med DAX. Selvstudium: Du kan få mere at vide om, hvordan du opretter dine egne målinger i Power BI Desktop.

Bemærk

Beregningsudtryk kan skrives til at ignorere et mål efter navn eller datatype i scenarier, hvor du har målinger, du ikke ønsker, at beregningselementet skal ændres.

Når du vælger Ja for at aktivere discourage implicit measures-egenskaben , tilføjes en beregningsgruppe, og du kan begynde at definere DAX-udtrykket for det første beregningselement i DAX-formellinjen. Dialogen vises ikke, hvis du allerede har slået til at afskrække implicitte foranstaltninger til.

SELECTEDMEASURE er en DAX-funktion, der fungerer som en pladsholder for målet i beregningselementudtrykket. Du kan få mere at vide om DAX-funktionen SELECTEDMEASURE i artiklen.

Skærmbillede af DAX-formellinjen og beregningsgruppen.

Tilføj en beregningsgruppe ved at bruge Power BI TMDL-visning

Du kan oprette en beregningsgruppe i Tabular Model Definition Language eller TMDL-visningen i Power BI Desktop. Rediger den semantiske model og brug dette TMDL-script.

createOrReplace

	table 'Calculation group'

		calculationGroup
			precedence: 1

			calculationItem 'Calculation item' = SELECTEDMEASURE()

		column 'Calculation group column'
			dataType: string
			summarizeBy: none
			sourceColumn: Name
			sortByColumn: Ordinal

			annotation SummarizationSetBy = Automatic

		column Ordinal
			dataType: int64
			formatString: 0
			summarizeBy: sum
			sourceColumn: Ordinal

			annotation SummarizationSetBy = Automatic

Eksempel på time intelligence

Der er et Time Intelligence-eksempel på en beregningsgruppe tilgængelig i artiklen Beregningsgrupper i Analysis Services-tabelmodeller , som vi kan bruge til at udfylde nogle beregningselementer. Eksemplet kan tilføjes til enhver model med en dato-tabel , eller du kan downloade Adventure Works DW 2020 PBIX fra DAX sample model - DAX.

Omdøb en beregningsgruppe

Hvis du vil omdøbe beregningsgruppen, skal du dobbeltklikke på den i ruden Data , eller du kan vælge den og bruge ruden Egenskaber .

Skærmbillede af, hvordan du omdøber en beregningsgruppe.

Omdøb en beregningsgruppekolonne

Hvis du vil omdøbe kolonnen for beregningsgruppen, skal du dobbeltklikke på den i ruden Data , eller du kan vælge den og bruge ruden Egenskaber . Den kolonne, du vælger, er den kolonne, du bruger på visuals eller i slicere til at anvende et specifikt beregningselement.

Skærmbillede af, hvordan du omdøber en beregningsgruppekolonne.

Omdøb et beregningselement

Det første beregningselement blev oprettet som SELECTEDMEASURE(), så det også kan omdøbes ved at dobbeltklikke eller bruge ruden Egenskaber .

Skærmbillede af, hvordan du omdøber et beregningselement.

Opret flere beregningselementer

For at oprette flere beregningselementer kan du bruge højreklik-kontekstmenuen i beregningselementet eller selve beregningsgruppen og vælge Nyt beregningselement, eller bruge Egenskaber-panelet i sektionen Beregningselementer .

Skærmbillede af, hvordan du opretter et nyt beregningselement.

Når alle Time Intelligence-beregningselementer er tilføjet, ser beregningsgruppen ud som følgende billede.

Skærmbillede af beregningsgruppen med alle tidsintelligens-beregningselementer.

Bemærk de røde trekantikoner, der angiver fejl. Fejlene er der, fordi daX-eksempeludtryk bruger tabellen Date med navnet DimDate, så jeg skal opdatere DAX-udtrykkene, så jeg i stedet bruger navnet Date . På følgende billede vises DAX-udtrykket før rettelsen.

Skærmbillede af forkert DAX-udtryk.

Når jeg foretager rettelsen til DAX-udtrykket, forsvinder fejlen.

Skærmbillede af korrigeret DAX-udtryk.

Når jeg foretager rettelserne for hver af fejlene i beregningselementerne, vises advarselsikonerne for den røde trekant ikke længere.

Skærmbillede af rettede DAX-udtryk i området beregningselementer.

Omarranger beregningselementer

Hvis du vil omarrangere beregningselementerne på den logiske måde, du foretrækker, kan du vælge afsnittet Beregningselementer i ruden Egenskaber eller højreklikke på genvejsmenuen for beregningselementet for at flytte det op eller ned på listen.

Skærmbillede af omarrangerer beregningselementer.

Føj en dynamisk formatstreng til et beregningselement

Beregningselementer bruger som standard den underliggende målingsformatering. Det kan i stedet være en god idé at vise YOY% som en procentdel. Det gør du ved at vælge yoy% -beregningselementet og derefter slå strengen Dynamisk format til i ruden egenskaber, som giver dig mulighed for at angive et DAX-udtryk for at oprette en formatstreng. I dette eksempel kræver det ingen betingede elementer, så blot #,##0,00 ændrer% formatet til en procentdel, når denne beregningsenhed anvendes, som vist i det følgende billede.

Skærmbillede af ændring af format for underliggende dataelementer.

Brug af beregningsgruppen i rapporter

Hvis du vil bruge din nye beregningsgruppe i en rapport, skal du gå til visningen Rapport , oprette en matrixvisualisering og tilføje følgende:

  1. Kolonnen Month fra tabellen Date til Rows
  2. Tidsberegning fra time intelligence-beregningsgruppen til kolonnerne
  3. Målingen Orders til Værdierne

Bemærk

Hvis målingsordenen ikke oprettes i modellen, kan du bruge en anden måling eller gå til båndet og vælge Ny måling for at oprette den med dette DAX-udtryk.

Orders = DISTINCTCOUNT('Sales Order'[Sales Order])

På følgende billede kan du se, hvordan du opretter en visualisering.

Skærmbillede af brug af beregningsgrupper i rapporter.

Beregningselementer i visualiseringen Kolonner i matrix viser målingen Ordrer grupperet efter hver af beregningselementerne. Du kan også anvende et individuelt beregningselement på flere målinger ved at føje kolonnen beregningsgruppe til etudsnitsvisual.

Skærmbillede af anvendelse af individuelle beregningselementer på flere målinger.

Brug af beregningselementet i målinger

Du kan oprette et nyt mål med et udtryk ved hjælp af et beregningselement på et bestemt mål.

For at oprette et mål [Orders YOY%] kan du bruge beregningselementet med BEREGNING.

Orders YOY% = 
    CALCULATE(
        [Orders],
        'Time Intelligence'[Time Calculation] = "YOY%"
    )

Angivelse af prioritet for beregningsgruppe

Endelig, hvis du tilføjer flere beregningsgrupper til modellen, kan du specificere rækkefølgen, hvori de gælder for et mål med prioritetsegenskaben. Du kan justere beregningsgruppens prioritet i egenskabspanelet for beregningsgrupper , som vist på det følgende billede.

Skærmbillede af angivelse af prioritet for beregningsgruppe.

Du kan få mere at vide om rangplacering af beregningsgrupper i artiklen Beregningsgrupper i Analysis Services-tabelmodeller .

Markeringsudtryk for beregningsgrupper

Du kan angive valgudtryk for beregningsgrupper for at få detaljeret kontrol over, hvad beregningsgruppen returnerer, hvis brugerne foretager flere, ugyldige eller ingen valg i beregningsgruppen. Se markeringsudtryk.

Overvejelser

Modelmålinger ændres til variant datatype

Så snart en beregningsgruppe tilføjes til en semantisk model, bruger Power BI-rapporter den variant datatype for alle mål. Hvis alle beregningsgrupper efterfølgende fjernes fra modellen, vender målene tilbage til deres oprindelige datatyper.

Den variant datatype kan få dynamiske formatstrenge til mål, der bruger et mål til genbrug, til at vise en fejl. Brug FORMAT DAX-funktionen til at tvinge variantmålingen til at blive genkendt som en strengdatatype igen.

FORMAT([Dynamic format string], "")

Alternativt kan du genbruge dit udtryk til dynamiske formatstrenge med en brugerdefineret DAX-funktion i stedet.

Visuel fejl, når en beregningsenhed anvender en matematisk operation på et ikke-numerisk mål

Ikke-numeriske mål bruges ofte til dynamiske titler i visuelle materialer og i dynamiske formatstrenge til mål. Fejlen Kan ikke konvertere værdien ... af typen Tekst til skrift Numerisk vises på visuelle påvirkninger. Beregningsobjektudtrykket kan undgå denne fejl ved at tilføje en kontrol for at se, om målet er numerisk, før den matematiske operation anvendes. Brug ISNUMERIC i beregningspunktet.

Calculation item safe = 
    IF ( 
        // Check the measure is numeric
        ISNUMERIC( SELECTEDMEASURE() ),
            SELECTEDMEASURE() * 2,
            // Don't apply the calculation on a non-numeric measure
            SELECTEDMEASURE()
        )

I følgende artikler beskrives mere om datamodeller, og DirectQuery beskrives også detaljeret.

DirectQuery-artikler: