addWorkDays - Amazon QuickSight

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

addWorkDays

addWorkDaysMenambahkan atau mengurangi jumlah hari kerja yang ditentukan ke nilai tanggal tertentu. Fungsi mengembalikan tanggal untuk hari kerja, yang jatuh hari kerja yang ditentukan setelah atau sebelum nilai tanggal input yang diberikan.

Sintaks

addWorkDays(initDate, numWorkDays)

Pendapat

InitDate

Tanggal non-Null valid yang bertindak sebagai tanggal mulai untuk perhitungan.

  • Bidang dataset - date Bidang apa pun dari kumpulan data yang Anda tambahkan fungsi ini.

  • Fungsi tanggal - Setiap keluaran tanggal dari date fungsi lain, misalnyaparseDate,epochDate,addDateTime., dan sebagainya.

    addWorkDays(epochDate(1659484800), numWorkDays)
  • Bidang QuickSight terhitung - Setiap bidang terhitung yang mengembalikan date nilai.

    calcFieldStartDate = addDateTime(10, “DD”, startDate) addWorkDays(calcFieldStartDate, numWorkDays)
  • Parameter — QuickSight datetime Parameter apa pun.

    addWorkDays($paramStartDate, numWorkDays)
  • Setiap kombinasi dari nilai-nilai argumen yang dinyatakan di atas.

numWorkDays

Sebuah integer non-Null yang bertindak sebagai tanggal akhir untuk perhitungan.

  • Literal — Sebuah literal integer langsung diketik dalam editor ekspresi.

  • Bidang Dataset - Setiap bidang tanggal dari kumpulan data

  • Fungsi skalar atau perhitungan — Setiap QuickSight fungsi skalar yang mengembalikan output integer dari yang lain, misalnya, decimalToIntabs, dan seterusnya.

    addWorkDays(initDate, decimalToInt(sqrt (abs(numWorkDays)) ) )
  • Bidang QuickSight terhitung - Setiap bidang terhitung yang mengembalikan date nilai.

    someOtherIntegerCalcField = (num_days * 2) + 12 addWorkDays(initDate, someOtherIntegerCalcField)
  • Parameter - QuickSight datetime Parameter apa pun.

    addWorkDays(initDate, $param_numWorkDays)
  • Setiap kombinasi dari nilai-nilai argumen yang dinyatakan di atas.

Jenis pengembalian

Bilangan Bulat

Nilai Ouptut

Nilai output yang diharapkan meliputi:

  • Bilangan bulat positif (ketika start_date < end_date)

  • Integer negatif (ketika start_date > end_date)

  • NULL ketika salah satu atau kedua argumen mendapatkan nilai null dari. dataset field

Kesalahan masukan

Nilai argumen yang tidak diizinkan menyebabkan kesalahan, seperti yang ditunjukkan pada contoh berikut.

  • Menggunakan NULL literal sebagai argumen dalam ekspresi tidak diizinkan.

    addWorkDays(NULL, numWorkDays)
    Error At least one of the arguments in this function does not have correct type. Correct the expression and choose Create again.
  • Menggunakan string literal sebagai argumen, atau tipe data lain selain tanggal, dalam ekspresi tidak diizinkan. Dalam contoh berikut, string "2022-08-10" terlihat seperti tanggal, tetapi sebenarnya adalah string. Untuk menggunakannya, Anda harus menggunakan fungsi yang mengonversi ke tipe data tanggal.

    addWorkDays("2022-08-10", 10)
    Error Expression addWorkDays("2022-08-10", numWorkDays) for function addWorkDays has incorrect argument type addWorkDays(String, Number). Function syntax expects Date, Integer.

Contoh

Sebuah integer positif sebagai numWorkDays argumen akan menghasilkan tanggal di masa depan tanggal input. Sebuah integer negatif sebagai numWorkDays argumen akan menghasilkan tanggal yang dihasilkan di masa lalu dari tanggal input. Nilai nol untuk numWorkDays argumen menghasilkan nilai yang sama dengan tanggal input apakah itu jatuh pada hari kerja atau akhir pekan.

addWorkDaysFungsi beroperasi pada granularitas:. DAY Akurasi tidak dapat dipertahankan pada setiap granularitas yang lebih rendah atau lebih tinggi dari DAY tingkat.

addWorkDays(startDate, endDate)

Mari kita asumsikan ada bidang bernama employmentStartDate dengan nilai-nilai berikut:

2022-08-10 2022-08-06 2022-08-07

Menggunakan bidang di atas dan perhitungan berikut, addWorkDays mengembalikan nilai-nilai yang dimodifikasi seperti yang ditunjukkan di bawah ini:

addWorkDays(employmentStartDate, 7) 2022-08-19 2022-08-16 2022-08-16 addWorkDays(employmentStartDate, -5) 2022-08-02 2022-08-01 2022-08-03 addWorkDays(employmentStartDate, 0) 2022-08-10 2022-08-06 2022-08-07

Contoh berikut menghitung total bonus pro-rated yang harus dibayarkan kepada setiap karyawan selama 2 tahun berdasarkan berapa hari setiap karyawan benar-benar bekerja.

last_day_of_work = addWorkDays(employment_start_date, 730) total_days_worked = netWorkDays(employment_start_date, last_day_of_work) total_bonus = total_days_worked * bonus_per_day