Special field attributes
This page explains how to implement special fields within APL queries to enhance the functionality and interactivity of datasets. Use these fields in APL queries to add unique behaviors to the Axiom user interface.
Add link to table
- Name:
_row_url - Type: string
- Description: Define the URL to which the entire table links.
- APL query example:
extend _row_url = 'https://axiom.co/' - Expected behavior: Make rows clickable. When clicked, go to the specified URL.
If you specify a static string as the URL, all rows link to that page. To specify a different URL for each row, use an dynamic expression like extend _row_url = strcat('https://axiom.co/', uri) where uri is a field in your data.
Add link to values in a field
- Name:
_FIELDNAME_url - Type: string
- Description: Define a URL to which values in a field link.
- APL query example:
extend _website_url = 'https://axiom.co/' - Expected behavior: Make values in the
websitefield clickable. When clicked, go to the specified URL.
Replace FIELDNAME with the actual name of the field.
Where links open
- If the value of
_row_urlor_FIELDNAME_urlstarts withhttp://orhttps://, Axiom opens the link in a new browser tab. - If the value starts with
/, Axiom opens the link in the Axiom app without reloading the page.
Link to a dashboard
The address of a dashboard in the Axiom app is /ORG_ID/dashboards/uid/DASHBOARD_UID. When you open a dashboard, the last segment of the URL is its DASHBOARD_UID. Links without the uid segment work, but Axiom redirects them to the uid address with a full page reload.
To set a filter on the dashboard you link to, add v_FILTER_ID=VALUE to the query string of the link. Replace FILTER_ID with the ID of a filter on that dashboard.
In chart queries in a dashboard, you can use the following variables. Axiom doesn’t declare them automatically. To use them, add them to the declare query_parameters statement at the beginning of your query with the type string.
axiom_org_id: The ID of your organization.axiom_dashboard_id: The ID of the current dashboard as shown in the URL.axiom_base_url: The base URL of the Axiom app.axiom_url: The full URL of the current page.
Add tooltip to values in a field
- Name:
_FIELDNAME_tooltip - Type: string
- Description: Define text to be displayed when hovering over values in a field.
- Example Usage:
extend _errors_tooltip = 'Number of errors' - Expected behavior: Display a tooltip with the specified text when the user hovers over values in a field.
Replace FIELDNAME with the actual name of the field.
Add description to values in a field
- Name:
_FIELDNAME_description - Type: string
- Description: Define additional information to be displayed under the values in a field.
- Example Usage:
extend _diskusage_description = 'Current disk usage' - Expected behavior: Display additional text under the values in a field for more context.
Replace FIELDNAME with the actual name of the field.
Add unit of measurement
- Name:
_FIELDNAME_unit - Type: string
- Description: Specify the unit of measurement for another field’s value allowing for proper formatting and display.
- APL query example:
extend _size_unit = "gbytes" - Expected behavior: Format the value in the
sizefield according to the unit specified in the_size_unitfield.
Replace FIELDNAME with the actual name of the field you want to format. For example, for a field named size, use _size_unit = "gbytes" to display its values in gigabytes in the query results.
The supported units are the following:
Percentage
| Unit name | APL sytax |
|---|---|
| percent (0-100) | percent100 |
| percent (0.0-1.0) | percent |
Currency
| Unit name | APL sytax |
|---|---|
| Dollars ($) | curusd |
| Pounds (£) | curgbp |
| Euro (€) | cureur |
| Bitcoin (฿) | curbtc |
Data (IEC)
| Unit name | APL sytax |
|---|---|
| bits(IEC) | bits |
| bytes(IEC) | bytes |
| kibibytes | kbytes |
| mebibytes | mbytes |
| gibibytes | gbytes |
| tebibytes | tbytes |
| pebibytes | pbytes |
Data (metric)
| Unit name | APL sytax |
|---|---|
| bits(Metric) | decbits |
| bytes(Metric) | decbytes |
| kilobytes | deckbytes |
| megabytes | decmbytes |
| gigabytes | decgbytes |
| terabytes | dectbytes |
| petabytes | decpbytes |
Data rate
| Unit name | APL sytax |
|---|---|
| packets/sec | pps |
| bits/sec | bps |
| bytes/sec | Bps |
| kilobytes/sec | KBs |
| kilobits/sec | Kbits |
| megabytes/sec | MBs |
| megabits/sec | Mbits |
| gigabytes/sec | GBs |
| gigabits/sec | Gbits |
| terabytes/sec | TBs |
| terabits/sec | Tbits |
| petabytes/sec | PBs |
| petabits/sec | Pbits |
Datetime
| Unit name | APL sytax |
|---|---|
| Hertz (1/s) | hertz |
| nanoseconds (ns) | ns |
| microseconds (µs) | µs |
| milliseconds (ms) | ms |
| seconds (s) | secs |
| minutes (m) | mins |
| hours (h) | hours |
| days (d) | days |
| ago | ago |
Throughput
| Unit name | APL sytax |
|---|---|
| counts/sec (cps) | cps |
| ops/sec (ops) | ops |
| requests/sec (rps) | reqps |
| reads/sec (rps) | rps |
| writes/sec (wps) | wps |
| I/O ops/sec (iops) | iops |
| counts/min (cpm) | cpm |
| ops/min (opm) | opm |
| requests/min (rps) | reqpm |
| reads/min (rpm) | rpm |
| writes/min (wpm) | wpm |
Example
The example APL query below adds a tooltip and a description to the values of the status field. Clicking one of the values in this field leads to a page about status codes. The query adds the new field resp_body_size_bits that displays the size of the response body in the unit of bits.