I have a Data table.
Columns :
Timestamp - Date time(Now),
Action - Enum (Values = Clock In and Clock Out)
Employee ID - Number.(Scan)
How to make a user who enters(Scan) his Employee ID see either Clock In or Clock Out.
Clock In - if there is no clock in on that day.
Clock Out - if there is Clock in on that day.
There is an Employees table.
Columns:
Employee ID, Names, Group, QR code(Employee ID).
Help me please. I don’t understand how to do it right. I’ve tried a lot already.
Hi @Antti
Here is an example of where to find the Show_If condition:
black pen:
then the Show_if Condition :
What did you try so far ?
I know where show_if ))
The problem is that I can’t weed out users who have signed in or haven’t signed out yet.
It is necessary for the user to see the Clock In button only if he has not yet done clock In today - the Clock Out button should not be visible.
When the user has already done Clock In, he should see only Clock Out.
OK, thanks for further explanations.
What about, on your Action Valid_If condition:
(Asssuming the table’s screenshot you provided is named “Log”):
IF(
ISBLANK(
FILTER("Log",
AND(
DATE([TimeStamp])=TODAY(),
[Action]="Clock In"
)
)
),
LIST("Clock In"),
LIST("Clock Out")
)
EDIT : you may want to set the initial value under the same conditions.
What about Employee ID?
I want Clock In or Clock Out to appear under conditions after entering Employee ID
You are right, I was forgetting this part.
Assuming Employee ID is an email (and it should preferably be, but it is not mandatory), you may want to use this expression instead:
IF(
ISBLANK(
FILTER("Log",
AND(
DATE([TimeStamp])=TODAY(),
[Action]="Clock In",
[Employee ID]=USEREMAIL()
)
)
),
LIST("Clock In"),
LIST("Clock Out")
)
Hi @Antti I’ve already done this in an app so I can give you some direct
So we had an app where each user has a card. App is on a tablet in reception. People have to scan in and out to start/end work and also the same with breaks.
We have a column called [ScanID] which the user scans their card into. A column called [ClockTime] which is a change timestamp records when the card was scanned. We then have a column called [Type] which works out if your clocking in or clocking our
IF(
ANY(SELECT(Timesheet[Type],
[Clock]=MAX(SELECT(Timesheet[Clock],AND([TimesheetDate]=TODAY(),[UserID]=[_ThisRow].[UserID])))
))="IN"
,
"OUT"
,
"IN"
)
For that you can then calculate the total time spent working. Hope this helps
User | Count |
---|---|
37 | |
26 | |
21 | |
19 | |
16 |