controller.disable.ingestion.groovy=true
"toEpochSeconds(millis)"
"toEpochMinutes(millis)"
"toEpochHours(millis)"
"toEpochDays(millis)"
1588469352000
(2020-05-01 42:29:12) is 26474489
minutesSinceEpoch. `toEpochMinutesRounded(1588469352000) = 26474480
(2020-05-01 42:20:00)"toEpochSecondsRounded(millis, 30)"
"toEpochMinutesRounded(millis, 10)"
"toEpochHoursRounded(millis, 6)"
"toEpochDaysRounded(millis, 7)"
"fromEpochSeconds(secondsSinceEpoch)"
"fromEpochMinutes(minutesSinceEpoch)"
"fromEpochHours(hoursSinceEpoch)"
"fromEpochDays(daysSinceEpoch)"
"toDateTime(millis, 'yyyy-MM-dd')"
"fromDateTime(dateTimeStr, 'EEE MMM dd HH:mm:ss ZZZ yyyy')"
"transformFunction": "fromDateTime(dateTimeStr, 'yyyy-MM-dd''T''HH:mm:ss')"
"json_format(jsonMapField)"
timestamp
. If you want to filter out records that are older than timestamp 1589007600000, you could apply the following function:campaign
and a multi-value column double column prices
. If you want to filter out records where campaign = 'X' or 'Y' and sum of all elements in prices is less than 100, you could apply the following function:prices
and timestamp
fields. We want to extract the maximum price and store that in the maxPrices
field and convert the timestamp into the number of hours since the epoch and store it in the hoursSinceEpoch
field. You can do this by applying the following transformation:firstName
and lasName
to get fullName
bids
timestamp
from MILLISECONDS
to HOURS
user_id
to userId
first Name
into the column firstName
, run the following:eventType
is IMPRESSION
set impression
to 1
. Similar for CLICK
.map_keys
2) The values of the map as map_values
data
field of our source data:userId
and then another one to pull out the numerical part of the identifier:$MULTIPLE_RECORDS_KEY$
. The segment generation drivers will treat this as a special case and handle the multiple records case.