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 |