Állapotalapú mérték hozzáadása a Power BI-jelentéshez
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
A hatékonyság megértéséhez fontos szempont, hogy egy munkaelem mennyi időt tölt egy adott munkafolyamat-állapotban vagy állapotsorozatban. A ciklusidő és az átfutási idő elemzési vezérlői bizonyos mértékeket biztosítanak az állapotban töltött időről. Előfordulhat azonban, hogy ezek a widgetek nem rendelkeznek a kívánt részletességgel.
Ez a cikk adatelemzési kifejezéseket (DAX) használó recepteket tartalmaz a munkaelemek által az állapotok kombinációjában töltött idő kiértékeléséhez. Megtudhatja, hogyan adhat hozzá a következő mértékeket és számított oszlopokat a Power BI-jelentésekhez, és hogyan hozhat létre különböző trenddiagramokat. Minden mező számított oszlop, kivéve az elsőt.
Count | Leírás |
---|---|
Munkaelemek száma (mérték) | Az egyes munkaelemek számát számítja ki a munkaelem utolsó napi bejegyzése alapján |
Állapotrendezés sorrendje | Hozzáad egy oszlopot a munkafolyamat-állapotok állapotának rendezéséhez az állapotkategória-sorozat alapján |
Előző dátum | Hozzáad egy oszlopot, amely kiszámítja az előző dátumot a Dátum oszlop alapján |
Dátum diff napokban | Olyan oszlopot ad hozzá, amely kiszámítja a dátum és az előző dátum oszlop közötti napok számát |
Az utolsó nap állapotban van | Olyan oszlopot ad hozzá, amely meghatározza, hogy a Dátum érték az utolsó nap, amikor a munkaelem állapotban volt |
Állapotidő napokban | Hozzáad egy oszlopot, amely kiszámítja az egyes állapotokban töltött munkanapok számát |
Előző állapot | Olyan oszlopot ad hozzá, amely az adattábla minden egyes sorához azonosítja az előző állapotot |
Módosult állapot | Hozzáad egy oszlopot, amely meghatározza azt a dátumot, amikor egy munkaelem áttért egyik állapotról a másikra |
Állapotfolyamat | Olyan oszlop hozzáadása, amely az állapotfolyamatot szemlélteti munkaelem-áttűnésként az egyik állapotról a másikra |
Állapotváltozások száma | Olyan oszlopot ad hozzá, amely kiszámítja, hogy egy munkaelem hányszor vált át egyik állapotról a másikra |
Állapotváltozások száma – Első kész | Hozzáad egy oszlopot, amely meghatározza, hogy egy munkaelem hányszor vált át első alkalommal a Kész állapotra. Más szavakkal, amikor az bármely más állapotból a Kész állapotba kerül. |
Állapotváltozások száma – Legutóbb javasolt | Olyan oszlopot ad hozzá, amely meghatározza, hogy egy munkaelem korábban javasolt állapotban volt-e, miután egy későbbi állapotra váltott |
Állapot újraindítási ideje napokban | Hozzáad egy oszlopot, amely kiszámítja azokat a napokat, amikor egy munkaelem újraindítási állapotban van |
Állapot-átdolgozás időpontja napokban | Olyan oszlopot ad hozzá, amely kiszámítja azokat a napokat, amelyeket egy munkaelem nem befejezett állapotban tölt |
Fontos
- Ha számított oszlopot vagy mértéket ad hozzá a cikkben bemutatott példákhoz, cserélje le a Nézet nevét az Analytics-nézet vagy adattábla táblanevére. Cserélje le például a nézet nevét aktív hibákra.
- Az Elemzés nem támogatja a napközi változatokat. Ezek a példák a legpontosabban használják a Napi időközt egy Elemzési nézetre való hivatkozáskor.
- A számítások figyelmen kívül hagyják az összes napon belüli vagy időszakon belüli (heti/havi) változatot. Ez olyan konkrét forgatókönyvek váratlan eredményeit eredményezheti, mint például egy munkaelem, amely nem jelenít meg "Folyamatban" időt, ha egy munkaelem egy napnál rövidebb ideig "Folyamatban" állapotban van.
- A Power BI alapértelmezett összesítéseit a rendszer a mértékek létrehozása helyett mindig használja, amikor csak lehetséges.
- Egyes számítások a +0 értéket is tartalmazzák annak érdekében, hogy a BLANK helyett minden sorhoz számérték legyen belefoglalva.
- Előfordulhat, hogy felül kell vizsgálnia néhány számított oszlopdefiníciót a projekt által használt munkafolyamat-állapotok alapján. Ha például a projekt a Javasolt, Folyamatban és Befejezett helyett Új, Aktív és Zárt elemet használ.
- A cikkben említett Dátum oszlop nem natív oszlop az Azure DevOpsban; Ez egy származtatott oszlop, amelyet a PowerBI-ban hoztak létre a Time in State jelentés megkönnyítése érdekében. Ezt az oszlopot a meglévő dátummal kapcsolatos oszlopok, például a "Módosított dátum" vagy az "Állapotváltozás dátuma" használatával hozhatja létre.
Előfeltételek
- Hozzáférés: Legyen legalább alapszintű hozzáféréssel rendelkező projekt tagja.
- Engedélyek: Alapértelmezés szerint a projekttagok jogosultak az Analytics lekérdezésére és nézetek létrehozására.
- A szolgáltatás- és szolgáltatás-engedélyezéssel, valamint az általános adatkövetési tevékenységekkel kapcsolatos egyéb előfeltételekről további információt az Analytics eléréséhez szükséges engedélyek és előfeltételek című témakörben talál.
Feljegyzés
Az ebben a cikkben ismertetett összes állapotbeli mérték gyakorlásához mindenképpen vegye fel a következő mezőket az Analytics-nézetekbe, a Power Querybe vagy az OData-lekérdezésbe: Létrehozás dátuma és állapota kategória az alapértelmezett mezők mellett: Terület elérési útja, Hozzárendelt, Iterációs útvonal, Állapot, Cím, Munkaelem azonosítója és Munkaelem típusa.
Érdemes lehet a Napi részletesség alapján elemzési nézetet is használni. A cikkben szereplő példák az Active Bugs Analytics nézeten alapulnak, amelyet a Power BI-ban egy egyéni elemzési nézet alapján az aktív hibák jelentésében definiált, azzal a kivétellel, hogy 60 napnyi előzmény és napi részletesség van kiválasztva. Állapítsa meg azt is, hogy a befejezett vagy lezárt munkaelemeket szeretné-e áttekinteni.
Munkaelemek száma mérték hozzáadása
A jelentések gyors létrehozása érdekében úgy alakítottuk ki az Analytics-nézeteket, hogy a Power BI alapértelmezett összesítéseivel működjenek. Az alapértelmezett összesítés és a mérték közötti különbség szemléltetéséhez egy egyszerű munkaelemszám-mértékkel kezdjük.
Töltse be az Analytics-nézetet a Power BI Desktopba. További információ: Csatlakozás Power BI-adatösszekötővel, Csatlakozás elemzési nézethez.
Jelölje ki az adattáblát, majd a menüszalag Táblázateszközök lapJának Számítások szakaszában válassza az Új mérték lehetőséget.
Cserélje le az alapértelmezett szöveget a következő kódra, majd jelölje ki a pipát.
Work Items Count=CALCULATE(COUNTROWS ('View Name'),LASTDATE ('View Name'[Date]))
A Munkaelemek száma mérték a
CALCULATE
cikk későbbi részében részletesebben ismertetett ,COUNTROWS
ésLASTDATE
DAX-függvényeket használja.Feljegyzés
Ne felejtse el lecserélni a Nézet nevét az Elemzés nézet táblanevére. Itt például a nézetnevet aktív hibákra cseréljük.
Miben különbözik egy mérték a számított oszloptól?
A mértékek mindig a teljes táblázatot értékelik ki, ahol egy számított oszlop egy adott sorra vonatkozik. További információ: Számított oszlopok és mértékek a DAX-ban.
Hasonlítsa össze a Munkaelemek száma mértéket a munkaelem azonosítója alapján alapértelmezett darabszám-összesítéssel. A következő kép úgy jön létre, hogy hozzáadja a Kártyavizualizációt és a Munkaelemszám mértéket az első kártyához, a Munkaelem azonosítója tulajdonságot pedig a második kártyához.
Ha alapértelmezett összesítéssel szeretné lekérni a megfelelő darabszámot, alkalmazza az Aktuális aktuális érték "Igaz" értéket. Ez a minta a szűrők alapértelmezett összesítésre való alkalmazásának mintája az ebben a cikkben ismertetett számos példa alapja.
Állapotrendezés hozzáadása
A Power BI alapértelmezés szerint betűrendbe rendezve jeleníti meg az állapotokat egy vizualizációban. Félrevezető lehet, ha állapotban szeretné megjeleníteni az időt, és a Javasolt megjelenik a Folyamatban állapot után. Az alábbi lépések segítenek a probléma megoldásában.
Ellenőrizze, hogy az Állapotkategória mező szerepel-e az Elemzés nézetben. Ez a mező az összes alapértelmezett megosztott nézetben szerepel.
Jelölje ki az adattáblát, majd a menüszalag Táblázateszközök lapJának Számítások szakaszában válassza az Új oszlop lehetőséget.
Cserélje le az alapértelmezett szöveget a következő kódra, majd jelölje ki a pipát.
State Sort Order = SWITCH ( 'View Name'[State Category], "Proposed", 1, "InProgress", 2, "Resolved", 3, 4 )
Lásd a következő példát:
Feljegyzés
Előfordulhat, hogy felül kell vizsgálnia a definíciót, ha az állapotkategória által biztosítottnál részletesebbre van szüksége. Az állapotkategória minden munkaelem-típushoz megfelelő rendezést biztosít az állapot testreszabásától függetlenül.
Nyissa meg az Adatnézetet , és válassza ki az Állapot oszlopot.
Az Oszlopeszközök lapon válassza a Rendezés oszlop szerint lehetőséget, majd válassza az Állapotrendezés sorrendje mezőt.
Előző dátum hozzáadása
Az állapoton belüli idő kiszámításának következő lépéséhez az adathalmaz minden adatsorához meg kell adni az előző időközt (nap, hét, hónap). Ez egy egyszerű számítás számított oszlop használatával. Ezt az oszlopot általában az ábrán látható módon definiálja.
Date Previous =
PREVIOUSDAY ( 'View Name'[Date] )
Ennek a megközelítésnek azonban két fő problémája van:
- Csak napi időszakokban működik.
- Nem kezeli az adatokban lévő réseket. Ha például egy munkaelemet áthelyeznek a projektek között.
A problémák megoldásához a számított oszlopnak meg kell keresnie az előző napot a Dátum mező beolvasásával.
A Dátum előző számított oszlop hozzáadásához a Táblázateszközök lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget a következő kódra, és jelölje be a pipát.
Date Previous =
CALCULATE (
MAX ( 'View Name'[Date] ),
ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
'View Name'[Date] < EARLIER ( 'View Name'[Date] )
)
Az Előző dátum számított oszlop három DAX-függvényt használ, MAX
ALLEXCEPT
és EARLIER
a cikk későbbi részében részletesebben ismertetjük. Mivel az oszlop ki van számítva, a tábla minden sorához fut, és minden futtatáskor az adott sor környezetével rendelkezik.
Tipp.
A Dátum és az Előző dátum mező helyi menüjében a Dátum (dátumhierarchia helyett) lehetőséget választva egyetlen dátumot jeleníthet meg ezekhez a mezőkhöz.
Dátumdiffiff hozzáadása napokban
Az Előző dátum az egyes sorok előző és aktuális dátuma közötti különbséget számítja ki. A Date Diff in Days függvénnyel kiszámítjuk az egyes időszakok közötti napok számát. A napi pillanatkép legtöbb sorában az érték 1. Sok olyan munkaelem esetében azonban, amelyekben rések vannak az adathalmazban, az érték nagyobb, mint 1.
Fontos
Ehhez hozzá kell adnia az Előző dátum számított oszlopot a táblához.
Fontos figyelembe venni az adathalmaz első napját, ahol az Előző dátum üres. Ebben a példában 1-et adunk a sornak, hogy a számítás konzisztens maradjon.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
Date Diff in Days =
IF (
ISBLANK ( 'View Name'[Date Previous] ),
1,
DATEDIFF (
'View Name'[Date Previous],
'View Name'[Date],
DAY
)
)
Ez a számított oszlop a ISBLANK
DATEDIFF
jelen cikk későbbi részében ismertetett DAX-függvényeket használja.
Az utolsó nap hozzáadása állapotban
Ebben a következő lépésben kiszámítjuk, hogy egy adott sor azt az utolsó napot jelöli-e, amikor egy adott munkaelem állapotban volt. Támogatja az alapértelmezett összesítéseket a Power BI-ban, amit a következő szakaszban adunk hozzá az Állapotidő a Napok oszlopban.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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] )
))
Állapotidő hozzáadása napokban
A munkaelem adott állapotban töltött ideje mostantól kiszámítható az egyes munkaelemek dátumdiffiójának összeadásával . Ez a számítás magában foglalja az adott állapotban töltött összes időt, még akkor is, ha többször váltott az állapotok között. Az Utolsó nap állapotban lehetőség van az egyes sorok trendként való kiértékelésére a Dátum vagy a legfrissebb adatok használatával.
Fontos
Ehhez hozzá kell adnia a Dátum diff értékét a Napok és az Utolsó nap állapotban számított oszlopokban a táblához.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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
Halmozott oszlop trenddiagramok létrehozása a napok állapotideje alapján
Az Állapotidő napok oszlopban való bemutatásához a következő halmozott oszlopdiagramok jönnek létre. Az első diagram az egyes állapotokban lévő munkaelemek számát mutatja az idő függvényében.
A második diagram azt szemlélteti, hogy az aktív munkaelemek átlagos napjainak trendje egy adott állapotban van.
Állapotidő hozzáadása napokban – Legújabb (az utolsó nap állapotban van)
Ha egy tábla minden munkaeleméhez kiértékeli az állapotban töltött időt, vagy ha egy mező( például a Terület elérési útja) szűri, ne használja az Állapotidő napokban oszlopot az összesítésben. Az összesítés a munkaelem állapotának minden napjára érvényes értéket használja. Ha például egy munkaelem hétfőn volt folyamatban, és csütörtökre lett áthelyezve, az állapotban töltött idő három nap, de a Napok oszlopban az állapotidő összege hat nap, 1+2+3
ami helytelen.
A probléma megoldásához használja az Állapotidő napokban lehetőséget, és alkalmazza a "True" (Igaz) állapotú utolsó nap állapotú szűrőt. Kiküszöböli a trendhez szükséges összes előzményadatot, és ehelyett csak az egyes állapotok legújabb értékére összpontosít.
Állapotidő hozzáadása napokban – Folyamatban
Az előző példákban az adott munkaelem napok szerinti állapotideje csak akkor lesz megszámolva, ha a munkaelem adott állapotban volt. Ha a cél az, hogy egy adott munkaelemhez tartozó idő folyamatosan az átlaghoz legyen megadva, módosítania kell a számítást. Ha például a "Folyamatban" állapotot szeretnénk nyomon követni, akkor hozzáadjuk az Állapotidő napokban – Folyamatban számított oszlopot.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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
Feljegyzés
Előfordulhat, hogy felül kell vizsgálnia a definíciót a projekt által használt munkafolyamat-állapotok alapján. A cikkben szereplő példákban használt projekt például a "Folyamatban" munkafolyamat-állapotot használja, az Agilis, a Scrum és a CMMI-folyamatok azonban általában az "Aktív" vagy a "Véglegesített" állapotot használják a folyamatban lévő munka ábrázolására. Áttekintésért tekintse meg a Munkafolyamat állapotai és állapotkategóriái című témakört.
Az alábbi képen az látható, hogy az adott napon (jobbra látható) egy adott állapotban lévő munkaelemhez képest az állapoton belüli összes időt figyelembe kell venni (balra látható).
Az állapotidő napokban trendje több államban
A teljesítmény több állapotban történő elemzése a "Folyamatos" minta használatával is lehetséges. Ez a megközelítés azonban csak trenddiagrammal működik.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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
Feljegyzés
Előfordulhat, hogy felül kell vizsgálnia a definíciót a projekt által használt munkafolyamat-állapotok alapján. Ha például a projekt az "Aktív" értéket használja a "Véglegesített" vagy a "Javasolt" helyett.
A bal oldali diagramon az összesített átlag látható, míg a jobb oldalon az egyes állapotok láthatók.
Az állapotidő lekérése napokban – Több állapot legújabb száma
Trend létrehozásakor az Állapotidő a napokban – A legújabb számított oszlopot használja. Az állapotokra vonatkozó szűrővel a Napok állapotában oszlop és az Utolsó nap állapotban lehetőséggel egyszerűen lekérheti az egyes állapotokban töltött munkaelemek vagy munkaelemek csoportjának teljes idejét.
Előző állapot hozzáadása
Az Előző dátum számított oszlop az egyes munkaelemek korábbi értékeinek, például az előző állapotnak a keresésére is használható.
Fontos
Ehhez hozzá kell adnia az Előző dátum számított oszlopot a táblához.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
State Previous =
LOOKUPVALUE (
'View Name'[State],
'View Name'[Work Item Id], 'View Name'[Work Item Id],
'View Name'[Date], 'View Name'[Date Previous]
)
Ez a számított oszlop a LOOKUPVALUE
cikk későbbi részében ismertetett értéket használja.
Az első LOOKUPVALUE
paraméter a 'View Name'[State]
[State] értékét adja vissza.
A következő paraméter azt határozza meg, 'View Name'[Work Item Id], 'View Name'[Work Item Id]
hogy csak az aktuális sornak megfelelő munkaelem-azonosítóval rendelkező sorokat vegye figyelembe.
Az utolsó paraméter pedig azt adja meg, 'View Name'[Date], 'View Name'[Date Previous]
hogy a visszaadott sor dátumának [Date] karakterrel kell rendelkeznie, amely megfelel az aktuális sor [Előző dátum] értékének. Egy pillanatképben csak egy sor felelhet meg ennek a feltételnek.
Módosult állapot hozzáadása
Az Előző állapot oszlop használatával megjelölhetjük az egyes munkaelemek sorait, ahol az állapotváltás történt. A Szakasz módosított számított oszlopának két különleges szempontja van:
- A *Előző állapot üres értékei, amelyeket a munkaelem létrehozási dátumára állítottunk be
- A munkaelem létrehozása állapotváltásnak minősül
Fontos
Ehhez hozzá kell adnia az Előző állapot számított oszlopot a táblához.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
State Changed =
IF (
ISBLANK ( 'View Name'[State Previous] ),
'View Name'[Created Date].[Date] = 'View Name'[Date],
'View Name'[State Previous] <> 'View Name'[State]
)
A számított oszlop logikai érték, amely azonosítja, hogy a sor állapotáttűnés-e. Az operátor használatával helyesen foghatja fel azokat a Not Equal To
sorokat, ahol az előző állapot nem egyezik az aktuális állapottal, ami azt jelenti, hogy az összehasonlítás a várt módon igaz értéket ad vissza.
Állapotfolyamat hozzáadása
A State Previous és az State Changed számított oszlopokkal létrehozhat egy oszlopot, amely egy adott munkaelem állapotfolyamatát mutatja be. Az oszlop létrehozása nem kötelező a cikk alkalmazásában.
Fontos
Ehhez hozzá kell adnia az Előző állapot és az Állapotváltozás számított oszlopokat a táblához.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
State Flow =
IF([State Changed], [State Previous], [State]) & " => " & [State]
Állapotváltozások számának hozzáadása
A bonyolultabb mértékekbe lépve az állapotváltozások teljes számát kell ábrázolnunk, hogy összehasonlíthassuk egy adott munkaelem adatsorait. A reprezentációt az Állapotváltozások száma számított oszlop hozzáadásával kapjuk meg.
Fontos
Ehhez hozzá kell adnia az Állapotváltozás számított oszlopot a táblához.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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
Állapotváltozások számának hozzáadása – Utolsó javasolt és állapot-újraindítási idő napokban
Az állapot újraindítási ideje napokban meglehetősen összetett számítás. Az első lépés annak megkeresése, hogy egy munkaelem mikor volt utoljára javasolt állapotban. Adja hozzá az Állapotváltozások száma – Utolsó javasolt számított oszlopot.
Feljegyzés
Előfordulhat, hogy felül kell vizsgálnia a következő definíciókat a projekt által használt munkafolyamat-állapotok alapján. Ha például a projekt az "Új" értéket használja a "Javasolt" helyett.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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"
)
Ezután térjen vissza a múlthoz, és ellenőrizze, hogy voltak-e aktív állapotok a javasolt állapot előtt. Végül összegzi azokat a napokat, amikor a munkaelem aktív állapotban volt a legutóbbi javaslat előtt.
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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
Mivel a Napok állapot újraindítási ideje minden adatsorhoz frissül, létrehozhat egy trendet, amely kiértékeli az átdolgozásokat adott futamokon, vagy megvizsgálhatja az egyes munkaelemek újradolgozását az Aktuális állapot használatával.
Állapot-átdolgozás időének hozzáadása napokban
A napok állapot-újraindítási idejéhez hasonlóan a Napok állapotátdolgozás ideje is azt keresi, hogy egy munkaelem mikor volt első alkalommal a Kész állapot kategóriában. Ezután egy munkaelem minden nap nem befejezett állapotban tölt, átdolgozásnak számít.
Hozza létre az "Állapotváltozások száma – Első kész" oszlopot. Ez az oszlop nyomon követi, hogy egy munkaelem hányszor vált át a Kész állapotra bármely más állapotból.
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]) ) )
A Modellezés lapon válassza az Új oszlop lehetőséget, majd cserélje le az alapértelmezett szöveget az alábbi kódra, és jelölje be a pipát.
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 )
Feljegyzés
Előfordulhat, hogy felül kell vizsgálnia az előző definíciót a projekt által használt munkafolyamat-állapotok alapján. Ha például a projekt a Kész elemet használja a Zárt helyett, és így tovább.
DAX-függvények
Ebben a szakaszban további információt talál a cikkben hozzáadott számított oszlopok és mérték létrehozásához használt DAX-függvényekkel kapcsolatban. Lásd még : DAX, Időintelligencia-függvények.
Függvény | Leírás |
---|---|
ALLEXCEPT |
A tábla összes környezeti szűrőjének eltávolítása a megadott oszlopokra alkalmazott szűrők kivételével. Lényegében a táblázat sorait csak azokra csökkenti, ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) amelyek ugyanazt a munkaelem-azonosítót használják, mint az aktuális sor. |
CALCULATE |
Ez a függvény szinte minden példa alapja. Az alapstruktúra egy kifejezés, amelyet a kifejezésre alkalmazott szűrők sorozata követ. |
COUNTROWS |
Ez a függvény COUNTROWS ( 'View Name' ) egyszerűen megszámolja a szűrők alkalmazása után megmaradó sorok számát. |
DATEDIFF |
A két dátum között keresztezett intervallumhatárok számát adja vissza. DATEDIFF kivonja az Előző dátumot a dátumból a közöttük lévő napok számának meghatározásához. |
EARLIER |
A megadott oszlop aktuális értékét adja vissza az említett oszlop külső próbaidőszakában. Az adatkészletet például csak azokra a sorokra csökkenti, 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) amelyek a függvény használatával EARLIER hivatkozott aktuális sor dátuma előtt történtek. EARLIER nem hivatkozik a korábbi dátumokra; a számított oszlop sorkörnyezetét határozza meg. |
ISBLANK |
Ellenőrzi, hogy egy érték üres-e, és IGAZ vagy HAMIS értéket ad vissza. ISBLANK kiértékeli az aktuális sort annak megállapításához, hogy az előző dátumnak van-e értéke. Ha nem, akkor a Ha utasítás a Dátum diff értéket napok szerint 1 értékre állítja. |
LASTDATE |
A szűrőt LASTDATE például LASTDATE ( 'View Name'[Date] ) egy kifejezésre alkalmazva megkeressük a legújabb dátumot a tábla összes sorában, és eltávolítjuk azokat a sorokat, amelyek nem azonos dátummal osztoznak. Az Analytics-nézet által létrehozott pillanatképtáblával ez a szűrő hatékonyan kiválasztja a kijelölt időszak utolsó napját. |
LOOKUPVALUE |
A search_columnName és search_value által megadott feltételeknek megfelelő sor result_columnName értékét adja vissza. |
MAX |
Egy oszlop legnagyobb numerikus értékét adja vissza, vagy két skaláris kifejezés között. Az összes szűrő alkalmazása utáni legutóbbi dátum meghatározásához alkalmazunk MAX ( 'View Name'[Date] ) . |