feat: add Axis::None for hidden dimensions with implicit aggregation
Categories on the None axis are excluded from the grid and cell keys. When evaluating cells, values across hidden dimensions are aggregated using a per-measure function (default SUM). Adds evaluate_aggregated to Model, none_cats to GridLayout, and 'n' shortcut in TileSelect. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -27,6 +27,8 @@ pub struct GridLayout {
|
||||
pub page_coords: Vec<(String, String)>,
|
||||
pub row_items: Vec<AxisEntry>,
|
||||
pub col_items: Vec<AxisEntry>,
|
||||
/// Categories on `Axis::None` — hidden, implicitly aggregated.
|
||||
pub none_cats: Vec<String>,
|
||||
}
|
||||
|
||||
impl GridLayout {
|
||||
@ -46,6 +48,11 @@ impl GridLayout {
|
||||
.into_iter()
|
||||
.map(String::from)
|
||||
.collect();
|
||||
let none_cats: Vec<String> = view
|
||||
.categories_on(Axis::None)
|
||||
.into_iter()
|
||||
.map(String::from)
|
||||
.collect();
|
||||
|
||||
let page_coords = page_cats
|
||||
.iter()
|
||||
@ -77,6 +84,7 @@ impl GridLayout {
|
||||
page_coords,
|
||||
row_items,
|
||||
col_items,
|
||||
none_cats,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user