Accessing fields with special characters
Problem / use case
You want to access fields with special characters such as periods (.
), dashes (-
), spaces (), or emojis, etc...
Solution - $d
You usually donβt need to use $d
to access data fields in DataPrime. Itβs the default namespace, so fields like status_code
are automatically interpreted as $d.status_code
.
But in these cases with special characters using $d
is required.
1. Field names with dots
If your field name includes a dot (.
), DataPrime treats it as a nested path unless you use bracket notation. This can lead to unexpected behavior.
For example:
To access the field with a literal dot in the name (kubernetes.namespace
), use:
result
To access the nested field inside the kubernetes
object (kubernetes.namespace
), use:
result
2. Field names with spaces
Dot notation doesnβt support spaces. Use bracket notation:
3. Field names with emojis or non-ASCII characters
Fields with special characters require brackets:
create face from case_equals {
$m.severity,
DEBUG -> 'π§',
VERBOSE -> 'πΆβπ«οΈ',
INFO -> 'π',
WARNING -> 'π¬',
ERROR -> 'π©',
CRITICAL -> 'π',
_ -> 'π€·'
}
| countby face as $d['π'] into $d['# of times I made this face']
Output:
"π" | "# of times I made this face" |
---|---|
π | 17275 |
π© | 55821 |
π¬ | 13084 |
πΆβπ«οΈ | 318376 |
π | 2958063 |
π§ | 3727783 |