Smartsheet Dashboard - Combine Python in R Dashboard

Intro

Kita akan membuat sebuah dashboard untuk memonitor list pekerjaan yang dimaintain menggunakan Aplikasi Smartsheet. Pada aplikasi smartsheetnya, kita harus membuat Row Report terlebih dahulu, dimana format report dapat disesuaikan dengan kebutuhan.

Tahap berikutnya adalah mengambil data dari Report Smartsheet menggunakan API dalam Python lalu menampilkan dashboard sederhana atas project tsb.

Ambil Report Smartsheet

Karena API smartsheet tersedia dalam Python, maka kita akan menggunakan library reticulate untuk menjalankan script Python di aplikasi R.

## python:         C:/ProgramData/Anaconda3/python.exe
## libpython:      C:/ProgramData/Anaconda3/python37.dll
## pythonhome:     C:/ProgramData/Anaconda3
## version:        3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
## Architecture:   64bit
## numpy:          C:/ProgramData/Anaconda3/Lib/site-packages/numpy
## numpy_version:  1.17.4
## 
## NOTE: Python version was forced by RETICULATE_PYTHON

Pada saat men-deploy aplikasi ke server (misal : ShinyApps), kita harus menyiapkan environment untuk Python kita dengan cara :

Setelah environment Python siap, kita bisa mengambil data report dari Smartsheet lalu ditampung ke CSV file yang bernama report.csv dengan cara :

Token dan report ID harus diisi sesuai dengan informasi dari Smartsheet masing-masing.

Setelah download CSV file berhasil, kita akan load CSV file tsb :

Contoh data yang dihasilkan dari Report Smartsheet adalah :

Keterangan :

  1. Sheet.Name : masing-masing project akan di-manage di sheet terpisah, sehingga Sheet.Name = Project Name.
  2. Sprint : masing-masing project akan terdiri terdiri dari beberapa Sprint.
  3. Primary : berisi keterangan sesuai Type.
  4. Type : berisi Tipe keterangan : Project / Features / Backlogs / Tasks / Checklists / Issues.
  5. Status : status dari masing-masing items.
  6. Assigned.To : PIC yang mengerjakan masing-masing items.
  7. Start : plan tanggal mulai pengerjaan items.
  8. Finish : plan tanggal selesai pengerjaan items.
  9. X..Complete : %progress masing-masing items.

Setelah Load Data berhasil, kita akan mengubah tipe data sesuai kebutuhan:

Buat Dashboard Sederhana

Pertama, kita akan membuang tipe “Project” dari dashboard kita karena kita akan memonitor detail projectnya.

##    Sprint                                                    Primary     Type
## 1                                                                            
## 2                                                          (Testing)         
## 3       1                                     01. Template Web Admin Features
## 4       1                           01. Template Web Admin (Testing) Features
## 5       1                                  01.01. Template Web Admin Backlogs
## 6       1                        01.01. Template Web Admin (Testing) Backlogs
## 7       1                                    01.01.A. Pilih template    Tasks
## 8       1                          01.01.A. Pilih template (Testing)    Tasks
## 9       1           01.01.B. Ubah tampilan web lama ke template baru    Tasks
## 10      1 01.01.B. Ubah tampilan web lama ke template baru (Testing)    Tasks
##      Status Assigned.To      Start     Finish X..Complete completed
## 1                             <NA>       <NA>          NA         N
## 2                             <NA>       <NA>          NA         N
## 3   Testing             2020-01-06 2020-02-11          88         N
## 4   Testing             2020-01-06 2020-02-11          88         N
## 5   Testing             2020-01-06 2020-02-11          88         N
## 6   Testing             2020-01-06 2020-02-11          88         N
## 7   Testing             2020-01-06 2020-02-11          83         N
## 8   Testing             2020-01-06 2020-02-11          83         N
## 9  Complete             2020-01-06 2020-01-10         100         Y
## 10 Complete             2020-01-06 2020-01-10         100         Y
  1. Menampilkan jumlah Features per Status :
##   count
## 1     2
  1. Menampilkan jumlah Backlogs dan Tasks per Status :

  1. Menampilkan tasks yang overdue per hari ini :
  1. Menampilkan workload masing-masing PIC untuk task2 yang belum selesai dikerjakan:

  1. Menampilkan task-task yang blm selesai dikerjakan :

Penutup

Setelah semua data selesai dipersiapkan, langkah berikutnya adalah men-deploy dashboard ke server (misal : ShinyApps). Hasilnya dapat dilihat disini : Smartsheet Dashboard.

Dashboard ini dapat digunakan oleh Management untuk melihat summary dari masing-masing project sehingga dapat mengindentifikasi delivery sebuah project apakah on time atau delay berdasarkan dari tasks dan workload masing-masing PIC.

Sabrina Ingrid Davita

31 Jan 20