Lägga till ett tids-i-tillstånd-mått i din Power BI-rapport
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Den tid ett arbetsobjekt tillbringar i ett visst arbetsflödestillstånd eller en serie tillstånd är en viktig aspekt för att förstå effektiviteten. Widgetarna Cycle Time och Lead Time Analytics innehåller några mått på tids-i-tillstånd. De här widgetarna kanske dock inte har den detaljnivå som du vill ha.
Den här artikeln innehåller recept som använder DAX (Data Analysis Expressions) för att utvärdera tid som används av arbetsobjekt i en kombination av tillstånd. Mer specifikt lär du dig att lägga till följande mått och beräknade kolumner i dina Power BI-rapporter och använda dem för att generera olika trenddiagram. Alla fält är beräknade kolumner utom den första som visas.
Antal | beskrivning |
---|---|
Antal arbetsobjekt (mått) | Beräknar antalet distinkta arbetsobjekt baserat på posten för den sista dagen för arbetsobjektet |
Sorteringsordning för tillstånd | Lägger till en kolumn som ska användas för att sortera arbetsflödestillstånd baserat på sekvensen Tillståndskategori |
Föregående datum | Lägger till en kolumn som beräknar föregående datum baserat på kolumnen Datum |
Datum-Diff i dagar | Lägger till en kolumn som beräknar antalet dagar mellan kolumnerna Datum och Datum föregående |
Är sista dagen i tillstånd | Lägger till en kolumn som avgör om datumvärdet är den sista dagen som arbetsobjektet var i ett tillstånd |
Tillståndstid i dagar | Lägger till en kolumn som beräknar antalet dagar som arbetsobjektet har spenderats i varje delstat |
Tillstånd föregående | Lägger till en kolumn som identifierar föregående tillstånd för varje rad i datatabellen |
Tillstånd har ändrats | Lägger till en kolumn som avgör datumet då ett arbetsobjekt övergick från ett tillstånd till ett annat |
Tillståndsflöde | Lägger till en kolumn som illustrerar tillståndsflödet när ett arbetsobjekt övergår från ett tillstånd till ett annat |
Antal tillståndsändringar | Lägger till en kolumn som beräknar antalet gånger ett arbetsobjekt har övergått från ett tillstånd till ett annat |
Antal tillståndsändringar – först slutfört | Lägger till en kolumn som avgör hur många gånger ett arbetsobjekt för första gången övergår till tillståndet Slutfört. Med andra ord, när den flyttas från något annat tillstånd till tillståndet Slutfört. |
Antal tillståndsändringar – senast föreslaget | Lägger till en kolumn som avgör om ett arbetsobjekt var i ett föreslaget tillstånd tidigare efter att det övergått till ett senare tillstånd |
Tillståndsomstartstid i dagar | Lägger till en kolumn som beräknar de dagar då ett arbetsobjekt tillbringades i ett omstartstillstånd |
Tid för omarbetning av tillstånd i dagar | Lägger till en kolumn som beräknar de dagar som ett arbetsobjekt spenderar i ett annat tillstånd än Slutfört |
Viktigt!
- När du lägger till en beräknad kolumn eller ett mått enligt exemplen som visas i den här artikeln ersätter du Vynamn med tabellnamnet för analysvyn eller datatabellen. Ersätt till exempel Visningsnamn med Aktiva buggar.
- Analys stöder inte intradagsrevisioner. De här exemplen har störst precision när du använder ett dagligt intervall när du refererar till en analysvy.
- Alla ändringar inom dagen eller inom en period (varje vecka/månad) ignoreras av beräkningarna. Detta kan resultera i oväntade resultat för specifika scenarier som ett arbetsobjekt som inte visar någon tid "Pågår" när ett arbetsobjekt är "pågår" under mindre än en dag.
- Power BI-standardaggregeringar används när det är möjligt i stället för att skapa mått.
- Vissa beräkningar inkluderar +0 för att säkerställa att ett numeriskt värde inkluderas för varje rad i stället för BLANK.
- Du kan behöva ändra några av de beräknade kolumndefinitionerna baserat på de arbetsflödestillstånd som används av projektet. Om projektet till exempel använder Ny, Aktiv och Stängd i stället för Föreslagen, Pågår och Slutförd.
- Den datumkolumn som avses i den här artikeln är inte en intern kolumn i Azure DevOps. Det är en härledd kolumn som skapats i PowerBI för att underlätta rapporten Tid i tillstånd . Du kan skapa den här kolumnen med hjälp av befintliga datumrelaterade kolumner, till exempel "Ändrat datum" eller "Tillstånd ändrat datum".
Förutsättningar
- Åtkomst: Vara medlem i ett projekt med minst grundläggande åtkomst.
- Behörigheter: Som standard har projektmedlemmar behörighet att fråga Analytics och skapa vyer.
- Mer information om andra förutsättningar för tjänst- och funktionsaktivering och allmänna dataspårningsaktiviteter finns i Behörigheter och krav för åtkomst till analys.
Kommentar
Om du vill använda alla tids-i-tillstånd-mått som beskrivs i den här artikeln måste du inkludera följande fält i analytics-vyerna, Power Query- eller OData-frågan: Skapad datum - och tillståndskategori utöver standardfälten: Områdessökväg, Tilldelad till, Iterationssökväg, Tillstånd, Rubrik, Arbetsobjekt-ID och Arbetsobjekttyp.
Överväg också att använda en analysvy baserat på en daglig kornighet. Exemplen i den här artikeln baseras på vyn Active Bugs Analytics som definierats i Skapa en rapport om aktiva buggar i Power BI baserat på en anpassad analysvy, med undantag för att 60 dagars historik och daglig kornighet har valts. Kontrollera även om du vill granska slutförda eller stängda arbetsobjekt.
Lägga till ett mått för antal arbetsobjekt
För att förenkla snabbgenerering av rapporter har vi utformat analysvyer för att fungera med standardaggregeringar i Power BI. För att illustrera skillnaden mellan en standardaggregering och ett mått börjar vi med ett enkelt mått för antal arbetsobjekt.
Läs in analysvyn i Power BI Desktop. Mer information finns i Ansluta med Power BI Data Connector, Anslut till en analysvy.
Välj datatabellen och välj sedan Nytt mått på fliken Tabellverktyg, avsnittet Beräkningar i menyfliksområdet.
Ersätt standardtexten med följande kod och markera sedan bockmarkeringen .
Work Items Count=CALCULATE(COUNTROWS ('View Name'),LASTDATE ('View Name'[Date]))
Måttet Antal arbetsobjekt använder funktionerna
CALCULATE
,COUNTROWS
ochLASTDATE
DAX som beskrivs mer detaljerat senare i den här artikeln.Kommentar
Kom ihåg att ersätta Vynamn med tabellnamnet för analysvyn. Här ersätter vi till exempel Visningsnamn med aktiva buggar.
Hur skiljer sig ett mått från en beräknad kolumn
Ett mått utvärderar alltid hela tabellen där en beräknad kolumn är specifik för en enskild rad. Mer information finns i Beräknade kolumner och mått i DAX.
Jämför måttet Antal arbetsobjekt med standardantalet aggregering baserat på arbetsobjektets ID. Följande bild skapas genom att du lägger till det visuella kortet och måttet Antal arbetsobjekt till det första kortet och egenskapen Arbetsobjekt-ID till det andra kortet.
Om du vill få rätt antal med hjälp av en standardaggregering använder du filtret Is Current är lika med "True". Det här mönstret för att tillämpa filter på en standardaggregering är grunden för många av exemplen i den här artikeln.
Lägg till tillståndssorteringsordning
Som standard visar Power BI tillstånd sorterade alfabetiskt i en visualisering. Det kan vara missvisande när du vill visualisera tiden i tillståndet och Föreslagna visas efter Pågående. Följande steg hjälper dig att lösa det här problemet.
Kontrollera att fältet Tillståndskategori ingår i analysvyn. Det här fältet ingår i alla delade standardvyer.
Välj datatabellen och välj sedan Ny kolumn på fliken Tabellverktyg, avsnittet Beräkningar i menyfliksområdet.
Ersätt standardtexten med följande kod och markera sedan bockmarkeringen .
State Sort Order = SWITCH ( 'View Name'[State Category], "Proposed", 1, "InProgress", 2, "Resolved", 3, 4 )
Se följande exempel:
Kommentar
Du kan behöva ändra definitionen om du behöver mer kornighet än vad som anges i tillståndskategorin . Tillståndskategori ger korrekt sortering mellan alla typer av arbetsobjekt oavsett eventuella tillståndsanpassningar .
Öppna datavyn och välj kolumnen Tillstånd.
På fliken Kolumnverktyg väljer du Sortera efter kolumn och sedan fältet Sorteringsordning för tillstånd.
Lägg till föregående datum
Nästa steg för att beräkna tid i tillstånd kräver mappning av föregående intervall (dag, vecka, månad) för varje datarad i datauppsättningen. Det är en enkel beräkning med hjälp av en beräknad kolumn. Normalt skulle du definiera den här kolumnen som du ser.
Date Previous =
PREVIOUSDAY ( 'View Name'[Date] )
Den här metoden har dock två huvudsakliga problem:
- Det fungerar bara för dagliga perioder.
- Den hanterar inte luckor i data. Om till exempel ett arbetsobjekt flyttas mellan projekt.
För att lösa dessa problem bör den beräknade kolumnen hitta föregående dag genom att skanna fältet Datum .
Om du vill lägga till kolumnen Tidigare beräknad från fliken Tabellverktyg väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen.
Date Previous =
CALCULATE (
MAX ( 'View Name'[Date] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] < EARLIER ( 'View Name'[Date] )
)
Den beräknade kolumnen Datum tidigare använder tre DAX-funktioner, MAX
, ALLEXCEPT
och , som EARLIER
beskrivs mer detaljerat senare i den här artikeln. Eftersom kolumnen beräknas körs den för varje rad i tabellen och varje gång den körs har den kontexten för den specifika raden.
Dricks
På snabbmenyn för fälten Datum och Föregående datum väljer du Datum (i stället för Datumhierarki) för att se ett enda datum för dessa fält.
Lägg till datum-Diff i dagar
Föregående datum beräknar skillnaden mellan föregående och aktuellt datum för varje rad. Med Datum-Diff i Dagar beräknar vi ett antal dagar mellan var och en av dessa perioder. För de flesta rader i en daglig ögonblicksbild är värdet lika med 1. Men för många arbetsobjekt som har luckor i datamängden är värdet större än 1.
Viktigt!
Kräver att du har lagt till kolumnen Datum tidigare beräknat i tabellen.
Det är viktigt att tänka på den första dagen i datamängden där Datum föregående är tomt. I det här exemplet ger vi den raden ett standardvärde på 1 för att hålla beräkningen konsekvent.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
Date Diff in Days =
IF (
ISBLANK ( 'View Name'[Date Previous] ),
1,
DATEDIFF (
'View Name'[Date Previous],
'View Name'[Date],
DAY
)
)
Den här beräknade kolumnen använder dax-funktionerna ISBLANK
och DATEDIFF
som beskrivs senare i den här artikeln.
Lägg till är sista dagen i tillstånd
I nästa steg beräknar vi om en viss rad representerar den sista dagen ett specifikt arbetsobjekt var i ett tillstånd. Den stöder standardaggregeringar i Power BI som vi lägger till i nästa avsnitt där vi lägger till kolumnen Tillståndstid i dagar .
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
Is Last Day in State =
ISBLANK (CALCULATE (
COUNTROWS ( 'View Name' ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] > EARLIER ( 'View Name'[Date] ),
'View Name'[State] = EARLIER ( 'View Name'[State] )
))
Lägg till tillståndstid i dagar
Den tid som ett arbetsobjekt har använts i ett visst tillstånd kan nu beräknas genom att summera datum-Diff i dagar för varje arbetsobjekt. Den här beräkningen omfattar all tid som tillbringas i ett visst tillstånd även om den växlade mellan tillstånd flera gånger. Det går att utvärdera varje rad som en trend med hjälp av Datum eller den senaste informationen med hjälp av Är sista dagen i tillstånd.
Viktigt!
Kräver att du har lagt till datum-Diff i dagar och är sista dagen i state beräknade kolumner i tabellen.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Time in Days =
CALCULATE (
SUM ( 'View Name'[Date Diff in Days] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
'View Name'[State] = EARLIER ( 'View Name'[State] )
) + 0
Skapa staplade kolumntrenddiagram baserat på tillståndstid i dagar
För att demonstrera kolumnen Tillståndstid i dagar skapas följande staplade kolumndiagram. Det första diagrammet visar antalet arbetsobjekt i varje tillstånd över tid.
Det andra diagrammet visar trenden för genomsnittliga dagar då de aktiva arbetsobjekten är i ett visst tillstånd.
Lägg till tillståndstid i dagar – senaste (är sista dagen i tillstånd)
När du utvärderar tid i tillstånd för varje arbetsobjekt i en tabell eller när det filtreras efter ett fält som Områdessökväg ska du inte använda kolumnen Tillståndstid i dagar i en aggregering. Aggregeringen använder värdet för varje dag som arbetsobjektet var i tillståndet. Om ett arbetsobjekt till exempel pågår på måndagen och flyttades till Slutfört på torsdag är tiden i tillståndet tre dagar, men summan av kolumnen Tillståndstid i dagar är sex dagar, 1+2+3
, vilket är felaktigt.
Lös problemet genom att använda tillståndstid i dagar och tillämpa filtret Is Last Day In State är lika med "True". Den eliminerar alla historiska data som krävs för en trend och fokuserar i stället på bara det senaste värdet för varje tillstånd.
Lägg till tillståndstid i dagar – pågår
I föregående exempel räknas tillståndstid i dagar för ett visst arbetsobjekt endast när arbetsobjektet var i det specifika tillståndet. Om målet är att ha tid i tillstånd för ett visst antal arbetsobjekt mot ett genomsnitt kontinuerligt måste du ändra beräkningen. Om vi till exempel vill spåra tillståndet "Pågår" lägger vi till kolumnen Tillståndstid i dagar – Pågår .
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Time in Days - In Progress =
CALCULATE (
SUM ( 'View Name'[Date Diff in Days] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER('View Name'[Date]),
'View Name'[State] = "In Progress"
) + 0
Kommentar
Du kan behöva ändra definitionen baserat på de arbetsflödestillstånd som används av projektet. Projektet som används i exemplen i den här artikeln använder till exempel arbetsflödestillståndet "Pågår", men agila processer, Scrum- och CMMI-processer använder vanligtvis tillstånden "Aktiv" eller "Engagerad" för att representera pågående arbete. En översikt finns i Arbetsflödestillstånd och tillståndskategorier.
Följande bild visar effekten av att överväga all tid i tillstånd för varje befintligt arbetsobjekt (visas till vänster) jämfört med endast de arbetsobjekten i ett visst tillstånd en viss dag (visas till höger).
Statustid i dagar trend för flera tillstånd
Det går också att analysera prestanda i flera tillstånd med hjälp av mönstret "Kontinuerlig". Den här metoden fungerar dock bara med ett trenddiagram.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Time in Days - Working States =
CALCULATE (
SUM ( 'View Name'[Date Diff in Days] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER('View Name'[Date]),
'View Name'[State] IN { "Committed", "In Progress" }
) + 0
Kommentar
Du kan behöva ändra definitionen baserat på de arbetsflödestillstånd som används av projektet. Om ditt projekt till exempel använder "Aktiv" i stället för "Committed" eller "Proposed".
Diagrammet till vänster visar kombinerat medelvärde medan den högra sidan visar varje enskilt tillstånd.
Hämta tillståndstid i dagar – senaste för flera tillstånd
Du använder kolumnen Tillståndstid i Dagar – Senaste beräknade kolumnen när du skapar en trend. Med ett filter för tillstånden ger kolumnen State Time in Days (Tillståndstid i dagar ) och Is Last Day in State (Sista dagen i tillstånd ) ett enkelt sätt att få den totala tiden för alla arbetsobjekt eller grupper av arbetsobjekt som spenderas i en uppsättning tillstånd.
Lägg till tillstånd föregående
Den beräknade kolumnen Datum tidigare kan också användas för att söka efter tidigare värden, till exempel tidigare tillstånd för varje arbetsobjekt.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Previous =
LOOKUPVALUE (
'View Name'[State],
'View Name'[Work Item Id], 'View Name'[Work Item Id],
'View Name'[Date], 'View Name'[Date Previous]
)
Den här beräknade kolumnen använder , LOOKUPVALUE
som beskrivs senare i den här artikeln.
Den första LOOKUPVALUE
parametern, 'View Name'[State]
, anger att värdet för [State] ska returneras.
Nästa parameter, 'View Name'[Work Item Id], 'View Name'[Work Item Id]
, anger att endast rader med matchande arbetsobjekt-ID som aktuell rad ska beaktas.
Och den sista parametern, 'View Name'[Date], 'View Name'[Date Previous]
, anger att datumet för raden som returneras måste ha ett [Datum] som matchar [föregående datum] för den aktuella raden. I en ögonblicksbild kan endast en rad uppfylla det här villkoret.
Lägg till tillstånd har ändrats
Med hjälp av kolumnen Tillstånd föregående kan vi flagga raderna för varje arbetsobjekt där en tillståndsövergång inträffade. Den beräknade kolumnen Stage Changed har två särskilda överväganden:
- Tomma värden för *State Previous, som vi anger till det skapade datumet för arbetsobjektet
- Skapandet av ett arbetsobjekt betraktas som en tillståndsövergång
Viktigt!
Kräver att du har lagt till kolumnen State Previous calculated i tabellen.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Changed =
IF (
ISBLANK ( 'View Name'[State Previous] ),
'View Name'[Created Date].[Date] = 'View Name'[Date],
'View Name'[State Previous] <> 'View Name'[State]
)
Den beräknade kolumnen är ett booleskt värde som identifierar om raden är en tillståndsövergång. Med operatorn Not Equal To
fångar du korrekt rader där det tidigare tillståndet inte matchar det aktuella tillståndet, vilket innebär att jämförelsen returnerar Sant som förväntat.
Lägg till tillståndsflöde
Med beräknade kolumnerna State Previous och State Changed kan du skapa en kolumn som illustrerar tillståndsflödet för ett visst arbetsobjekt. Det är valfritt att skapa den här kolumnen i den här artikeln.
Viktigt!
Kräver att du har lagt till de beräknade kolumnerna State Previous och State Changed i tabellen.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Flow =
IF([State Changed], [State Previous], [State]) & " => " & [State]
Lägg till antal tillståndsändringar
När vi går in i de mer komplicerade måtten måste vi ha en representation av det totala antalet tillståndsändringar för att jämföra raderna i en data för ett visst arbetsobjekt. Vi får representationen genom att lägga till en beräknad kolumn för antal tillståndsändringar .
Viktigt!
Kräver att du har lagt till kolumnen State Changed calculated i tabellen.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Change Count =
CALCULATE (
COUNTROWS ( 'View Name' ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
'View Name'[State Changed]
) + 0
Lägg till antal tillståndsändringar – senaste föreslagna och tillståndsomstartstid i dagar
Tillståndsomstartstid i dagar är en ganska komplex beräkning. Det första steget är att hitta den senaste gången ett arbetsobjekt var i ett föreslaget tillstånd. Lägg till kolumnen State Change Count – Senast föreslagen beräknad.
Kommentar
Du kan behöva ändra följande definitioner baserat på arbetsflödestillstånden som används av projektet. Om projektet till exempel använder "Nytt" i stället för "Föreslaget".
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Change Count - Last Proposed =
CALCULATE (
MAX ( 'View Name'[State Change Count] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
'View Name'[State] = "Proposed"
)
Titta sedan längre tillbaka till det förflutna och se om det fanns några aktiva tillstånd före det föreslagna tillståndet. Slutligen summerar du alla dagar då arbetsobjektet var i aktivt tillstånd före det senast föreslagna.
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Restart Time in Days =
CALCULATE (
SUM ( 'View Name'[Date Diff in Days] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] <= EARLIER ( 'View Name'[Date] ),
'View Name'[State Change Count] < EARLIER('View Name'[State Change Count - Last Proposed] ),
'View Name'[State] <"Proposed"
) + 0
Eftersom tillståndsomstartstiden i dagar uppdateras för varje rad med data kan du antingen skapa en trend för att utvärdera omarbetning över specifika sprintar eller undersöka omarbete för enskilda arbetsobjekt med hjälp av Is Current.
Lägg till tillståndsomarbetningstid i dagar
På samma sätt som tillståndsomstartstid i dagar söker tillståndsomarbetningstiden i Dagar för första gången ett arbetsobjekt befann sig i kategorin Slutfört tillstånd. Efter den tiden räknas varje dag ett arbetsobjekt i ett annat tillstånd än Slutfört som omarbetat.
Skapa kolumnen "Antal tillståndsändringar – första slutförda". Den här kolumnen spårar antalet gånger ett arbetsobjekt övergår till tillståndet Slutfört från något annat tillstånd.
State Change Count - First Completed = VAR CompletedState = "Completed" RETURN CALCULATE( COUNTROWS('YourTable'), FILTER( 'YourTable', 'YourTable'[State] = CompletedState && 'YourTable'[State Change Date] = MIN('YourTable'[State Change Date]) ) )
På fliken Modellering väljer du Ny kolumn och ersätter sedan standardtexten med följande kod och markerar bockmarkeringen .
State Rework Time in Days = IF ( ISBLANK ( 'View Name'[State Change Count - First Completed] ), 0, CALCULATE ( SUM ( 'View Name'[Date Diff in Days] ), ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ), 'View Name'[Date] <= EARLIER ( 'View Name'[Date] ), 'View Name'[State Change Count] <= EARLIER ( 'View Name'[State Change Count - First Completed] ), 'View Name'[State] IN {"Completed", "Closed", "Cut" } = FALSE() ) + 0 )
Kommentar
Du kan behöva ändra den tidigare definitionen baserat på de arbetsflödestillstånd som används av projektet. Om ditt projekt till exempel använder Klar i stället för Stängd och så vidare.
DAX-funktioner
Ytterligare information finns i det här avsnittet för DE DAX-funktioner som används för att skapa beräknade kolumner och mått som läggs till i den här artikeln. Se även DAX- och Tidsinformationsfunktioner.
Function | beskrivning |
---|---|
ALLEXCEPT |
Tar bort alla kontextfilter i tabellen förutom filter som tillämpas på de angivna kolumnerna. ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) I princip minskar raderna i tabellen till endast de som delar samma arbetsobjekts-ID som den aktuella raden. |
CALCULATE |
Den här funktionen är grunden för nästan alla exempel. Den grundläggande strukturen är ett uttryck följt av en serie filter som tillämpas på uttrycket. |
COUNTROWS |
Den här funktionen, COUNTROWS ( 'View Name' ) , räknar helt enkelt antalet rader som finns kvar när filtren har tillämpats. |
DATEDIFF |
Returnerar antalet intervallgränser som korsas mellan två datum. DATEDIFF subtraherar datum föregående från datum för att fastställa antalet dagar mellan dem. |
EARLIER |
Returnerar det aktuella värdet för den angivna kolumnen i ett yttre utvärderingspass för den nämnda kolumnen. Till exempel 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) minskar datauppsättningen ytterligare till endast de rader som inträffat före datumet för den aktuella raden som refereras med hjälp EARLIER av funktionen. EARLIER refererar inte till tidigare datum. den definierar specifikt radkontexten för den beräknade kolumnen. |
ISBLANK |
Kontrollerar om ett värde är tomt och returnerar TRUE eller FALSE. ISBLANK utvärderar den aktuella raden för att avgöra om Föregående datum har ett värde. Om den inte gör det anger If-instruktionen Datum-Diff i Dagar till 1. |
LASTDATE |
Vi tillämpar filtret på LASTDATE ett uttryck, till exempel LASTDATE ( 'View Name'[Date] ) , för att hitta det senaste datumet för alla rader i tabellen och eliminera de rader som inte delar samma datum. När ögonblicksbildstabellen genereras av en analysvy väljer det här filtret effektivt den sista dagen i den valda perioden. |
LOOKUPVALUE |
Returnerar värdet i result_columnName för raden som uppfyller alla villkor som anges av search_columnName och search_value. |
MAX |
Returnerar det största numeriska värdet i en kolumn eller mellan två skalära uttryck. Vi tillämpar MAX ( 'View Name'[Date] ) , för att fastställa det senaste datumet när alla filter har tillämpats. |