442e8a23aeb190d872bc38968efd0b0db4b1f684
This commit introduces a new pivot function: ODOO.PIVOT.TABLE(<pivot_id>, [row_count], [include_total], [include_column_headers]) Purpose ------- It answers several current limitations: - The pivot in spreadsheet not being "dynamic" (growing as new groups/records are created) is a *very* frequent feedback - sorted pivots are very cumbersome (# syntax) and takes a lot of cells - cannot easily compute arbitrary aggregates (max, avg). You only get the total. ... as soon as new groups appears that are not reflected in the spreadsheet, you can't guess data is missing and that it's not taken into account. Specification ------------- Add a single and simple function =ODOO.PIVOT.TABLE(<pivot_id>) that would display the entire table (dynamic, as more groups and records are added). We can achieve almost everything we want: - by combining with other functions (INDEX, CHOOSECOLS, CHOOSEROWS, XLOOKUP, ...) if we want to target a specific row or column. - by using infinite ranges (e.g. =MAX(B2:B)) to account for a growing table - we could remove all the positional PIVOT version of the function (=ODOO.PIVOT.HEADER(7,"#country_id",1)). The implementation is a mess (lots of ifs everywhere to account for the #). Just replace it by a single function SORT(ODOO.PIVOT.TABLE(1), 1) (or with NSORT, or sorted from the pivot view directly) For some situations though, there would be the "Totals" in the way: if you want =MAX(ODOO.PIVOT.TABLE(1)), you don't want to have totals in the way (with infinite ranges). We add an optional parameter 'include_total' (default to true) For dashboards, we want to have custom header names, we don't want to use the headers from the pivot. To only have data and not the headers: new parameter 'include_column_headers' (default to true) All in all: here is what it looks like: ODOO.PIVOT.TABLE(<pivot_id>, [row_count], [include_total], [include_column_headers]) Task: 3318865 Part-of: odoo/odoo#138594 Co-authored-by: Lucas Lefèvre <lul@odoo.com>
…
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%