aggregation #2

Open
opened 2026-04-07 08:59:41 +00:00 by zordsdavini · 0 comments
Owner

Add possibility to have some calculated value dependent on others. Same idea as Template. Mostly from List objects or simple objects.

Should be in OPERATION ...arguments

Possible operations:

  • COUNT: count objects dependent on object.property with expression.
  • SUM: count sum of object.property
  • MAX: get maximum of object.property, can be Date or Abcex
  • MIN: same as opose to MAX
  • AVG: average (from abcex to abcex) - silly but keep the path
  • KMIN, KMAX: same as MIN, MAX but saves not value but List Object key

Working with List objects should be saved in separate Object.

Should have command like TEMPLATE: AGGREGATE "<operation with all arguments>"h

Expressions

Should be in OPERATION path1 path2|value.

For path:

  • PH - greate, higher
  • PL - less, lower
  • PE - equal, same

For value:

  • VH - greate, higher
  • VL - less, lower
  • VE - equal, same

Ex.

  • get last updated date from List: MAX list.$.updated value of object/.aggregate/last_update
  • get total of properties: SUM _.pending _.process _.finished value of object/.aggregate/total
  • get count of false elements (abcex = "0"): COUNT VE list.$.ready "0" value of object/.aggregate/not_ready_count
  • get count of above average: AVG list.$.count value of object/.aggregate/avg_count and COUNT PH list.$.count _.avg_count value of object/.aggregate/count_above_avg

Thoughts

  • aggregation in separate object can lose listening, so maybe List should have reverse listener for updates, maybe link or even .target directory of soft links or <root>/__t directory to have list of all dependent aggregations.
  • List object aggregations can be added to .template to be created by COMMAND
Add possibility to have some calculated value dependent on others. Same idea as Template. Mostly from List objects or simple objects. Should be in `OPERATION ...arguments` Possible operations: - COUNT: count objects dependent on object.property with expression. - SUM: count sum of object.property - MAX: get maximum of object.property, can be Date or Abcex - MIN: same as opose to MAX - AVG: average (from abcex to abcex) - silly but keep the path - KMIN, KMAX: same as MIN, MAX but saves not value but List Object key Working with List objects should be saved in separate Object. Should have command like `TEMPLATE`: `AGGREGATE "<operation with all arguments>"`h ## Expressions Should be in `OPERATION path1 path2|value`. For path: - PH - greate, higher - PL - less, lower - PE - equal, same For value: - VH - greate, higher - VL - less, lower - VE - equal, same ## Ex. - get last updated date from List: `MAX list.$.updated` value of `object/.aggregate/last_update` - get total of properties: `SUM _.pending _.process _.finished` value of `object/.aggregate/total` - get count of false elements (abcex = "0"): `COUNT VE list.$.ready "0"` value of `object/.aggregate/not_ready_count` - get count of above average: `AVG list.$.count` value of `object/.aggregate/avg_count` and `COUNT PH list.$.count _.avg_count` value of `object/.aggregate/count_above_avg` ## Thoughts - aggregation in separate object can lose listening, so maybe List should have reverse listener for updates, maybe link or even `.target` directory of soft links or `<root>/__t` directory to have list of all dependent aggregations. - List object aggregations can be added to .template to be created by COMMAND
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
zordsdavini/zordfsdb#2
No description provided.