Mevcut bir Analiz görünümü için durum değerini hesaplama

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019

Bir iş öğesinin belirli bir durumda veya durum dizisinde harcadığı süre, verimliliği anlama açısından önemli bir yönüdür. Döngü Süresi ve Sağlama Süresi Analizi pencere öğeleri bazı durum süresi ölçüleri sağlar. Ancak, bu pencere öğeleri istediğiniz ayrıntı düzeyine sahip olabilir.

Bu makalede, iş öğeleri tarafından herhangi bir durum bileşiminde harcanan zamanı değerlendirmek için DAX hesaplamalarını kullanan bir dizi tarif sağlar. Özellikle, aşağıdaki hesaplanmış sütunları ve bir ölçü eklemeyi ve bunları kullanarak çeşitli eğilim grafikleri oluşturma hakkında bilgi edinmek için bu sütunları nasıl kullanabileceğiniz hakkında bilgi alasınız. (Listelenen ilk alan dışındaki tüm alanlar hesaplanmış sütunlardır.)

  • İş Öğeleri Sayısı (ölçü)
  • Durum Sıralama Düzeni
  • Önceki Tarih
  • Gün olarak Tarih Farkları
  • Durumunun Son Günü
  • Gün olarak Durum Saati
  • Durum Önceki
  • Durum Değişti
  • Durum Flow
  • Durum Değişikliği Sayısı
  • Durum Değişikliği Sayısı - Önerilen Son
  • Gün olarak Durum Yeniden Başlatma Zamanı
  • Gün Olarak Durum Süresi - Devam Ediyor

Önemli

  • Bu makalede gösterilen örneklere göre hesaplanmış sütun veya ölçü eklerken, Görünüm Adı'nın yerine Analytics görünümünün tablo adını yazın. Örneğin, Görünüm Adı yerine Hikayeler - Son 30 gün yazın.

    Analiz görünümü ad tablosu)
  • Analiz görünümleri gün içi düzeltmeleri desteklemez. Analiz görünümü için Günlük aralık kullanılırken en fazla duyarlık bu örneklere 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 durum, bir iş öğesi bir günden daha kısa bir süre "Devam Ediyor" olduğunda "Devam Ediyor" süresi göstermediği gibi belirli senaryolarda beklenmeyen sonuçlara neden olabilir.
  • Power BI ölçülerin yerine mümkün olduğunca varsayılan toplamalar kullanılır.
  • Bazı hesaplamalar, BLANK yerine her satır için sayısal bir değer dahil olduğundan emin olmak için +0 değerini içerir. Projeniz tarafından kullanılan iş akışı durumlarına göre hesaplanmış sütun tanımlarının bazılarını düzeltmeniz gerekir. Örneğin, projeniz 'Önerilen', 'Devam Ediyor' ve 'Tamamlandı' yerine 'Yeni', 'Etkin' ve 'Kapatıldı' kullanıyorsa.

Önkoşullar

  • Temel erişim veya daha yüksek erişime sahip bir projenin üyesi olmak gerekir. Proje üyesi olarak eklenmediyseniz şimdi eklendi. Proje katılımcıları dışında projeye erişimi olan herkes Analiz görünümlerini görüntülemeye devam ediyor.
  • Analiz verilerini kullanılabilir durumda olması için ilgili hizmetin etkinleştirilmesi gerekir. Örneğin, iş izleme verilerini sorgulamak için Boards etkinleştirilmesi gerekir. Devre dışı bırakılırsa Analiz görünümleri görüntülenmez. Bir hizmeti yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma
  • Analiz görünümlerini kullanmakiçin, tek tek kullanıcılar veya kuruluş için Analiz Görünümleri önizleme özelliğini etkinleştirin.
  • Ayrıca * Analizi Görüntüle izinnizin İzinVer olarak ayarlanmış olması gerekir. Daha fazla bilgi için bkz. Analiz hizmetine erişim izinleri verin.
  • Analiz için Power BI kullanmak Azure DevOps Analytics için bir OData sorgusu alıştırması yapmak için, View Analytics izinnizin İzin Ver olarak ayarlanmış olması gerekir. Varsayılan olarak, Temel erişime sahip tüm Katkıda Bulunanlara erişim izni vardır. Paylaşılan Analiz görünümlerini düzenlemek için* Paylaşılan Analiz görünümlerini düzenle izniniz İzinVer olarak ayarlanmıştır. Daha fazla bilgi için bkz. Analiz hizmetine erişim izinleri verin.
  • Temel erişim veya daha yüksek erişime sahip bir projenin üyesi olmak gerekir. Proje üyesi olarak eklenmediyseniz şimdi eklendi. Proje katılımcıları dışında projeye erişimi olan herkes Analiz görünümlerini görüntülemeye devam ediyor.
  • Analytics'in yüklü olduğunu doğrulayın ve yüklü değilse etkinleştirin. Uzantı eklemek veya hizmeti etkinleştirmek için hesap sahibi veya Project Koleksiyon Yöneticisi grubunun üyesi olmak gerekir.
  • Analiz verilerini kullanılabilir durumda olması için ilgili hizmetin etkinleştirilmesi gerekir. Örneğin, iş izleme verilerini sorgulamak için Boards etkinleştirilmesi gerekir. Devre dışı bırakılırsa Analiz görünümleri görüntülenmez. Bir hizmeti yeniden etkinleştirmek için bkz. Azure DevOps hizmetini açma veya kapatma
  • Analiz görünümlerini kullanmakiçin, tek tek kullanıcılar veya kuruluş için Analiz Görünümleri önizleme özelliğini etkinleştirin.
  • Ayrıca * Analizi Görüntüle izinnizin İzinVer olarak ayarlanmış olması gerekir. Daha fazla bilgi için bkz. Analiz hizmetine erişim izinleri verin.
  • Analiz için Power BI kullanmak Azure DevOps Analytics için bir OData sorgusu alıştırması yapmak için, View Analytics izinnizin İzin Ver olarak ayarlanmış olması gerekir. Varsayılan olarak, Temel erişime sahip tüm Katkıda Bulunanlara erişim izni vardır. Paylaşılan Analiz görünümlerini düzenlemek içinPaylaşılan Analiz görünümlerini düzenle izninizin İzin Ver olarak ayarlanmış olması gerekir. Daha fazla bilgi için bkz. Analiz hizmetine erişim izinleri verin.

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

Rapor oluşturma sürecini hızlı bir şekilde kolaylaştırmak için Analiz görünümlerini, raporlarda varsayılan toplamalarla çalışacak şekilde Power BI. 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. Görünüm Power BI ilişkili bir pbix dosyasını Power BI Desktop. Ayrıntılar için bkz. Bağlan Veri Power BI ile bağlantı.

  2. Şeridin Modelleme sekmesi Hesaplamalar bölümünde Yeni Ölçü'leri seçin.

    Power BI, Modelleme sekmesi, Yeni Ölçü

  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 devamlarında daha ayrıntılı olarak açıklanan , ve COUNTROWSLASTDATE DAX işlevlerini COUNTROWS

    Not

    Görünüm Adı'nın yerine Analytics görünümünün tablo adını yazın. Örneğin, burada Görünüm Adı yerine Hikayeler- Son 30 gün'ü kullandık.

    Power BI, Modelleme sekmesi, İş Öğeleri Ölçüsü

Ölçü ile hesaplanmış sütun arasındaki farkı anlama

Oluştur başlığında oluştur oluştur oluştury işlevlerini açıklamadan önce bir ölçü ile hesaplanmış sütun arasındaki farkı anlamak gerekir. Özellikle, ölçü her zaman hesaplanan sütunun tek bir satıra özgü olduğu tablonun tamamını değerlendirir.

İş Öğesi Sayısı ölçüsü ile İş Öğesi Kimliğine göre varsayılan sayı toplaması karşılaştırması:

İş Öğelerinin Sayısı

Varsayılan toplamayı kullanarak doğru s sayımı almak için Geçerli eşittir 'True' filtresini uygulayabilirsiniz. Varsayılan bir toplamaya filtre uygulama düzeni, bu makalede sağlanan örneklerin birçoğu için temel alınır.

Geçerli İş Öğelerinin sayısı

Durum Sıralama Düzeni Ekleme

Varsayılan olarak, Power BI alfabetik olarak sıralanmış durumları gösterir. Durum olarak zamanı görselleştirmek istediğinizde ve Önerilen devam ediyor'da görüntülendikten sonra bu yanıltıcı olabilir.

Aşağıdaki adımlar bu sorunu çözmenize yardımcı olur.

  1. State Category (Durum Kategorisi) alanına Analytics görünümünün ekli olduğunu doğrulayın. Bu alan tüm varsayılan paylaşılan görünümlere dahil edilir.

  2. Yeni Sütun'ı seçin, 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  
    )  
    

    Not

    State Category'nin sağladığından daha fazla ayrıntıya ihtiyacınız varsa tanımı gözden geçirmesi gerekir. Durum Kategorisi, Herhangi bir Durum özelleştirmesine bakılmaksızın tüm iş öğesi türleri arasında doğru sıralama sağlar.

  3. Veri görünümünü açın ve Durum alanını seçin.

    Veri görünümü, Durum alanını seçin

  4. Sütun Araçları sekmesinden (Veri görünümü) Sütuna Göre Sırala'ya ve ardından Durum Sıralama Düzeni alanını seçin.

    Modelleme sekmesi, Sütuna Göre Sırala, Durum Sıralama Düzeni Seç

Önceki Tarihi Ekle

Durumdaki zamanı hesaplamak için sonraki adım, veri kümesinde yer alan her veri satırı için önceki aralığın (gün, hafta, ay) eşlensini gerektirir. Hesaplanmış sütun kullanan basit bir hesaplamadır. Genellikle bu sütunu gösterildiği gibi tanımlarnız.

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

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

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

Bu sorunları çözmek için hesaplanmış sütunun Tarih alanını tarar ve önceki günü bulması gerekir.

Önceki Tarih hesaplanmış sütununu eklemek için Modelleme sekmesinde Yeni Sütun'ı seçin, 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] )
)

Bu hesaplanmış sütun, bu makalenin devamlarında daha ayrıntılı olarak açıklanan , ve olmak üzere üç DAX MAXALLEXCEPT işlevi EARLIERMAX Bu sütunun hesaplanmış bir sütun olduğu için tablodaki her satır için çalıştırıla ve her çalıştırıldıklarında ilgili satırın bağlamına sahip olduğunu unutmayın.

Tablo raporu, Başlık, Tarih ve Önceki Tarih seçildi

İpucu

Tarih ve Önceki Tarih alanlarının bağlam menüsünden, bu alanlar için tek bir tarih görmek içinTarih (Tarih Hiyerarşisi yerine) öğesini seçin.

Gün olarak Tarih Farkını Ekleme

Önceki Tarih, her satır için önceki ve geçerli tarih arasındaki farkı hesaplar. Date Diff (Gün)ile bu dönemlerin her biri arasındaki gün sayısını hesaplayaz. Günlük anlık görüntüde yer alan satırların çoğu için değer 1'e eşit olur. Ancak, veri kümesinde boşluklar olan birçok iş öğe için değer 1'den büyük olur.

Önemli

Tabloya Önceki Tarih hesaplanmış sütununu ekleyebilirsiniz.

Önceki Tarih'in boş olduğu veri kümesi ilk günü göz önünde bulundurabilirsiniz. Bu örnekte, hesaplamanın tutarlı olması için bu satıra standart 1 değeri veririz.

Modelleme sekmesinde YeniSütun'a tıklayın, 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 ISBLANKDATEDIFF makalenin devamlarında açıklanan ve DAX ISBLANK

Add Is Last Day in State

Bu sonraki adımda, belirli bir satırın belirli bir iş öğesinin durumunun son günü temsil ettiğini hesaplayıyoruz. Günlüklerde varsayılan toplamaları Power BI ekleyecek olan Days (Gün olarak Durum Saati) sütununu destekler.

Modelleme sekmesinde YeniSütun'a tıklayın, 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ı Ekleme

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

Önemli

Tabloya Tarih Farkını Days ve Is Last Day in State hesaplanmış sütunlarını eklemelisiniz.

Modelleme sekmesinde YeniSütun'a tıklayın, 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ün olarak Durum Zamanı sütununu göstermek için aşağıdaki raporda tek bir iş öğesini ve her gün içinde olduğu durumu gösteren bir grafik (üst) yer almaktadır. İkinci grafik (alt) bu iş öğesinin zaman içinde her durumda harcadığı zamanı gösterir. Bir sonraki durumuna geçene kadar durum her gün bir artar.

Durumdaki Ortalama Süre Eğilimi

Gün olarak Eyalet Saatine göre eğilim grafiği oluşturma

Gün olarak hesaplanan Eyalet Saati sütununu ve Tarih'i kullanarak, verilen günde bu durumda olan tüm iş öğelerinde ortalama süreye göre bir eğilim grafiği oluşturabilirsiniz.

Bunu göstermek için, yukarıda kullanılan görselleştirme tüm iş öğeleri genelinde ortalamayı gösterecek şekilde güncelleştirilir. Bu gösterim, devam eden iş miktarının ve ekiplerin genel durumunu nasıl etkileyenin olduğunu anlamanıza yardımcı olabilir. Bu ekip, çalışmaya başlamaya hazır olmayan bir çalışma modeline sahip. Aşağıdaki raporun verileri, önceki rapordan farklı verileri temel alan verilerdir.

Gün olarak State Time'i temel alan eğilim grafiği.

Gün olarak Durum Zamanı Ekleme - En Son (Son Gün Durumu)

Bir tablodaki her iş öğesi için durumdaki zamanı değerlendirirken veya Alan Yolu gibi bir alana göre filtrelenmiş durumdayken, toplamada Gün olarak Durum Saati sütununu kullanmaz. Toplama, iş öğesinin durumda olduğu her gün için değerini kullanır. Örneğin, bir iş öğesi Pazartesi günü Devam Ediyor ve Perşembe günü Tamamlandı durumuna geçtiyse durum süresi üç gündür, ancak Days sütunundaki Durum Saati toplamı altı gündür (1+2+3) ve bu açıkça yanlıştır.

Gün - En Son olarak Durum Zamanı ekleyin.

Bu sorunu çözmek için Gün olarak Durum Saati'ne sahip ve Son Gün Eyalet eşittir 'True' filtresini kullanın. Bir eğilim için gereken tüm geçmiş verileri ortadan kaldırıyor ve her durum için yalnızca en son değere odaklanıyor.

Days (Gün) olarak State Time (Durum Saati) filtresini kullanın ve Is Last Day In State equals 'True' filtresini kullanın.

Gün olarak Durum Zamanı Ekleme - Devam Ediyor

Yukarıdaki örneklerde, belirli bir iş öğesi için Gün olarak Durum Saati yalnızca iş öğesinin belirli bir durumda olduğu zaman sayılır. Amacınız, verilen iş öğesi sayısı için sürekli ortalamaya doğru zaman durumunun olması ise, hesaplamayı değiştirebilirsiniz. Örneğin, "Devam Ediyor" durumunu izlemek için Gün olarak State Time - In Progress hesaplanmış sütununu ekleriz.

Modelleme sekmesinde YeniSütun'a tıklayın, 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 gerekir. Örneğin, bu makaledeki örneklerde kullanılan proje 'Devam Ediyor' iş akışı durumunu kullanır, ancak Agile, Scrum ve CMMI işlemleri genellikle devam eden işi 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, mevcut her iş öğesi için durumdaki tüm zamanların dikkate alınarak (sol tarafta gösterilir) yalnızca belirli bir günde belirli bir durumdaki iş öğelerinin (sağ tarafta gösterilir) karşı etkisini gösterilmektedir.

Durumdaki Ortalama Sürenin Eğilim Karşılaştırması

Birden çok eyaletin Gün olarak Durum Zamanı eğilimi

"Sürekli" desenini kullanarak birden çok eyalet genelinde performansı analiz etmek de mümkündür. Ancak bu yaklaşım yalnızca bir eğilim grafiğiyle çalışır.

Modelleme sekmesinde YeniSütun'a tıklayın, 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 gerekir. Örneğin, projeniz 'Kaydedilmiş' veya 'Önerilen' yerine 'Etkin' kullanıyorsa.

Sol grafikte birleşik ortalama, sağ tarafta ise tek tek her durum görüntülenir.

Birden çok eyalet için Eğilim Karşılaştırması

Gün Olarak Durum Saati Al - Birden çok durum için en son

Eğilim oluştururken State Time in Days- Latest hesaplanmış sütununu kullanırsiniz. Eyaletler üzerinde bir filtre kullanarak, Günlerin Eyalet Saati sütunu ve Durum olarak Son Gün olur, bir dizi durumda harcanan iş öğesi veya iş öğesi grubunun toplam süresine sahip olmak için basit bir yol sağlar.

Eyaletlerde En Son Saat

Önceki Durumu Ekle

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

Önemli

Tabloya Önceki Tarih hesaplanmış sütununu ekleyebilirsiniz.

Modelleme sekmesinde YeniSütun'a tıklayın, 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, LOOKUPVALUE bu makalenin LOOKUPVALUE

İlk LOOKUPVALUE parametresi olan 'View Name'[State] , [State] değerinin dönüş değerini belirtir.

Sonraki parametresi olan '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ınmalıdır.

Son parametresi olan , döndürülen satırın tarihini, geçerli satırın [Önceki Tarih] ile eşleşen bir [Date] değerine sahip 'View Name'[Date], 'View Name'[Date Previous] olması gerektiğini belirtir. Anlık görüntüde bu ölçütleri yalnızca bir satır karşılar.

Durum Değiştirme Ekleme

Durum Önceki sütununu kullanarak, bir durum geçişinin meydana geldiği her iş öğesi için satırları bayrakla bayrakla lara atayabilirsiniz. Ekley istediğiniz Aşama Değişti hesaplanmış sütununda dikkat edilmesi gereken iki özel nokta vardır:

  • Önceki Durum değerlerinin boş olması, iş öğesinin Oluşturulma Tarihi olarak ayarlanır
  • İş öğesinin oluşturulması durum geçişi olarak kabul edilir

Önemli

Tabloya State Previous hesaplanmış sütununu ekleyebilirsiniz.

Modelleme sekmesinde YeniSütun'a tıklayın, 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]
)

Hesaplanmış sütun, satırın durum geçişi olup olmadığını tanımlayan bir boole değeridir. Not Equal Toİşlecini kullanarak, önceki durumun geçerli durumla eşleşmediği satırları doğru bir şekilde yakalar, bu da karşılaştırma beklendiği gibi doğru döndürür.

Durum Flow Ekle

önceki durum ve durum değişikliği hesaplanmış sütunları ile, belirli bir iş öğesi için durum Flow göstermeye yardımcı olacak bir sütun oluşturabilirsiniz. Bu sütunun oluşturulması, bu makalenin amaçları doğrultusunda isteğe bağlıdır.

Önemli

Önceki durum ve durum değiştirme hesaplanmış sütunlarını tabloya eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni sütun ' ı 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çümlere geçtiğimiz gibi, belirli bir iş öğesi için bir veri satırlarını karşılaştırmak üzere toplam durum değişikliği sayısının bir gösterimine sahip olması gerekir. Bir durum değişikliği sayısı hesaplanmış sütunu ekleyerek temsili elde ediyoruz.

Önemli

Durum değiştirilen hesaplanmış sütununu tabloya eklemiş olmanız gerekir.

Modelleme sekmesinde Yeni sütun ' ı 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ı ekleme-gün cinsinden son önerilen ve durum yeniden başlatma zamanı

Yeniden başlatmalar hesaplama, gün cinsinden durum yeniden başlatma süresioldukça karmaşık bir hesaplama. İlk adım, bir iş öğesinin önerilen durumda olduğu son zamanı bulmaya yönelik olur. Durum değiştirme sayısı-önerilen son hesaplanmış sütunu ekleyin.

Not

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

Modelleme sekmesinde Yeni sütun ' ı seçin ve ardından 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"
)

Daha sonra, geçmişte geri dönün ve bu önerilen durumdan önce bazı etkin durumlar olup olmadığına bakın. Son olarak, son önermadan önce iş öğesinin etkin durumda olduğu tüm günleri toplayın.

Modelleme sekmesinde Yeni sütun ' ı 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

Her veri satırı için gün olarak yeniden başlatma zamanı güncelleştirildiğinden, belirli sprintlerdeki yeniden çalışmayı değerlendirmek için bir eğilim oluşturabilir ya da ' geçerli ' kullanarak bireysel çalışma öğeleri için yeniden çalışmayı inceleyebilirsiniz.

Durum yeniden çalışma süresini günlere ekleyin

Gün cinsinden durum yeniden başlatma zamanınabenzer şekilde, durum çalışma süresi gün olarak, bir iş öğesinin tamamlanan durum kategorisinde ilk kez olduğu şekilde görünür. Bu süreden sonra, her gün bir iş öğesi tamamlandı durumundan başka bir durumda harcadığı için yeniden çalışma sayılır.

Modelleme sekmesinde Yeni sütun ' ı 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

Projeniz tarafından kullanılan iş akışı durumlarına göre yukarıdaki tanımı düzeltmeniz gerekebilir. Örneğin, projeniz ' Closed ' yerine ' bitti ' kullanıyorsa.

DAX işlevleri

Bu bölümde, hesaplanan sütunları ve bu makaleye eklenen ölçüyü oluşturmak için kullanılan DAX işlevleri için ek bilgiler verilmiştir.

  • CALCULATE: Bu işlev, neredeyse tüm örneklerin temelini oluşturur. Temel yapı, ardından ifadeye uygulanan bir dizi filtre tarafından izlenen bir ifadedir.

  • COUNTROWS: Bu işlev, COUNTROWS ( 'View Name' ) yalnızca filtreler uygulandıktan sonra kalan satır sayısını sayar.

  • LASTDATE: LASTDATE Bir ifadeye filtre uyguladık, örneğin LASTDATE ( 'View Name'[Date] ) , tablodaki tüm satırlarda en yeni tarihi bulmak ve aynı tarihi paylaşmayan satırları ortadan kaldırmak için. Bir analiz görünümü tarafından oluşturulan anlık görüntü tablosu ile, bu filtre seçilen dönemin son gününü etkin bir şekilde seçer.

  • MAX: Bir sütundaki en büyük sayısal değeri veya İki skaler ifade döndürür. MAX ( 'View Name'[Date] )Tüm filtreler uygulandıktan sonraki en son tarihi belirlemede uygulamamız gerekir.

  • ALLEXCEPT: Belirtilen sütunlara uygulanmış filtreler hariç 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ş Öğesı kimliğini paylaşan olanlarla azaltır.

  • EARLIER: Belirtilen sütunun bir dış değerlendirme geçişinde belirtilen sütunun geçerli değerini döndürür. Örneğin, 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) daha fazla veri kümesini yalnızca işlevi kullanılarak başvurulan geçerli satırın tarihinden önce gerçekleşen satırlara kadar azaltır EARLIER . EARLIER önceki tarihlere başvurmazsa, özel olarak hesaplanmış sütunun Row bağlamını tanımlar

  • ISBLANK: Değerin boş olup olmadığını denetler ve TRUE veya FALSE değerini döndürür. ISBLANKISBLANK bir değere sahip olup olmadığını belirlemekte geçerli satırı değerlendirir. Aksi takdirde, IF ifadesinde Tarih farkı gün olarak 1 ' e ayarlanır.

  • DATEDIFF: İki tarih arasında çapraz Aralık sınırları sayısını döndürür. DATEDIFFTarih danDATEDIFF , aralarındaki gün sayısını belirleyecek şekilde çıkartır.

  • LOOKUPVALUE: Search_columnName ve search_valuetarafından belirtilen tüm ölçütlere uyan satır için LOOKUPVALUE değeri döndürür.