View Source Plausible.Stats.Fragments (Plausible v0.0.1)
Summary
Functions
Returns value of a key (usually property) under meta.value
array or similar.
Returns whether a key (usually property) exists under meta.key
array or similar.
Converts time or date and time to the specified timezone.
Returns the weekstart for date
. If the weekstart is before the not_before
boundary, not_before
is returned.
Same as Plausible.Stats.Fragments.weekstart_not_before/2 but converts dates to the specified timezone.
Functions
Returns value of a key (usually property) under meta.value
array or similar.
This macro is used for operating on custom properties.
Callsites should also check whether key exists first in SQL via has_key
macro.
Examples
get_by_key(e, :meta, "some_property_name")
expands to SQL meta.value[indexOf(meta.key, "some_property")]
Returns whether a key (usually property) exists under meta.key
array or similar.
This macro is used for operating on custom properties.
Examples
has_key(e, :meta, "some_property_name")
expands to SQL has(meta.key, "some_property_name")
Converts time or date and time to the specified timezone.
Reference: https://clickhouse.com/docs/en/sql-reference/functions/date-time-functions/#totimezone
Returns the weekstart for date
. If the weekstart is before the not_before
boundary, not_before
is returned.
Examples
In this pseudo-code example, the fragment returns the weekstart. The
not_before
boundary is set to the past Saturday, which is before the
weekstart, therefore the cap does not apply.
iex> this_wednesday = ~D[2022-11-09] ...> past_saturday = ~D[2022-11-05] ...> weekstart_not_before(this_wednesday, past_saturday) ~D[2022-11-07]
In this other example, the fragment returns Tuesday and not the weekstart.
The not_before
boundary is set to Tuesday, which is past the weekstart,
therefore the cap applies.
iex> this_wednesday = ~D[2022-11-09] ...> this_tuesday = ~D[2022-11-08] ...> weekstart_not_before(this_wednesday, this_tuesday) ~D[2022-11-08]
Same as Plausible.Stats.Fragments.weekstart_not_before/2 but converts dates to the specified timezone.