1.
Username
Validif:
AND(
ISNOTBLANK([Username]),
IN([_THISROW_AFTER].[Username], Home[Userid]),
ISNOTBLANK([Password])
- Valid error:
IFS(
NOT(IN([_THISROW_AFTER].[Username], Home[Userid])),
"USERNAME TIDAK ADA",
ISBLANK([Password]),
""
2. Password
Validif:
[Password] = LOOKUP([Username], "Home", "Userid", "Pass")
- Valid error:
"Password Salah"
- Require:
IN([_THISROW_AFTER].[Username], Home[Userid])
3. Nama
- Formula:
LOOKUP([Username], "Home", "Userid", "Nama")
4. Sebagai
LOOKUP([Username], "Home", "Userid", "Sebagai")
5. UX - User setting
IF(
ISNOTBLANK(USERSETTINGS(Sebagai)),
"🔴 Log Out",
"🟢 Log In"
6. Data - Slice
AND(
[Userid] = USERSETTINGS(Username),
[Pass] = USERSETTINGS(Password),
[Sebagai] = USERSETTINGS(Sebagai)
7. UX - Localize - Save
IF(
AND(CONTEXT("View") = "Settings", ISNOTBLANK(USERSETTINGS(Username))),
"Log Out",
IF(
AND(CONTEXT("View") = "Settings", ISBLANK(USERSETTINGS(Username))),
"Log In",
"Save"
UX - Localize - Cancel
IF(
AND(CONTEXT("View") = "Settings", ISNOTBLANK(USERSETTINGS(Username))),
"❌",
IF(
AND(CONTEXT("View") = "Settings", ISBLANK(USERSETTINGS(Username))),
"",
"Cancel"
8. Header
[Link]
9. Footer
[Link]
=============================================
===========================================
FORMULA
==>SLICE<===
Isnotblank(Any(Select(Filter[NISN],
And([_Thisrow].[TANGGAL]=[MULAI TANGGAL],
[_Thisrow].[TANGGAL]=[SAMPAI TANGGAL],
[_thisrow].[KELAS]=[KELAS]))))
===================================
==>FILTER DATA<==
COUNT(Select(DATA SISWA[NISN],
and(if(Isnotblank([MULAI TANGGAL]),[TANGGAL]>=[_thisrow].[MULAI TANGGAL],True),
if(Isnotblank([SAMPAI TANGGAL]),[TANGGAL]>=[_thisrow].[SAMPAI TANGGAL],True),
if(Isnotblank([KELAS]),[KELAS]=[_thisrow].[KELAS],True)))
====================================
==>JUMLAH SISWA SHOW<==
[_THIS]>0
====================================
==>DATA_PDF<==
Select(DATA SISWA[NISN],
and(if(isnotblank([MULAI TANGGAL]),[TANGGAL]>=[_thisrow].[MULAI TANGGAL],true),
if(isnotblank([SAMPAI TANGGAL]),[TANGGAL]<=[_thisrow].[SAMPAI TANGGAL],true),
if(isnotblank([KELAS]),[KELAS]=[_thisrow].[KELAS],True)))
========================================
==>BEHAVIOR EXPORT DATA csv<==
in(context("view"),list("filter Data Siswa"))
===========================================
==>FORMAT RULER - clear<==
AND(ISBLANK([MULAI TANGGAL]),
ISBLANK([SAMPAI TANGGAL]),
ISBLANK([KELAS]),
==========================================
CONCATENATE([Nomor],".Pdf")
==============================================
LINKTOFILTEREDVIEW("Cetak_Pdf",[_thisrow].[File]=[File]&"&at="&encodeurl(now()+1))
============================================================================
Behavior FORMULA CETAK PDF
Do this==>Data:set the values of same columns in this row
=="/appsheet/data/MASTERDATASMATA-974634762/REKAP ABSEN/"&RIGHT("000" & ([_RowNumber]-1),3)
&" "&[NAMA SISWA]&".pdf"==
==========================================
==SETING NO OTOMATIS kolom number==
CONCATENATE(RIGHT(("000" & ([_RowNumber]-1)),4))
===================================
IF([SCAN_QR] <> "","HADIR","")
===================================
IF(
TIME(NOW()) <= "07:30:00",
"Hadir",
"Terlambat"
)
======================
"[Link] Guru]
================================================
App Formula Jam Masuk & Jam Pulang
IF(ISBLANK([JAM MASUK]),TIME([SCAN]),[JAM MASUK])
IF(AND(NOT(ISBLANK([JAM MASUK])),ISBLANK([JAM PULANG])),TIME(NOW()),[JAM PULANG])
==============================================
FORMULA FILTER SLICE
Isnotblank(Any(Select(Order[NOMOR],
And([_Thisrow].[BULAN]=[BULAN],
[_Thisrow].[NAMA]=[NAMA],))))
==============================================
APP FORMULA STATUS HADIR
IF(
ISNOTBLANK([JAM PULANG]),
"Hadir",
[STATUS] /* atau bisa dikosongkan jika ingin menunggu jam pulang */
)
=================================================
CONCATENATE([Id],"-",UNIQUEID())
=================================================
If(Isblank([Jam Masuk]),Time([Scan]),[Jam Masuk])
STATUS : If(
Isnotblank([Jam Pulang]),
"Hadir",""
)
======================================================
Isnotblank(Any(Select(FILTER[Nomor],
And([_Thisrow].[Bulan]=[Bulan],
[_Thisrow].[Nama]=[Nama]))))
====================================================
COUNT(SELECT(ABSEN GURU[Nomor],
AND(IF(ISNOTBLANK([_THISROW].[Bulan]),[Bulan]=[_THISROW].[Bulan],TRUE),
IF(ISNOTBLANK([_THISROW].[Nama]),[Nama]=[_THISROW].[Nama],TRUE))))
=================================================================
LINK REFERENSI
[Link]
[Link]
[Link]
[Link]