buckets ARRAY<STRING>
+
+OUTPUTS
+
+Source | Edit
+percentile (UDF)
+Get the value of the approximate CDF at the given percentile.
+Parameters
+INPUTS
+percentile FLOAT64, histogram ARRAY<STRUCT<key STRING, value FLOAT64>>, type STRING
+
+OUTPUTS
+
+Source | Edit
+histogram_bucket_from_value (UDF)
+Parameters
+INPUTS
+buckets ARRAY<STRING>, val FLOAT64
+
+OUTPUTS
+
+Source | Edit
+histogram_fill_buckets_dirichlet (UDF)
+Interpolate missing histogram buckets with empty buckets so it becomes a valid
+estimator for the dirichlet distribution.
+See: https://docs.google.com/document/d/1ipy1oFIKDvHr3R6Ku0goRjS11R1ZH1z2gygOGkSdqUg
+To use this, you must first:
+Aggregate the histograms to the client level, to get a histogram {k1: p1,
+k2:p2, ..., kK: pN} where the p's are proportions(and p1, p2, ... sum to 1)
+and Kis the number of buckets.
+This is then the client's estimated density, and every client has been
+reduced to one row (i.e the client's histograms are reduced to this single
+one and normalized).
+Then add all of these across clients to get {k1: P1, k2:P2, ..., kK: PK}
+where P1 = sum(p1 across N clients) and P2 = sum(p2 across N clients).
+Calculate the total number of buckets K, as well as the total number of
+profiles N reporting
+Then our estimate for final density is:
+[{k1: ((P1 + 1/K) / (nreporting+1)), k2: ((P2 + 1/K) /(nreporting+1)), ... }
+Parameters
+INPUTS
+input_map ARRAY<STRUCT<key STRING, value FLOAT64>>, buckets ARRAY<STRING>, total_users INT64
OUTPUTS
ARRAY<STRUCT<key STRING, value FLOAT64>>
-Source | Edit
+Source | Edit
histogram_cast_json (UDF)
Cast a histogram into a JSON blob.
-Parameters
+Parameters
INPUTS
histogram ARRAY<STRUCT<key STRING, value FLOAT64>>
@@ -4082,9 +4126,19 @@ Parameters
Source | Edit
+fenix_build_to_build_hour (UDF)
+Returns a custom build id generated from the build hour of a Fenix build.
+Parameters
+INPUTS
+
+OUTPUTS
+
+Source | Edit
histogram_fill_buckets (UDF)
Interpolate missing histogram buckets with empty buckets.
-Parameters
+Parameters
INPUTS
input_map ARRAY<STRUCT<key STRING, value FLOAT64>>, buckets ARRAY<STRING>
@@ -4092,28 +4146,29 @@ Parameters
ARRAY<STRUCT<key STRING, value FLOAT64>>
Source | Edit
-map_from_array_offsets_precise (UDF)
-Parameters
+histogram_generate_linear_buckets (UDF)
+Generate linear buckets for a histogram.
+Parameters
INPUTS
-required ARRAY<FLOAT64>, `values` ARRAY<FLOAT64>
+min FLOAT64, max FLOAT64, nBuckets FLOAT64
OUTPUTS
-ARRAY<STRUCT<key STRING, value FLOAT64>>
+ARRAY<FLOAT64>DETERMINISTIC
-Source | Edit
-histogram_generate_scalar_buckets (UDF)
-Generate scalar buckets for a histogram using a fixed number of buckets.
-Parameters
+Source | Edit
+
+Create an empty histogram from an array of buckets.
+Parameters
INPUTS
-min_bucket FLOAT64, max_bucket FLOAT64, num_buckets INT64
+
OUTPUTS
-ARRAY<FLOAT64>DETERMINISTIC
+ARRAY<STRUCT<key STRING, value FLOAT64>>
-Source | Edit
+Source | Edit
histogram_generate_exponential_buckets (UDF)
Generate exponential buckets for a histogram.
-Parameters
+Parameters
INPUTS
min FLOAT64, max FLOAT64, nBuckets FLOAT64
@@ -4128,7 +4183,7 @@ histogram_generate_functional
determined with the following function:
i = $$ \lfloor{n log_{\text{base}}{(x)}}\rfloor $$
In other words, there are n buckets for each power of base
magnitude.
-Parameters
+Parameters
INPUTS
log_base INT64, buckets_per_magnitude INT64, range_max INT64
@@ -4136,18 +4191,9 @@ Parameters
ARRAY<FLOAT64>DETERMINISTIC
Source | Edit
-histogram_bucket_from_value (UDF)
-Parameters
-INPUTS
-buckets ARRAY<STRING>, val FLOAT64
-
-OUTPUTS
-
-Source | Edit
build_hour_to_datetime (UDF)
Parses the custom build id used for Fenix builds in GLAM to a datetime.
-Parameters
+Parameters
INPUTS
@@ -4155,90 +4201,44 @@ Parameters
Source | Edit
-percentile (UDF)
-Get the value of the approximate CDF at the given percentile.
-Parameters
-INPUTS
-percentile FLOAT64, histogram ARRAY<STRUCT<key STRING, value FLOAT64>>, type STRING
-
-OUTPUTS
-
-Source | Edit
-histogram_normalized_sum (UDF)
-Compute the normalized sum of an array of histograms.
-Parameters
-INPUTS
-arrs ARRAY<STRUCT<key STRING, value INT64>>, weight FLOAT64
-
-OUTPUTS
-ARRAY<STRUCT<key STRING, value FLOAT64>>
-
-Source | Edit
-map_from_array_offsets (UDF)
-Parameters
-INPUTS
-required ARRAY<FLOAT64>, `values` ARRAY<FLOAT64>
-
-OUTPUTS
-ARRAY<STRUCT<key STRING, value FLOAT64>>
-
-Source | Edit
-histogram_fill_buckets_dirichlet (UDF)
-Interpolate missing histogram buckets with empty buckets so it becomes a valid
-estimator for the dirichlet distribution.
-See: https://docs.google.com/document/d/1ipy1oFIKDvHr3R6Ku0goRjS11R1ZH1z2gygOGkSdqUg
-To use this, you must first:
-Aggregate the histograms to the client level, to get a histogram {k1: p1,
-k2:p2, ..., kK: pN} where the p's are proportions(and p1, p2, ... sum to 1)
-and Kis the number of buckets.
-This is then the client's estimated density, and every client has been
-reduced to one row (i.e the client's histograms are reduced to this single
-one and normalized).
-Then add all of these across clients to get {k1: P1, k2:P2, ..., kK: PK}
-where P1 = sum(p1 across N clients) and P2 = sum(p2 across N clients).
-Calculate the total number of buckets K, as well as the total number of
-profiles N reporting
-Then our estimate for final density is:
-[{k1: ((P1 + 1/K) / (nreporting+1)), k2: ((P2 + 1/K) /(nreporting+1)), ... }
+map_from_array_offsets_precise (UDF)
Parameters
INPUTS
-input_map ARRAY<STRUCT<key STRING, value FLOAT64>>, buckets ARRAY<STRING>, total_users INT64
+