Posted by: zulmach | 11 August 2017

Counting Age in Years, Months, Days Format

umur

Jika ada kebutuhan menghitung umur, berikut trik nya menggunakan computed field di datawindow :

  1. lahir dan meninggal adalah kolom dengan tipe data tgl,
    menghitung tahun tinggal dikurangi saja sambil ngecek jika bulantgl meninggal lebih kecil dari bulantgl lahir maka tahunnya dikurangi lagi 1
  2. lalu untuk yang menghitung bulan, di cek dulu bulan meninggal nya jika lebih kecil tambahkan dg 12 dan cek lagi jika tgl meninggalnya lebih kecil, hasilnya dikurangi satu
  3. untuk menghitung hari nya tambah ribet tu, karena harus menghitung bulan sebelum meninggalnya brp hari apakah 31.30,29,28 jika tanggal meninggal lebih kecil dari tanggal lahir nya. contoh kasusnya gini gan :

umur_29
dikarenakan Feb 2015 berakhir di tanggal 28, maka script dibawah sudah menghitung untuk Feb 2016 yang berakhir di 29 sehingga perhitungan hari nya menjadi lebih akurat.

 

Expression Script nya seperti ini ;

string( if(string (meninggal, 'mmdd') >= string( lahir, 'mmdd'), 
year(meninggal) -year(lahir), year(meninggal)-year(lahir)-1) ) +' Thn '+

string( if(month(meninggal)>=month(lahir),
if( string (meninggal, 'dd') >= string( lahir, 'dd') , 
month(meninggal) -month(lahir),month(meninggal) -month(lahir) -1),
if( string (meninggal, 'dd') >= string( lahir, 'dd') , 
month(meninggal) -month(lahir) + 12, 
month(meninggal) -month(lahir) + 12 -1))) +' Bln ' +

string( 
if ( string (meninggal, 'dd') >= string( lahir, 'dd') ,
long ( string (meninggal,'dd') ) - long ( string( lahir, 'dd') ) ,
long ( string (meninggal,'dd') ) - long ( string( lahir, 'dd') ) + 
if ( isdate ( string ( meninggal, 'yyyy-'+
  string(if( month(meninggal)=1,12, month(meninggal)-1),'00')+'-31')) , 31, 
if ( isdate ( string ( meninggal, 'yyyy-'+
  string(if( month(meninggal)=1,12, month(meninggal)-1),'00')+'-30')) , 30, 
if ( isdate ( string ( meninggal, 'yyyy-'+
  string(if( month(meninggal)=1,12, month(meninggal)-1),'00')+'-29')) , 29, 28 
))))
 ) + ' hr '

 

Nah silahkan copy paste jika diperlukan, semoga bermanfaat

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: