Hello and thank you for your work. A few review notes: - It would be great if you can briefly explain the new dimensions and what you're triangulating on - Can you elaborate on the purpose for having time dimensions values for every minute? What is the data being aggregated here? - There is some stramge logic in DimensionServices.groovy where essentially you're clearing the input map (effectively passing an empty map) to a bunch of service calls. Why are you using the same map which you keep clearing from one call to the next? Are those services not supposed to take input parameters? If so, why not pass an empty map instead of this logic? - There are some files with windows EOL characters. Need to run something like dos2unix on those - There are also tab characters around the code base
May I also suggest breaking this work into smaller chunks to start incorporating into the code base to make it easier to review and integrate the work. Perhaps you can isolate the work for each new dimension in a branch / patch / etc On Mon, Mar 16, 2020 at 6:09 PM Pierre Smits <[email protected]> wrote: > > Following up on recent migrations from minilang to groovy regarding the > functions in the BI component I have made various enhancements to the > component, enabling the project to move from a Proof of Concept state to > something that is starting to provide our (potential) adopters some > additional arguments to use (or select) our product. > > BI (or Business Intelligence) is a key factor to measure the success of a > company (and its underlying departments), whether it is regarding sales, > purchases, inventory ageing, or employer utilisation (e.g. in > project-oriented service orgs). BI often works against a Data Warehouse, > which is fed from the transactions RDBMS using (more or less) sophisticated > ETL solutions. Often these ETL tools are quite expensive to operate, and > require - when talking about development - quite the skill set. > Unfortunately, Small and Medium Enterprises often lack the budget to deploy > such tools and services and make due with exports from the transaction > RDBMS and the use of MS Excel to do their Business Intelligence analysis. > > Given the unique feature set of OFBiz catering to the needs of small and > medium enterprises, an improved BI component can deliver on an easy (and > fairly cheap) means to have a DataWarehouse populated, and - through the > population of dimension and fact tables - get data elements combined into > star schemas for in-component or external (through external tools as Excel) > analysis. > > In order to bring the BI component up to a level of usability in a company, > I have implemented following changes (in a feature branch in my repo) > > - added and updated dimension tables > - CustomerDimension, OrganisationDimension (internal organisations), > and SupplierDimension > - supporting: DateDimension, TimeDimension, CountryDimension, > CurrencyDimension > - updated fact tables to work with the added and improved dimension > tables > - SalesInvoiceItemFact > - InventoryItemFact > - updated star schemas to bring data elements from dimension and fact > tables together > - SalesInvoiceItemStarSchema > - InventoryItemStarSchema > - made the Report Builder functionality (screens and such) mode user > friendly, by applying ajax functionality, to have selection of the star > schema, the field selection and the resulting overview in one page > > While there are still a lot of areas (BI-wise) that can be improved, such > as: > > - SalesOrderItemFact and SalesOrderItemStarSchema - to enhance the > analysis regarding sales, > - Purchase (Spend) analysis functionality, > - Utilisation analysis function (assets, employee), > > enhancements currently available improve the BI component significantly. > > Rather than working alone and see contributions go stale, I would like to > collaborate more via a feature branch in the official plugins repository. > As you can see in JIRA, there already quite a number of improvement tickets > (seeu [1]), and I have already many (up to the point of ready for > incorporation into the plugins code base) in progress. The improvements > are currently available in my public fork on Github (see [2]). I invite you > to fork or clone and test-drive the enhancements. > > And if you have any suggestions, questions, and/or remarks, feel free to > post them here (or directly to me), or as a comment to the master ticket > (for general aspects) or to a particular sub-task. > > 1. https://issues.apache.org/jira/browse/OFBIZ-11414 > 2. > https://github.com/PierreSmits/plugins/tree/OFBIZ-11414_BI-Improvements > > > Looking forward. > > Met vriendelijke groet, > > Pierre Smits > *Proud* *contributor** of* Apache OFBiz <https://ofbiz.apache.org/> since > 2008 (without privileges) > > *Apache Trafodion <https://trafodion.apache.org>, Vice President* > *Apache Directory <https://directory.apache.org>, PMC Member* > Apache Incubator <https://incubator.apache.org>, committer > Apache Steve <https://steve.apache.org>, committer
