sebelumnya pada beberapa tahapan yang ada di tutorial ini, harap di ketahui bahwa pemahaman yang saya miliki masih berupa pemahaman teknis pembuatan saja, dan belum hingga level logic dari fungsi yang di gunakan. Untuk diskusi mengenai detail logic yang di gunakan, saya open untuk kita berdiskusi bersama di kolom komentar :)
untuk mempersingkat artikel, langsung saja langkah yang harus dilakukan adalah,
1. Pembuatan Parameter Periode
pertama-tama untuk membuat opsi periode retention yang ingin kita tampilkan, kita dapat membuat parameter control dengan setup seperti gambar berikut
kalian dapat menambahkan value berupa year, quarter, atau day pada kolom value jika ingin menambahkan opsi periode sesuai dengan kebutuhan visualisasi kalian.
setelah itu langkah selanjutnya adalah membuat field-filed dimension yang di butuhkan untuk menandai status customer di tiap bulannya (Churn, retain, or last period)
2. Pembuatan customer field status "Retention Status"
pertama-tama buatlah field dengan nama "Period #" dengan menggunakan function berikut
datepart ([Parameters].[Period], [Order date])
IF DATEPART([Parameters].[Period], [Order date]) % 2 = 1
THEN DATETRUNC([Parameters].[Period], [Order date])
ELSE DATEADD([Parameters].[Period], -1, DATETRUNC([Parameters].[Period], [Order date]))
END
dan field "Period Frame 2" dengan menggunakan function berikut
IF DATEPART([Parameters].[Period], [Order date]) % 2 = 1
THEN DATEADD([Parameters].[Period], -1, DATETRUNC([Parameters].[Period], [Order date]))
ELSE DATETRUNC([Parameters].[Period], [Order date])
END
kemudian langkah selanjutnya buatlah field dengan nama "Period Bin 1" menggunakan function berikut
{FIXED [Customer Id/Customer Name], [Period Frame 1] : COUNTD([Period #])}
dan field dengan nama "Period Bin 2" dengan menggunakan function berikut
{FIXED [Customer Id/Customer Name], [Period Frame 2] : COUNTD([Period #])}
setelah semua field di atas telah di buat maka kita dapat mulai membuat field untuk memberikan status customer di tiap bulannya berdasarkan aktivitas dia di bulan selanjutnya, yaitu dengan menggunakan function berikut (Anda bebas memberikan nama field ini, saya menggunakan nama "Churn")
IF DATETRUNC([Parameters].[Period],[Order date]) = {MAX(DATETRUNC([Parameters].[Period],[Order date]))}
THEN 0
ELSEIF [Period #] % 2 = 1
THEN [Period Bin 1]
ELSE [Period Bin 2]
END
3. Pembuatan Dimensi period waktu
agar parameter period yang kita buat di awal bisa terkoneksi dengan periode waktu yang di visualisasikan maka langkah terakhir yang harus dilakukan adalah membuat periode waktu untuk field dimension dengan function berikut
DATETRUNC([Parameters].[Period], [Create Order date])
jika semua field sudah anda buat maka setup lah worksheet anda seperti gambar di bawah
Jika tampilan anda sudah sesuai dengan gambar di atas, maka anda telah berhasil membuat data visualization dengan menggunakan tableau
* Note: Beberapa nama field saya samarkan dan sesuaikan dengan tutorial untuk menghindari issue data security