Bagikan melalui


Tambahkan ukuran waktu dalam status ke laporan Power BI Anda

Layanan Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Waktu yang dihabiskan item kerja dalam status alur kerja atau serangkaian status tertentu adalah aspek penting untuk memahami efisiensi. Widget Waktu Siklus dan Waktu Tunggu menyediakan beberapa ukuran waktu dalam status. Namun, widget ini mungkin tidak memiliki tingkat detail yang Anda inginkan.

Artikel ini menyediakan resep menggunakan Data Analysis Expressions (DAX) untuk mengevaluasi waktu yang dihabiskan oleh item kerja dalam kombinasi status. Secara khusus, Anda mempelajari cara menambahkan kolom pengukuran dan terhitung berikut ke laporan Power BI Anda dan menggunakannya untuk menghasilkan berbagai bagan tren. Semua kolom adalah kolom terhitung, kecuali yang pertama yang tercantum.

Hitung Deskripsi
Jumlah Item Kerja (ukuran) Menghitung jumlah item kerja yang berbeda berdasarkan entri hari terakhir untuk item kerja
Urutan Negara Menambahkan kolom yang akan digunakan untuk mengurutkan Status dalam alur kerja berdasarkan urutan Kategori Status.
Tanggal Sebelumnya Menambahkan kolom yang menghitung tanggal sebelumnya berdasarkan kolom Tanggal
Perbedaan Tanggal dalam Hari Menambahkan kolom yang menghitung jumlah hari antara kolom Tanggal dan Tanggal Sebelumnya
Adalah Hari Terakhir dalam Status Menambahkan kolom yang menentukan apakah nilai Tanggal adalah hari terakhir item kerja berada dalam Status
Waktu Status dalam Hari Menambahkan kolom yang menghitung jumlah hari yang dihabiskan item kerja di setiap Status
Status Sebelumnya Menambahkan kolom yang mengidentifikasi status sebelumnya untuk setiap baris dalam tabel data
Status Diubah Menambahkan kolom yang menentukan tanggal saat item kerja ditransisikan dari satu Status ke Status lainnya
Alur Keadaan Menambahkan kolom yang mengilustrasikan alur status ketika item kerja melakukan transisi dari satu Status ke Status lainnya
Jumlah Perubahan Status Menambahkan kolom yang menghitung berapa kali item kerja ditransisikan dari satu Status ke Status lainnya
Jumlah Perubahan Status - Pertama Kali Selesai Menambahkan kolom yang menentukan berapa kali item kerja beralih ke status Selesai untuk pertama kalinya. Dengan kata lain, ketika berpindah dari status lain ke status Selesai.
Jumlah Perubahan Status - Yang Terakhir Diusulkan Menambahkan kolom yang menentukan apakah item kerja berada dalam status Diusulkan sebelumnya setelah ditransisikan ke Status selanjutnya
Waktu Mulai Ulang Status dalam Hari Menambahkan kolom yang menghitung hari yang dihabiskan item kerja dalam status hidupkan ulang
Waktu Pengerjaan Ulang Status dalam Hari Menambahkan kolom yang menghitung hari yang dihabiskan item kerja dalam status selain Selesai

Penting

  • Saat menambahkan kolom terhitung atau ukuran seperti contoh yang ditunjukkan dalam artikel ini, ganti Nama Tampilan dengan nama tabel untuk tampilan Analitik atau tabel data. Misalnya, ganti Nama Tampilan dengan Bug Aktif.
    Cuplikan layar tab alat Tabel Power BI, Nama tabel data.
  • Analitik tidak mendukung revisi intra-hari. Contoh ini memiliki presisi paling baik saat menggunakan interval Harian saat mereferensikan tampilan Analitik.
  • Semua revisi intra-hari atau intra-periode (mingguan/bulanan) diabaikan dalam perhitungan, yang dapat menyebabkan hasil yang tidak terduga untuk skenario tertentu seperti item kerja yang tidak menunjukkan waktu "Sedang Berlangsung" sementara item tersebut "Sedang Berlangsung" selama kurang dari sehari.
  • Agregasi default Power BI digunakan jika memungkinkan alih-alih membangun pengukuran.
  • Beberapa perhitungan termasuk +0 untuk memastikan bahwa nilai numerik disertakan untuk setiap baris, bukan BLANK.
  • Anda mungkin perlu merevisi beberapa definisi kolom terhitung berdasarkan status alur kerja yang digunakan oleh proyek Anda. Misalnya, jika proyek Anda menggunakan Baru, Aktif, dan Ditutup sebagai ganti Diusulkan, Sedang Berlangsung, dan Selesai.
  • Kolom Tanggal yang dimaksud dalam artikel ini bukan kolom asli di Azure DevOps; Ini adalah kolom turunan yang dibuat dalam Power BI untuk memfasilitasi laporan Waktu dalam Status . Anda dapat membuat kolom ini menggunakan kolom terkait tanggal yang ada, seperti "Tanggal Diubah" atau "Tanggal Perubahan Status."

Prasyarat

Kategori Persyaratan
Tingkat-tingkat akses - Anggota proyek.
- Setidaknya akses Dasar .
Izin Secara default, anggota proyek memiliki izin untuk mengkueri Analytics dan membuat tampilan. Untuk informasi selengkapnya tentang prasyarat lain mengenai pengaktifan layanan dan fitur serta aktivitas pelacakan data umum, lihat Izin dan prasyarat untuk mengakses Analitik.

Catatan

Untuk menjalankan semua pengukuran waktu dalam status yang dijelaskan dalam artikel ini, pastikan untuk menyertakan bidang berikut dalam Tampilan Analitik, Power Query, atau kueri OData Anda: Tanggal Dibuat dan Kategori Status selain bidang-bidang default: Jalur Area, Ditetapkan Ke, Jalur Perulangan, Status, Judul, ID Item Kerja, dan Jenis Item Kerja.

Selain itu, pertimbangkan untuk menggunakan tampilan Analitik berdasarkan granularitas Harian . Contoh dalam artikel ini didasarkan pada tampilan Analitik Bug Aktif yang ditentukan dalam Membuat laporan bug aktif di Power BI berdasarkan tampilan Analitik kustom, dengan pengecualian bahwa 60 hari Riwayat dan tingkat detail Harian dipilih. Tentukan juga apakah Anda ingin meninjau item kerja yang selesai atau ditutup.

Tambahkan pengukuran Jumlah Item Kerja

Untuk menyederhanakan pembuatan laporan dengan cepat, kami merancang tampilan Analytics untuk bekerja dengan agregasi default di Power BI. Untuk mengilustrasikan perbedaan antara agregasi default dan ukuran, kita mulai dengan ukuran jumlah item kerja sederhana.

  1. Muat tampilan Analitik Anda ke Power BI Desktop. Untuk detailnya, lihat Menghubungkan dengan Konektor Data Power BI, Menghubungkan ke tampilan analitik.

  2. Pilih tabel data, lalu dari tab Alat tabel, bagian Perhitungan dari pita, pilih Ukuran baru.

    Cuplikan layar tab alat Tabel Power BI, Pengukuran baru.

  3. Ganti teks default dengan kode berikut lalu pilih tanda centang.

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

    Pengukuran Jumlah Item Kerja menggunakan CALCULATEfungsi , , COUNTROWSdan LASTDATE DAX yang dijelaskan secara lebih rinci nanti di artikel ini.

    Catatan

    Ingatlah untuk mengganti Nama Tampilan dengan nama tabel untuk tampilan Analitik. Misalnya, di sini kita mengganti Nama Tampilan dengan Bug Aktif.

    Cuplikan layar tab alat Pengukuran Power BI, sintaks Jumlah Item Kerja.

Apa perbedaan antara ukuran dengan kolom terhitung?

Pengukuran selalu mengevaluasi seluruh tabel, sedangkan kolom terhitung hanya berlaku untuk satu baris. Untuk informasi selengkapnya, lihat Kolom Terhitung dan Ukuran di DAX.

Bandingkan ukuran Jumlah Item Kerja dengan penghitungan agregasi default berdasarkan ID Item Kerja. Gambar berikut dibuat dengan menambahkan visual Kartu dan metrik Jumlah Item Kerja ke kartu pertama, serta properti ID Item Kerja ke kartu kedua.

Cuplikan layar halaman laporan Power BI, dua kartu memperlihatkan pengukuran Jumlah Item Kerja dan properti ID Item Kerja.

Untuk mendapatkan jumlah yang tepat menggunakan agregasi default, Anda menerapkan filter Saat Ini yang sama dengan 'Benar.' Pola penerapan filter ke agregasi default ini adalah dasar untuk banyak contoh yang disediakan dalam artikel ini.

Cuplikan layar halaman laporan Power BI, jumlah ID item kerja difilter.

Tambahkan Urutan Pengurutan Status

Secara default, Power BI memperlihatkan status diurutkan menurut abjad dalam visualisasi. Ini bisa menyesatkan ketika Anda ingin memvisualisasikan waktu dalam status dan Diusulkan muncul setelah Sedang Berlangsung. Langkah-langkah berikut membantu mengatasi masalah ini.

  1. Verifikasi bahwa bidang Kategori Status disertakan dalam tampilan Analitik. Elemen ini disertakan dalam semua tampilan default yang dibagikan.

  2. Pilih tabel data, lalu dari tab Alat tabel, bagian Perhitungan dari pita, pilih Kolom baru.

    Cuplikan layar tab alat Tabel Power BI, kolom Baru.

  3. Ganti teks default dengan kode berikut lalu pilih tanda centang.

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

    Lihat contoh berikut:

    Cuplikan layar tab alat Tabel Power BI, entri kategori status.

    Catatan

    Anda mungkin perlu merevisi definisi jika Anda membutuhkan lebih banyak granularitas daripada yang disediakan Kategori Status . Kategori Status menyediakan pengurutan yang benar di semua jenis item kerja, terlepas dari kustomisasi Status apa pun.

  4. Buka tampilan Data dan pilih kolom Status.

  5. Dari tab Alat Kolom, pilih Urutkan menurut Kolom lalu pilih Urutan Urut Status.

    Cuplikan layar tab alat Kolom Power BI, Urutkan menurut pilihan kolom.

Tambahkan Tanggal Sebelumnya

Langkah berikutnya untuk menghitung waktu dalam status memerlukan pemetaan interval sebelumnya (hari, minggu, bulan) untuk setiap baris data dalam himpunan data. Ini adalah perhitungan sederhana menggunakan kolom terhitung. Biasanya, Anda akan menentukan kolom ini seperti yang ditunjukkan.

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

Namun, pendekatan ini memiliki dua masalah utama:

  • Ini hanya berfungsi untuk periode harian.
  • Ini tidak menangani kesenjangan dalam data. Misalnya, jika item kerja dipindahkan di antara proyek.

Untuk mengatasi masalah ini, kolom yang dihitung harus menemukan hari sebelumnya dengan memindai bidang Tanggal.

Untuk menambahkan kolom terhitung Tanggal Sebelumnya, dari tab Alat Tabel, pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Kolom Tanggal Sebelumnya yang dihitung menggunakan tiga fungsi DAX, MAX, ALLEXCEPT, dan EARLIER, yang akan dijelaskan secara lebih rinci dalam artikel ini nanti. Karena kolom dihitung, kolom berjalan untuk setiap baris dalam tabel, dan setiap kali dijalankan, kolom tersebut memiliki konteks baris tertentu.

Cuplikan layar dari diagram tabel Power BI dan tab Visualisasi yang menampilkan Tanggal dan Tanggal Sebelumnya.

Petunjuk

Dari menu konteks untuk bidang Tanggal dan Tanggal Sebelumnya, pilih Tanggal (alih-alih Hierarki Tanggal) agar dapat melihat satu tanggal untuk bidang ini.

Tambahkan Selisih Tanggal dalam Hari

Tanggal Sebelumnya menghitung perbedaan antara tanggal sebelumnya dan saat ini untuk setiap baris. Dengan Selisih Tanggal dalam Hari, kami menghitung jumlah hari antara masing-masing periode tersebut. Untuk sebagian besar baris dalam rekam jepret harian, nilainya sama dengan 1. Namun, untuk banyak item kerja yang memiliki celah dalam himpunan data, nilainya lebih besar dari 1.

Penting

Mengharuskan Anda menambahkan kolom terhitung Tanggal Sebelumnya ke tabel.

Penting untuk mempertimbangkan hari pertama himpunan data di mana Tanggal Sebelumnya kosong. Dalam contoh ini, kami memberi baris tersebut nilai standar 1 untuk menjaga perhitungan tetap konsisten.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Kolom terhitung ini menggunakan fungsi DAX ISBLANK dan DATEDIFF yang dijelaskan nanti dalam artikel ini.

Tambahkan Hari Terakhir dalam Status

Dalam langkah berikutnya ini, kami menghitung apakah baris tertentu mewakili hari terakhir item kerja tertentu berada dalam status. Ini mendukung agregasi default di Power BI yang akan kita tambahkan pada bagian berikutnya, yaitu ketika kita menambahkan kolom State Time in Days.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Tambahkan Waktu Status dalam Hari

Waktu yang dihabiskan item kerja dalam status tertentu sekarang dapat dihitung dengan menjumlahkan Perbedaan Tanggal dalam Hari untuk setiap item kerja. Perhitungan ini mencakup semua waktu yang dihabiskan dalam keadaan tertentu meskipun beralih antar status beberapa kali. Dimungkinkan untuk mengevaluasi setiap baris sebagai tren menggunakan Tanggal atau informasi terbaru dengan menggunakan Is Last Day In State.

Penting

Mengharuskan Anda menambahkan Selisih Tanggal dalam Hari dan Adalah Hari Terakhir dalam Status ke kolom terhitung ke tabel.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Membuat bagan tren kolom bertumpuk berdasarkan Waktu Status dalam Hari

Untuk menunjukkan kolom Waktu Status dalam Hari , bagan kolom bertumpuk berikut dibuat. Bagan pertama memperlihatkan jumlah item kerja di setiap status dari waktu ke waktu.

Cuplikan layar bagan kolom bertumpuk Power BI dan tab Visualisasi yang mengilustrasikan jumlah judul item kerja menurut tanggal dan status.

Bagan kedua mengilustrasikan tren hari rata-rata item kerja aktif dalam keadaan tertentu.

Cuplikan layar bagan kolom bertumpuk Power BI dan tab Visualisasi yang mengilustrasikan hari rata-rata dalam status untuk item kerja menurut tanggal.

Tambahkan Waktu Status dalam Hari - Terbaru (Adalah Hari Terakhir Dalam Status)

Saat mengevaluasi waktu dalam status untuk setiap item kerja dalam tabel atau saat difilter menurut bidang seperti Area Path, jangan gunakan kolom Waktu Status dalam Hari untuk agregasi. Agregasi menggunakan nilai untuk setiap hari elemen kerja berada dalam suatu status tertentu. Misalnya, jika item kerja Sedang Berlangsung pada hari Senin dan dipindahkan ke Selesai pada hari Kamis, waktu dalam status adalah tiga hari, tetapi jumlah Waktu Status dalam kolom Hari adalah enam hari, 1+2+3, yang salah.

Tambahkan Durasi Status dalam Hari - Terbaru.

Untuk mengatasi masalah ini, gunakan Waktu Status dalam Hari dan terapkan filter Hari Terakhir dalam Status sama dengan 'True.' Ini menghilangkan semua data historis yang diperlukan untuk tren dan berfokus hanya pada nilai terbaru untuk setiap status.

Gunakan Waktu Status dalam Hari dan terapkan filter Hari Terakhir Dalam Status sama dengan 'Benar'.

Tambahkan Durasi Status dalam Hari - Proses Berlangsung

Dalam contoh sebelumnya, Waktu Status dalam Hari untuk item kerja tertentu hanya dihitung saat item kerja berada dalam status tertentu. Jika tujuan Anda adalah untuk memiliki waktu dalam status untuk item kerja tertentu dihitung terhadap rata-rata terus menerus, Anda harus mengubah perhitungan. Misalnya, jika kita ingin melacak status "Sedang Berlangsung", kita menambahkan kolom terhitung State Time in Days - In Progress.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Catatan

Anda mungkin perlu merevisi definisi berdasarkan status alur kerja yang digunakan oleh proyek Anda. Misalnya, proyek yang digunakan dalam contoh dalam artikel ini menggunakan status alur kerja 'Sedang Berlangsung', namun, proses Agile, Scrum, dan CMMI biasanya menggunakan status 'Aktif' atau 'Berkomitmen' untuk mewakili pekerjaan yang sedang berlangsung. Untuk gambaran umum, lihat Status alur kerja dan kategori status.

Gambar berikut menunjukkan efek dari mempertimbangkan seluruh waktu dalam keadaan untuk setiap item kerja yang ada (di sebelah kiri) dibandingkan dengan hanya item kerja yang berada dalam keadaan tertentu pada hari tertentu (di sebelah kanan).

Perbandingan Tren Waktu Rata-Rata dalam Status

Tren Waktu Status dalam Hari dari beberapa status

Menganalisis performa di beberapa negara bagian juga dimungkinkan menggunakan pola kerja "Berkelanjutan". Namun, pendekatan ini hanya berfungsi dengan bagan tren.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Catatan

Anda mungkin perlu merevisi definisi berdasarkan status alur kerja yang digunakan oleh proyek Anda. Misalnya, jika proyek Anda menggunakan 'Aktif' sebagai pengganti 'Berkomitmen' atau 'Diusulkan.'

Bagan sebelah kiri menunjukkan rata-rata gabungan sementara sisi kanan memperlihatkan setiap status individual.

Perbandingan tren beberapa status

Dapatkan Waktu Negara dalam Hari - Pembaruan Terbaru untuk beberapa negara

Anda menggunakan kolom dihitung "Waktu Status Terbaru dalam Hari" saat membuat tren. Dengan filter pada sekumpulan status, kolom State Time in Days dan Is Last Day in State memberikan cara sederhana untuk mendapatkan total waktu setiap item kerja atau grup item kerja yang dihabiskan dalam sekumpulan status.

Waktu Terbaru di Negara Bagian

Tambahkan Negara Sebelumnya

Kolom Tanggal Sebelumnya yang Dihitung juga dapat digunakan untuk mencari nilai lampau seperti keadaan sebelumnya untuk setiap item kerja.

Penting

Mengharuskan Anda untuk menambahkan kolom Tanggal Sebelumnya yang dihitung ke dalam tabel.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Kolom terhitung ini menggunakan LOOKUPVALUE, dijelaskan nanti dalam artikel ini.

Parameter pertama LOOKUPVALUE , 'View Name'[State], menentukan untuk mengembalikan nilai [State].

Parameter berikutnya, 'View Name'[Work Item Id], 'View Name'[Work Item Id], menentukan bahwa hanya baris dengan ID item kerja yang cocok sebagai baris saat ini yang harus dipertimbangkan.

Dan, parameter terakhir, 'View Name'[Date], 'View Name'[Date Previous], menentukan bahwa tanggal baris yang dikembalikan harus memiliki [Tanggal] yang cocok dengan [Tanggal Sebelumnya] dari baris saat ini. Dalam rekam jepret, hanya satu baris yang dapat memenuhi kriteria ini.

Tambahkan Perubahan Status

Dengan menggunakan kolom Status Sebelumnya, kita dapat menandai baris untuk setiap item kerja tempat transisi status terjadi. Kolom hitung "Perubahan Tahap" memiliki dua pertimbangan khusus:

  • Nilai kosong dari *Status Sebelumnya, yang kita atur ke Tanggal Dibuat dari item kerja
  • Pembuatan item kerja dianggap sebagai suatu transisi status

Penting

Mengharuskan Anda menambahkan kolom terhitung Status Sebelumnya ke tabel.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Kolom terhitung adalah nilai boolean yang mengidentifikasi apakah baris adalah transisi status. Dengan menggunakan Not Equal To operator, Anda menangkap baris dengan benar di mana status sebelumnya tidak cocok dengan status saat ini, yang berarti perbandingan mengembalikan True seperti yang diharapkan.

Tambahkan Alur Status

Dengan kolom terhitung Status Sebelumnya dan Status Diubah, Anda bisa membuat kolom yang mengilustrasikan Alur Status untuk item kerja tertentu. Membuat kolom ini bersifat opsional untuk tujuan artikel ini.

Penting

Mengharuskan Anda menambahkan kolom terhitung Status Sebelumnya dan Status Diubah ke tabel.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Tambahkan Jumlah Perubahan Status

Saat kita beralih ke langkah-langkah yang lebih rumit, kita harus memiliki representasi dari jumlah total perubahan status untuk membandingkan baris data untuk item kerja tertentu. Kami mendapatkan representasi dengan menambahkan kolom perhitungan Jumlah Perubahan Status.

Penting

Mengharuskan Anda menambahkan kolom terhitung Status Diubah ke tabel.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Tambahkan Jumlah Perubahan Status - Terakhir Diusulkan dan Waktu Mulai Ulang Status dalam Hari

Waktu Mulai Ulang Status dalam Hari adalah perhitungan yang cukup kompleks. Langkah pertama adalah menemukan waktu terakhir item kerja berada dalam status usulan. Tambahkan Kolom yang Dihitung "Jumlah Perubahan Status - yang Diusulkan Terakhir".

Catatan

Anda mungkin perlu merevisi definisi berikut berdasarkan status alur kerja yang digunakan oleh proyek Anda. Misalnya, jika proyek Anda menggunakan 'Baru' sebagai pengganti 'Diusulkan'.

Dari tab Pemodelan , pilih Kolom baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Kemudian, lihat lebih jauh ke masa lalu dan lihat apakah ada beberapa status aktif sebelum status yang diusulkan ini. Terakhir, jumlahkan semua hari ketika item kerja dalam status aktif sebelum yang terakhir diusulkan.

Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

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

Karena Waktu Mulai Ulang Status dalam Hari diperbarui untuk setiap baris data, Anda dapat membuat tren untuk mengevaluasi pengerjaan ulang di seluruh sprint tertentu atau memeriksa pengerjaan ulang untuk item kerja individual dengan menggunakan Is Current.

Tambahkan Durasi Pengerjaan Ulang Status dalam Hitungan Hari

Mirip dengan Waktu Mulai Ulang Status dalam Hari, Waktu Pengerjaan Ulang Status dalam Hari mencari pertama kali item kerja berada dalam kategori status Selesai. Setelah itu, setiap hari item kerja dihabiskan dalam status selain Selesai, dihitung sebagai pengerjaan ulang.

  1. Buat kolom "Jumlah Perubahan Status - Pertama Kali Diselesaikan". Kolom ini melacak berapa kali item kerja beralih ke status Selesai dari status lain.

    State Change Count - First Completed =
    VAR CompletedState = "Completed"
    RETURN
    CALCULATE(
       COUNTROWS('View Name'),
       FILTER(
           'View Name',
           'View Name'[State] = CompletedState
           && 'View Name'[State Changed] = TRUE()
       )
    )
    
  2. Dari tab Pemodelan , pilih Kolom Baru lalu ganti teks default dengan kode berikut dan pilih tanda centang.

    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
    )
    

    Catatan

    Anda mungkin perlu merevisi definisi sebelumnya berdasarkan status alur kerja yang digunakan oleh proyek Anda. Misalnya, jika proyek Anda menggunakan Selesai sebagai ganti Tertutup, dan sebagainya.

Fungsi DAX

Informasi tambahan disediakan di bagian ini untuk fungsi DAX yang digunakan untuk membuat kolom terhitung dan ukuran yang ditambahkan dalam artikel ini. Lihat juga DAX, Fungsi kecerdasan waktu.

Fungsi Deskripsi
ALLEXCEPT Menghapus semua filter konteks dalam tabel kecuali filter yang diterapkan ke kolom yang ditentukan. Pada dasarnya, ALLEXCEPT ('View Name'', 'View Name'[Work Item Id]) mengurangi baris dalam tabel menjadi hanya baris yang berbagi ID item kerja yang sama dengan baris saat ini.
CALCULATE Fungsi ini adalah dasar untuk hampir semua contoh. Struktur dasar adalah ekspresi diikuti oleh serangkaian filter yang diterapkan ke ekspresi.
COUNTROWS Fungsi ini, COUNTROWS ( 'View Name' ), cukup menghitung jumlah baris yang tersisa setelah filter diterapkan.
DATEDIFF Mengembalikan jumlah batas interval yang dilewati antara dua tanggal. DATEDIFF mengurangi Tanggal Sebelumnya dari Tanggal untuk menentukan jumlah hari di antaranya.
EARLIER Mengembalikan nilai saat ini dari kolom yang ditentukan dalam penilaian eksternal dari kolom tersebut. Misalnya, 'View Name'[Date] < EARLIER ( 'View Name'[Date] ) lebih lanjut menyaring himpunan data sehingga hanya mencakup baris yang muncul sebelum tanggal untuk baris saat ini, yang direferensikan dengan menggunakan fungsi EARLIER. EARLIER tidak mengacu pada tanggal sebelumnya; ini secara khusus mendefinisikan konteks baris kolom terhitung.
ISBLANK Memeriksa apakah nilai kosong, dan mengembalikan TRUE atau FALSE. ISBLANK mengevaluasi baris saat ini untuk menentukan apakah Tanggal Sebelumnya memiliki nilai. Jika tidak, pernyataan 'If' menetapkan Selisih Tanggal dalam Hari ke 1.
LASTDATE Kami menerapkan LASTDATE filter ke ekspresi, misalnya LASTDATE ( 'View Name'[Date] ), untuk menemukan tanggal terbaru di semua baris dalam tabel dan menghilangkan baris yang tidak berbagi tanggal yang sama. Dengan tabel rekam jepret yang dihasilkan oleh tampilan Analitik, filter ini secara efektif memilih hari terakhir periode yang dipilih.
LOOKUPVALUE Mengembalikan nilai dalam result_columnName untuk baris yang memenuhi semua kriteria yang ditentukan oleh search_columnName dan search_value.
MAX Mengembalikan nilai numerik terbesar dalam kolom, atau di antara dua ekspresi skalar. Kami menerapkan MAX ( 'View Name'[Date] ), untuk menentukan tanggal terbaru setelah semua filter diterapkan.