If the schedule has a trigger “(Data updated for your_dataset) AND (0 0 1 * *, i.e., at 12:00am, on day 1 of the month)”.
and if your_dataset is updated daily,
then the schedule will run at 0:00 on the 1st of every month.
Your assumption above is correct. AND triggers are designed in a way where they can only trigger at the instants of the time condition inside them.
Is it possible to run the schedule only after the dataset is updated on the 1st of every month, instead of at 0:00?
There is no way to do this perfectly given the way AND triggers work, however you can do a workaround by using a trigger like the following:
(Data updated for your_dataset) AND (0/15 * 1 * *, i.e., every 15 minutes on day 1 of the month)
This way, the schedule will periodically check (with a cadence you configure) and run if the data is updated during the 1st day of the month. For example, if your_dataset gets updated at 9:06 daily, then the schedule will run twice on the 1st of every month, at 00:00 and 9:15.