Release Notes December 15, 2023¶
Customizing Alert Messages for Monitors¶
You can select from a list of Variables to add to your message and customize the text.
Figure 1 - Customizing the Shared Action Message
To add custom variables, use the following steps:
In the Set message section, select sample data from the Use variables from list.
From the Variables list, you can search for variables or use example variables.
Locate your desired variable, and click the Notepad icon to copy the text to your Clipboard.
Paste the variable in the desired location.
Click Preview to verify the location of the variable.
For more information about customizing Alert messages, see Customizing Alert Messages.
Live Mode Updates¶
The Live Mode feature now uses an updated icon for better visibility on the user interface.
Figure 2 - New Live Mode Icon
Figure 3 - Stop Live Mode Icon
OPAL Language Updates¶
uniform
¶
Description¶
Generates a uniformly distributed pseudo-random number in the inclusive range [min
, max
].
Return type¶
numeric
Domain¶
This is a scalar function that calculates a single output value for a single input row.
Categories¶
Numeric
Usage¶
uniform( min, max )
Argument |
Type |
Required |
Multiple |
Constant |
---|---|---|---|---|
min |
numeric |
Required |
Only one |
Constant |
max |
numeric |
Required |
Only one |
Constant |
Examples¶
``text make_col uniform_kind:uniform(1, 20)
Generates a uniformly distributed pseudo-random number in the inclusive range [1, 20].
### `zipf`
#### Description
Returns a Zipf-distributed integer for N elements and characteristic exponents.
The computational cost of choosing a single random number is logarithmic in the argument `N`. More importantly, the memory cost is linear for `N`. Because of this, the argument `N` must be in the inclusive range [1, 16777215].
#### Return type
int64
#### Domain
This is a scalar function that calculates a single output value for a single input row.
#### Categories
* [Numeric](../numeric-functions.md)
#### Usage
```text
zipf( s, n )
Argument |
Type |
Required |
Multiple |
Constant |
---|---|---|---|---|
s |
int64 |
Required |
Only one |
Constant |
n |
int64 |
Required |
Only one |
Constant |
Examples¶
make_col zipf_kind:zipf(1, 20)
Generates a Zipf-distributed pseudo-random integer for N=20 elements and the characteristic exponent s = 1. The arguments (s and N) must be constants.
array_union_agg
¶
Description¶
Returns an array that contains the multiset union of input arrays.
array_union_agg
is an aggregate function that combines input arrays into a single output array. The output array is the multiset union of the input arrays. The multiset union differs from the standard set union in that it allows duplicates: If any of the input arrays contain duplicates, the output array will also contain duplicates. The number of times an element appears in the output array equals the maximum number of times it appears in individual input arrays.
This function ignores NULL values for input arrays inside the column as well as NULL values inside input arrays. If the column contains only NULL values or there are no rows, the function returns an empty array. The ordering of output arrays is nondeterministic.
Return type¶
array
Domain¶
This is an aggregate function (aggregates rows over a group in aggregate verbs
.)
This is a window function (calculates over a group of multiple input rows using windowing
.)
Categories¶
Aggregate
Semistructured
Window
Usage¶
array_union_agg( arr )
Argument |
Type |
Required |
Multiple |
Constant |
---|---|---|---|---|
arr |
array |
Required |
Only one |
Variable |
Examples¶
statsby aua:array_union_agg(arr), group_by(X)
Assume that you have the following schema and log rows:
year |
X |
arr |
---|---|---|
1991 |
a |
[ 0, 0, 1, 2] |
1992 |
b |
[ 0, 0, 1, 2, 3] |
1993 |
c |
NULL |
1994 |
a |
[ 0, 4] |
1995 |
b |
[ 0, 0, 0, NULL] |
Calculate the multiset union on arr
grouping on X
:
X |
aua |
---|---|
a |
[ 0, 0, 1, 2, 4] |
b |
[ 0, 0, 0, 1, 2, 3] |
c |
[] |
In this example, the output array associated with X
value a
contains values 0, 1, 2, 4
. This is because these values appear in the input arrays in the a
group (years 1991
and 1994
). Value 0
appears twice because it appears twice in at least one input array from the a
group (year 1994
). Similarly, 0
appears three times in the output array for the b
group as it appears a maximal 3 times in the input arrays for b
group (year 1995). As the only input array for c
group is a NULL
array, the output array for c
group is an empty array. Furthermore, the NULL
value inside the row from year 1995 is ignored and does not appear in the output array for b
group.
Note that ordering within the output arrays is not guaranteed through multiset semantics. However, it is possible to achieve sorted arrays in the output by composing with array_sort
:
statsby aua:array_sort(array_union_agg(arr)), group_by(X)