AML Dashboard
Knowledge Checkpoint
A grasp of these concepts will help you understand this documentation better:
info
Please note that dashboard files have the extension .page.aml
.
Its full name is dashboard_name.page.aml
.
Dashboard Components
There are five components that form a dashboard:
- Metadata
- Collection of blocks
- Block interactions
- Settings
- Views
Parameter Definition
Tips: Hover over any text to see supported parameters in tooltip.
Parameter name | Description |
---|---|
dashboard | Specify the dashboard's unique name in the workspace |
title | Specify the dashboard’s display name in Reporting layer |
description | Specify dashboard description |
block | Define blocks in the dashboard |
interactions | Define how blocks interact with each other in the dashboard |
view | Define dashboard layout - how blocks are positioned in the dashboard |
settings | Define dashboard settings |
Dashboard syntax example
my_dashboard.page.aml
Dashboard myDashboard {
// metadata
title: 'My Dashboard'
description: ''''''
// collection of blocks
block t1: TextBlock {
content: @md # Hello World!;;
}
block v1: VizBlock {
label: 'GMV Over Time'
viz: CombinationChart {
dataset: demo_ecommerce
...
settings {
row_limit: 5000
legend_label: 'top'
}
}
}
block v2: VizBlock {
label: 'Order Details'
viz: DataTable {
dataset: demo_ecommerce
fields: [
...
]
settings {
row_limit: 5000
}
}
}
block f1: FilterBlock {
label: 'Order Created At'
type: 'field'
source: FieldFilterSource {
dataset: demo_ecommerce
field: ref('order_master', 'order_created_at')
}
default {
operator: 'matches'
value: 'last 2 years'
}
}
block d1: DateDrillBlock {
label: 'Drill by'
default: 'month'
}
// interactions
interactions: [
DateDrillInteraction {
from: 'd1'
to: [
CustomMapping {
block: 'v1'
field: ref('order_master', 'order_created_at')
}
]
}
]
// settings
settings {
timezone: 'America/Los_Angeles'
cache_duration: 360
}
// view
view: CanvasLayout {
label: 'View 1'
width: 1080
height: 620
block t1 {
position: pos(30, 30, 250, 60)
}
block v1 {
position: pos(300, 30, 760, 250)
}
block v2 {
position: pos(300, 300, 760, 300)
}
block f1 {
position: pos(30, 190, 250, 80)
}
block d1 {
position: pos(30, 100, 250, 80)
}
}
}
Output: