Power BI raporunuza durum ölçümü ekleme

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Bir iş öğesinin belirli bir iş akışı durumunda veya durum serisinde harcadığı süre, verimliliği anlamak için önemli bir unsurdur. Döngü Süresi ve Sağlama Süresi Analizi pencere öğeleri, bazı durum içi zaman ölçüleri sağlar. Ancak, bu pencere öğeleri istediğiniz ayrıntı düzeyine sahip olmayabilir.

Bu makalede, iş öğeleri tarafından harcanan zamanı durumların bir bileşiminde değerlendirmek için Veri Çözümleme İfadeleri (DAX) kullanan tarifler sağlanır. Özellikle, Aşağıdaki ölçü ve hesaplanmış sütunları Power BI raporlarınıza eklemeyi ve bunları kullanarak çeşitli eğilim grafikleri oluşturmayı öğrenirsiniz. Listelenen ilk alan dışındaki tüm alanlar hesaplanmış sütunlardır.

Sayı Açıklama
İş Öğeleri Sayısı (ölçü) İş öğesinin son gün girdisine göre ayrı iş öğelerinin sayısını hesaplar
Durum Sıralama Düzeni İş akışı Durumlarını Durum Kategorisi dizisine göre sıralamak için kullanılacak bir sütun ekler
Önceki Tarih Tarih sütununa göre önceki tarihi hesaplayan bir sütun ekler
Gün olarak Tarih Farkı Tarih ile Önceki Tarih sütunları arasındaki gün sayısını hesaplayan bir sütun ekler
Eyalet son günüdür Date değerinin iş öğesinin State'te olduğu son gün olup olmadığını belirleyen bir sütun ekler
Gün olarak Durum Zamanı Her Durumda iş öğesinin harcadığı gün sayısını hesaplayan bir sütun ekler
Önceki Durum Veri tablosundaki her satır için önceki durumu tanımlayan bir sütun ekler
Durum Değiştirildi bir iş öğesinin bir Durumdan diğerine geçtiği tarihi belirleyen bir sütun ekler
Durum Akışı bir iş öğesi bir Durumdan diğerine geçerken durum akışını gösteren bir sütun ekler
Durum Değişikliği Sayısı bir iş öğesinin bir Durumdan diğerine geçiş sayısını hesaplayan bir sütun ekler
Durum Değişikliği Sayısı - İlk Tamamlandı bir iş öğesinin tamamlandı durumuna ilk kez geçiş sayısını belirleyen bir sütun ekler. Başka bir deyişle, başka bir durumdan Tamamlandı durumuna geçtiğinde.
Durum Değişikliği Sayısı - Önerilen Son Bir iş öğesinin daha önce Önerilen durumunda olup olmadığını, sonraki bir Duruma geçtikten sonra belirleyen bir sütun ekler
Gün olarak Durum Yeniden Başlatma Zamanı Bir iş öğesinin yeniden başlatma durumunda harcadığı günleri hesaplayan bir sütun ekler
Gün olarak Durum Yeniden Çalışma Zamanı Bir iş öğesinin Tamamlandı dışında bir durumda harcadığı günleri hesaplayan bir sütun ekler

Önemli

  • Bu makalede gösterilen örneklere göre hesaplanmış sütun veya ölçü eklerken Görünüm Adı'nı Analiz görünümü veya veri tablosunun tablo adıyla değiştirin. Örneğin, Görünüm Adı yerine Etkin Hatalar yazın.
    Power BI Tablo araçları sekmesi, Veri tablosu adı'nın ekran görüntüsü.
  • Analiz, gün içi düzeltmeleri desteklemez. Bu örnekler, Analiz görünümüne başvururken Günlük aralık kullanılırken en duyarlıklara sahiptir.
  • Tüm gün içi veya dönem içi (haftalık/aylık) düzeltmeler hesaplamalar tarafından yoksayılır. Bu, bir iş öğesinin bir günden daha kısa bir süre "Sürüyor" olduğu zaman "Sürüyor" olmayan bir iş öğesi gibi belirli senaryolar için beklenmeyen sonuçlara neden olabilir.
  • Mümkün olduğunda ölçü oluşturmak yerine Power BI varsayılan toplamaları kullanılır.
  • Bazı hesaplamalar, BLANK yerine her satıra sayısal bir değer eklenmesini sağlamak için +0 değerini içerir.
  • Projeniz tarafından kullanılan iş akışı durumlarına göre bazı hesaplanmış sütun tanımlarını gözden geçirmeniz gerekebilir. Örneğin, projeniz Önerilen, Devam Ediyor ve Tamamlandı yerine Yeni, Etkin ve Kapalı kullanıyorsa.
  • Bu makalede başvuruda bulunılan Tarih sütunu, Azure DevOps'ta yerel bir sütun değildir; Bu, Eyalet İçinde Zaman raporunu kolaylaştırmak için PowerBI içinde oluşturulan türetilmiş bir sütun. Bu sütunu, "Değiştirme Tarihi" veya "Durum Değiştirme Tarihi" gibi tarihle ilgili mevcut sütunları kullanarak oluşturabilirsiniz.

Önkoşullar

  • Erişim: En az Temel erişimi olan bir projenin üyesi olun.
  • İzinler: Varsayılan olarak, proje üyeleri Analytics'i sorgulama ve görünüm oluşturma iznine sahiptir.
  • Hizmet ve özellik etkinleştirme ve genel veri izleme etkinlikleriyle ilgili diğer önkoşullar hakkında daha fazla bilgi için bkz . Analytics'e erişim izinleri ve önkoşulları.

Not

Bu makalede açıklanan tüm durum içi ölçüleri uygulamak için Analiz görünümlerinize, Power Query'ye veya OData sorgunuza şu alanları eklediğinizden emin olun: Varsayılan alanlara ek olarak Oluşturma Tarihi ve Durum Kategorisi: Alan Yolu, Atanan, Yineleme Yolu, Durum, Başlık, İş Öğesi Kimliği ve İş Öğesi Türü.

Ayrıca, Günlük ayrıntı düzeyini temel alan bir Analiz görünümü kullanmayı da göz önünde bulundurun. Bu makaledeki örnekler, 60 günlük Geçmiş ve Günlük ayrıntı düzeyinin seçilmesi dışında, Özel bir Analiz görünümüne dayalı olarak Power BI'da etkin hatalar raporu oluşturma bölümünde tanımlanan Etkin Hata Analizi görünümünü temel alır. Tamamlanmış veya kapalı iş öğelerini gözden geçirmek isteyip istemediğinizi de belirleyin.

İş Öğeleri Sayısı ölçüsü ekleme

Hızlı bir şekilde rapor oluşturmayı basitleştirmek için Analiz görünümlerini Power BI'daki varsayılan toplamalarla çalışacak şekilde tasarladık. Varsayılan toplama ile ölçü arasındaki farkı göstermek için basit bir iş öğesi sayısı ölçüsüyle başlayacağız.

  1. Analiz görünümünüzü Power BI Desktop'a yükleyin. Ayrıntılar için bkz . Power BI Veri Bağlayıcısı ile bağlanma, Analiz görünümüne bağlanma.

  2. Veri tablosunu seçin ve ardından Şeritteki Tablo araçları sekmesindeki Hesaplamalar bölümünde Yeni ölçü'yü seçin.

    Yeni ölçü olan Power BI Tablo araçları sekmesinin ekran görüntüsü.

  3. Varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin .

    Work Items Count=CALCULATE(COUNTROWS ('View Name'),LASTDATE ('View Name'[Date]))
    

    İş Öğeleri Sayısı ölçüsü, bu makalenin CALCULATEdevamında daha ayrıntılı olarak açıklanan , COUNTROWSve LASTDATE DAX işlevlerini kullanır.

    Not

    Görünüm Adı'nı Analiz görünümünün tablo adıyla değiştirmeyi unutmayın. Örneğin, burada Görünüm Adı yerine Etkin hataları kullanıyoruz.

    Power BI Ölçü araçları sekmesinin İş Öğeleri Sayısı söz dizimi ekran görüntüsü.

Ölçünün hesaplanmış sütundan farkı nedir?

Ölçü her zaman hesaplanmış sütunun tek bir satıra özgü olduğu tablonun tamamını değerlendirir. Daha fazla bilgi için bkz . DAX'ta Hesaplanan Sütunlar ve Ölçüler.

İş Öğesi Sayısı ölçüsünü, İş Öğesi Kimliği'ne göre varsayılan sayı toplamasıyla karşılaştırın. Aşağıdaki görüntü, ilk karta Kart görseli ve İş Öğesi Sayısı ölçüsü, ikinci karta da İş Öğesi Kimliği özelliği eklenerek oluşturulur.

İş Öğesi Sayısı ölçüsünü ve İş Öğesi Kimliği özelliğini gösteren iki kart olan Power BI rapor sayfasının ekran görüntüsü.

Varsayılan toplamayı kullanarak doğru sayıyı almak için Geçerlidir filtresi 'True' değerine eşittir. Varsayılan toplamaya filtre uygulama deseni, bu makalede sağlanan örneklerin çoğunun temelini oluşturur.

Power BI rapor sayfasının ekran görüntüsü, iş öğesi kimlik sayısı filtrelendi.

Durum Sıralama Düzeni Ekle

Power BI, varsayılan olarak durumları bir görselleştirmede alfabetik olarak sıralanmış olarak gösterir. Zaman durumunu görselleştirmek istediğinizde ve Önerilen devam ettikten sonra gösterildiğinde bu yanıltıcı olabilir. Aşağıdaki adımlar bu sorunu çözmeye yardımcı olur.

  1. Durum Kategorisi alanının Analiz görünümüne dahil olduğunu doğrulayın. Bu alan tüm varsayılan paylaşılan görünümlere eklenir.

  2. Veri tablosunu seçin ve sonra Tablo araçları sekmesinde, şeridin Hesaplamalar bölümünde Yeni sütun'u seçin.

    Power BI Tablo araçları sekmesi, Yeni sütun ekran görüntüsü.

  3. Varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin .

    State Sort Order =  
    SWITCH (  
        'View Name'[State Category],  
        "Proposed", 1,  
        "InProgress", 2,  
        "Resolved", 3,  
        4  
    )  
    

    Aşağıdaki örneğe bakın:

    Power BI Tablo araçları sekmesinin, durum kategorisi girişinin ekran görüntüsü.

    Not

    Durum Kategorisi'nin sağladığından daha fazla ayrıntı düzeyine ihtiyacınız varsa tanımı düzeltmeniz gerekebilir. Durum Kategorisi, Durum özelleştirmelerinden bağımsız olarak tüm iş öğesi türlerinde doğru sıralama sağlar.

  4. Veri görünümünü açın ve Durum sütununu seçin.

  5. Sütun Araçları sekmesinde Sütuna Göre Sırala'yı ve ardından Durum Sıralama Düzeni alanını seçin.

    Power BI Sütun araçları sekmesinin Sütun seçimine göre sırala seçeneğinin ekran görüntüsü.

Önceki Tarihi Ekle

Durum zamanlarını hesaplamak için bir sonraki adım, veri kümesindeki her veri satırı için önceki aralığın (gün, hafta, ay) eşlen olmasını gerektirir. Hesaplanmış sütun kullanan basit bir hesaplamadır. Normalde, bu sütunu gösterildiği gibi tanımlarsınız.

Date Previous  = 
PREVIOUSDAY ( 'View Name'[Date] )

Ancak bu yaklaşımın iki temel sorunu vardır:

  • Yalnızca günlük dönemlerde çalışır.
  • Verilerdeki boşlukları işlemez. Örneğin, bir iş öğesi projeler arasında taşınırsa.

Bu sorunları çözmek için hesaplanan sütunun Tarih alanını tarayarak önceki günü bulması gerekir.

Önceki Tarih hesaplanan sütununu eklemek için Tablo araçları sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

Date Previous =
CALCULATE (
    MAX ( 'View Name'[Date] ),
        ALLEXCEPT ( 'View Name', 'View Name'[Work Item Id] ),
        'View Name'[Date] < EARLIER ( 'View Name'[Date] )
)

Date Previous hesaplanan sütunu, MAXbu makalenin devamında daha ayrıntılı olarak açıklanan üç DAX işlevi kullanır: , ALLEXCEPT, ve EARLIER. Sütun hesaplandığından, tablodaki her satır için çalışır ve her çalıştırıldığında söz konusu satırın bağlamı bulunur.

Tarih ve Tarih Önceki için Power BI tablo grafiğinin ve Görselleştirme sekmesinin ekran görüntüsü.

İpucu

Tarih ve Önceki Tarih alanlarının bağlam menüsünde Tarih 'i (Tarih Hiyerarşisi yerine) seçerek bu alanlar için tek bir tarih görüntüleyin.

Günlere Tarih Farkı Ekle

Önceki Tarih, her satır için önceki ve geçerli tarih arasındaki farkı hesaplar. Gün cinsinden Tarih Farkı ile, bu dönemlerin her biri arasındaki gün sayısını hesaplarız. Günlük anlık görüntüdeki çoğu satır için değer 1'e eşittir. Ancak, veri kümesinde boşluklar olan birçok iş öğesi için değer 1'den büyüktür.

Önemli

Tabloya Önceki Tarih hesaplanan sütununu eklemiş olmanız gerekir.

Önceki Tarih'in boş olduğu veri kümesinin ilk gününü göz önünde bulundurmanız önemlidir. Bu örnekte, hesaplamanın tutarlı olmasını sağlamak için bu satıra standart değer olan 1 değerini vereceğiz.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

Date Diff in Days =
IF (
    ISBLANK ( 'View Name'[Date Previous] ),
    1,
    DATEDIFF (
        'View Name'[Date Previous],
        'View Name'[Date],
        DAY
    )
)

Bu hesaplanmış sütun, bu makalenin ISBLANKdevamında açıklanan ve DATEDIFF DAX işlevlerini kullanır.

Add Is Last Day in State

Bu sonraki adımda, belirli bir satırın belirli bir iş öğesinin durumundaki son günü temsil ediyor olup olmadığını hesaplayacağız. Power BI'da varsayılan toplamaları destekler. Sonraki bölümde gün olarak Durum Zamanı sütununu ekleyeceğiz.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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] )
))

Gün olarak Durum Zamanı Ekle

Bir iş öğesinin belirli bir durumda harcadığı süre artık her iş öğesi için Günlerdeki Tarih Farkı toplanarak hesaplanabilir. Bu hesaplama, durumlar arasında birden çok kez geçiş olsa bile belirli bir durumda harcanan tüm süreyi içerir. Is Last Day In State kullanarak Tarih veya en son bilgileri kullanarak her satırı eğilim olarak değerlendirmek mümkündür.

Önemli

Tarih Farkını Gün sayısı olarak ve Son Gün Durumunda hesaplanmış sütunlarını tabloya eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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

Günlerdeki Durum Saatlerine göre yığılmış sütun eğilim grafikleri oluşturma

Günlerdeki Durum Saati sütununu göstermek için aşağıdaki yığılmış sütun grafikleri oluşturulur. İlk grafik, zaman içindeki her durumdaki iş öğelerinin sayısını gösterir.

İş öğesi başlığının tarih ve duruma göre sayısını gösteren Power BI yığılmış sütun grafiğinin ve Görselleştirme sekmesinin ekran görüntüsü.

İkinci grafik, etkin iş öğelerinin belirli bir durumda olduğu ortalama günlerin eğilimini gösterir.

İş öğelerinin tarihe göre ortalama gün sayısını gösteren Power BI yığılmış sütun grafiğinin ve Görselleştirme sekmesinin ekran görüntüsü.

Gün olarak Durum Saati Ekleme - En Son (Son Gün Durumunda)

Tablodaki her iş öğesi için durum zamanlarını değerlendirirken veya Alan Yolu gibi bir alana göre filtrelendiğinde, toplamada Günlerdeki Durum Zamanı sütununu kullanmayın. Toplama, iş öğesinin durumunda olduğu her günün değerini kullanır. Örneğin, bir iş öğesi Pazartesi Devam Ediyor ise ve Perşembe günü Tamamlandı'ya taşındıysa, eyalet içi zaman üç gündür, ancak Günlerdeki Durum Saati sütununun toplamı altı gündür ve 1+2+3bu yanlıştır.

Gün olarak Durum Saati Ekle - En Son.

Bu sorunu çözmek için Gün sayısı olarak Durum Saati'ni kullanın ve Son Gün Durumundaki "True" değerine eşit filtreyi uygulayın. Bir eğilim için gerekli olan tüm geçmiş verileri ortadan kaldırır ve her durum için yalnızca en son değere odaklanır.

Gün olarak Durum Saati'ni kullanın ve

Günlere Durum Zamanı Ekleme - Devam Ediyor

Önceki örneklerde, belirli bir iş öğesinin Gün sayısı yalnızca iş öğesi o durumdayken sayılır. Hedefiniz belirli bir iş öğesi sayısı için sürekli ortalamaya doğru durum bilgisi elde etmekse hesaplamayı değiştirmeniz gerekir. Örneğin, "Devam Ediyor" durumunu izlemek istiyorsak, Günlerdeki Durum Süresi - Devam Ediyor hesaplanmış sütununu ekleriz.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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

Not

Tanımı, projeniz tarafından kullanılan iş akışı durumlarına göre düzeltmeniz gerekebilir. Örneğin, bu makaledeki örneklerde kullanılan projede 'Devam Ediyor' iş akışı durumu kullanılır, ancak Çevik, Scrum ve CMMI işlemleri genellikle devam eden çalışmayı temsil etmek için 'Etkin' veya 'İşlendi' durumlarını kullanır. Genel bakış için bkz . İş akışı durumları ve durum kategorileri.

Aşağıdaki görüntüde, var olan her iş öğesi (solda gösterilir) için tüm zaman durumunun, yalnızca belirli bir gündeki belirli bir durumdaki iş öğelerini (sağda gösterilir) dikkate alma etkisini gösterir.

Durum Ortalama Süresinin Eğilim Karşılaştırması

Birden çok durumun Gün içindeki Durum Zamanı eğilimi

"Sürekli" deseni kullanılarak birden çok durumda performansı analiz etmek de mümkündür. Ancak bu yaklaşım yalnızca bir eğilim grafiğiyle çalışır.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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

Not

Tanımı, projeniz tarafından kullanılan iş akışı durumlarına göre düzeltmeniz gerekebilir. Örneğin, projeniz 'Kabul Edilen' veya 'Önerilen' yerine 'Etkin' kullanıyorsa.

Soldaki grafikte birleşik ortalama gösterilirken sağ tarafta her bir durum gösterilir.

Birden çok eyaletin Eğilim Karşılaştırması

Gün olarak Durum Saatini Alma- Birden çok durum için En Son

Eğilim oluştururken Gün sayısı olarak Durum Zamanı- En son hesaplanan sütununu kullanırsınız. Eyaletler üzerindeki bir filtreyle, Günlerdeki Durum Saati sütunu ve Son Gün Durumu , bir dizi durumda harcanan iş öğesi veya iş öğesi grubunun toplam süresini almak için basit bir yol sağlar.

Eyaletlerde En Son Saat

Önceki Durumu Ekle

Date Previous hesaplanan sütunu, her iş öğesinin önceki durumu gibi geçmiş değerleri aramak için de kullanılabilir.

Önemli

Tabloya Önceki Tarih hesaplanan sütununu eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

State Previous =
LOOKUPVALUE (
    'View Name'[State],
    'View Name'[Work Item Id], 'View Name'[Work Item Id],
    'View Name'[Date], 'View Name'[Date Previous]
)

Bu hesaplanmış sütun, bu makalenin LOOKUPVALUEdevamında açıklanan öğesini kullanır.

İlk LOOKUPVALUE parametre olan 'View Name'[State], [State] değerini döndürmeyi belirtir.

Sonraki parametresi, 'View Name'[Work Item Id], 'View Name'[Work Item Id]yalnızca geçerli satır olarak eşleşen iş öğesi kimliğine sahip satırların dikkate alınması gerektiğini belirtir.

Son parametresi, 'View Name'[Date], 'View Name'[Date Previous]döndürülen satırın tarihinin geçerli satırın [Önceki Tarih] değeriyle eşleşen bir [Tarih] içermesi gerektiğini belirtir. Anlık görüntüde, bu ölçütleri yalnızca bir satır karşılayabilir.

Durum Ekle Değiştirildi

Durum Önceki sütununu kullanarak, durum geçişinin gerçekleştiği her iş öğesi için satırları bayrakla işaretleyebiliriz. Aşamalı Değiştirme hesaplanmış sütununun dikkate alınması gereken iki özel nokta vardır:

  • İş öğesinin Oluşturulma Tarihi olarak ayarladığımız *State Previous değerinin boş değerleri
  • İş öğesi oluşturma işlemi durum geçişi olarak kabul edilir

Önemli

Tabloya Önceki Durum hesaplanan sütununu eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

State Changed =
IF (
    ISBLANK ( 'View Name'[State Previous] ),
    'View Name'[Created Date].[Date] = 'View Name'[Date],
    'View Name'[State Previous] <> 'View Name'[State]
)

Hesaplanan sütun, satırın durum geçişi olup olmadığını tanımlayan boole değeridir. işlecini Not Equal To kullanarak, önceki durumun geçerli durumla eşleşmediği satırları doğru şekilde yakalarsınız; bu da karşılaştırmanın beklendiği gibi True döndürdüğü anlamına gelir.

Durum Akışı Ekle

Önceki Durum ve Durum Değişti hesaplanmış sütunlarıyla, belirli bir iş öğesi için Durum Akışı'nı gösteren bir sütun oluşturabilirsiniz. Bu sütunun oluşturulması, bu makalenin amaçları doğrultusunda isteğe bağlıdır.

Önemli

Tabloya State Previous ve State Changed hesaplanmış sütunlarını eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

State Flow = 
IF([State Changed], [State Previous], [State]) & " => " & [State]

Durum Değişikliği Sayısı Ekle

Daha karmaşık ölçülere geçtikçe, belirli bir iş öğesinin veri satırlarını karşılaştırmak için durum değişikliklerinin toplam sayısını gösteren bir gösterime sahip olmamız gerekir. Durum Değişiklik Sayısı hesaplanmış sütunu ekleyerek gösterimi elde ederiz.

Önemli

Durum Değişikliği hesaplanmış sütununu tabloya eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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

Durum Değişikliği Sayısı Ekle - Gün olarak Önerilen Son ve Durum Yeniden Başlatma Zamanı

Günlerdeki Durum Yeniden Başlatma Süresi oldukça karmaşık bir hesaplamadır. İlk adım, bir iş öğesinin en son önerilen durumda olduğunu bulmaktır. Durum Değişiklik Sayısı - Önerilen Son hesaplanmış sütununu ekleyin.

Not

Projeniz tarafından kullanılan iş akışı durumlarına göre aşağıdaki tanımları düzeltmeniz gerekebilir. Örneğin, projeniz 'Önerilen' yerine 'Yeni' kullanıyorsa.

Modelleme sekmesinde Yeni sütun'u seçin ve varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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"
)

Ardından geçmişe dönüp bu önerilen durumdan önce bazı etkin durumlar olup olmadığına bakın. Son olarak, iş öğesinin en son önerilenden önce etkin durumda olduğu tüm günleri topla.

Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

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

Günlerdeki Durum Yeniden Başlatma Zamanı her veri satırı için güncelleştirildiğinden, belirli sprint'lerde yeniden çalışmayı değerlendirmek için bir eğilim oluşturabilir veya GeçerliDir'i kullanarak tek tek iş öğeleri için yeniden çalışmayı inceleyebilirsiniz.

Gün olarak Durum Yeniden Çalışma Zamanı Ekleme

Günlerdeki Durum Yeniden Başlatma Zamanı'na benzer şekilde, Günlerdeki Durum Yeniden Çalışma Zamanı, bir iş öğesinin Tamamlandı durum kategorisinde ilk kez olduğunu arar. Bu süreden sonra, bir iş öğesinin tamamlandı dışında bir durumda geçirdiği her gün yeniden çalışma olarak sayılır.

  1. "Durum Değişikliği Sayısı - İlk Tamamlanan" sütununu oluşturun. Bu sütun, bir iş öğesinin başka bir durumdan Tamamlandı durumuna kaç kez geçtiğini izler.

    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])
       )
    )
    
  2. Modelleme sekmesinde Yeni Sütun'u seçin ve ardından varsayılan metni aşağıdaki kodla değiştirin ve onay işaretini seçin.

    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
    )
    

    Not

    Önceki tanımı projeniz tarafından kullanılan iş akışı durumlarına göre düzeltmeniz gerekebilir. Örneğin, projeniz Kapalı yerine Bitti kullanıyorsa vb.

DAX işlevleri

Bu bölümde, bu makalede eklenen hesaplanmış sütunları ve ölçüyü oluşturmak için kullanılan DAX işlevleri için ek bilgiler sağlanır. Ayrıca bkz. DAX, Akıllı zaman gösterimi işlevleri.

İşlev Açıklama
ALLEXCEPT Belirtilen sütunlara uygulanan filtreler dışında tablodaki tüm bağlam filtrelerini kaldırır. Temelde, ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) tablodaki satırları yalnızca geçerli satırla aynı iş öğesi kimliğini paylaşan satırlara küçültür.
CALCULATE Bu işlev neredeyse tüm örneklerin temelini oluşturur. Temel yapı, ifadeye uygulanan bir dizi filtrenin ardından gelen bir ifadedir.
COUNTROWS Bu işlev, COUNTROWS ( 'View Name' )filtreler uygulandıktan sonra kalan satır sayısını sayar.
DATEDIFF İki tarih arasında kesişen aralık sınırlarının sayısını döndürür. DATEDIFFaralarındaki gün sayısını belirlemek için Önceki Tarihi Tarih'ten çıkarır.
EARLIER Belirtilen sütunun geçerli değerini belirtilen sütunun dış değerlendirme geçişinde döndürür. Örneğin, 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) veri kümesini yalnızca işlevi kullanılarak başvuruda bulunan geçerli satırın tarihinden önce oluşan satırlara küçültür EARLIER . EARLIER önceki tarihlere başvurmaz; hesaplanmış sütunun satır bağlamını özel olarak tanımlar.
ISBLANK Bir değerin boş olup olmadığını denetler ve DOĞRU veya YANLIŞ döndürür. ISBLANKGeçerli satırı değerlendirerek Date Previous değerinin olup olmadığını belirler. Aksi takdirde, If deyimi Günlerdeki Tarih Farkını 1 olarak ayarlar.
LASTDATE Filtreyi, tablodaki LASTDATE LASTDATE ( 'View Name'[Date] )tüm satırlarda en yeni tarihi bulmak ve aynı tarihi paylaşmamış satırları ortadan kaldırmak için bir ifadeye uygularız. Analiz görünümü tarafından oluşturulan anlık görüntü tablosuyla, bu filtre seçilen dönemin son gününü etkili bir şekilde seçer.
LOOKUPVALUE search_columnName ve search_value tarafından belirtilen tüm ölçütleri karşılayan satır için result_columnName değerini döndürür.
MAX Bir sütundaki veya iki skaler ifade arasındaki en büyük sayısal değeri döndürür. Tüm filtreler uygulandıktan MAX ( 'View Name'[Date] )sonra en son tarihi belirlemek için uygulamasını uygularız.