kalnyc67 / analytics-issues

Automatically exported from code.google.com/p/analytics-issues
0 stars 0 forks source link

Support for specifying boolean precedence of expressions #601

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
---------------------------------------------------------------------------
NOTE: This issue tracking system is for Google Analytics developer products
only.
If you are not a developer/programmer visit:
http://www.google.com/analytics/support.html
---------------------------------------------------------------------------
Name of related component: Core Reporting API

Request summary:

I would like to propose a feature that allows for the setting of which boolean 
precedence one would prefer in an expression. This could be accomplished with 
the current reserved characters and would not break any existing filters - 
placing ";," at the beginning of the filter or segment string would indicate an 
AND over OR precedence, while placing ",;" would indicate the current OR over 
AND precedence (which or course would remain the default).

Reason for feature:

Currently dynamic segments and filters have a precedence of OR over AND. This 
is contrary to the standard boolean algebraic precedence of AND over OR. 
Currently there are many expressions which simply cannot be accommodated by the 
API - for instance AB+CD. The reporting API will interpret this as A(B+C)D 
which is incorrect. Since every boolean expression can be reduced to a series 
or terms, for instance (A+B)(C+D)=AB+AC+BC+BD, having AND over OR would allow 
any boolean expression to be calculated by the API without the need for 
grouping. (AB+CD cannot be reduced or expanded to an expression which evaluates 
the same in an OR over AND precedence).

Use Cases:

Utilization of complex boolean expressions in dynamic segments and filters that 
cannot currently be accomplished with the existing precedence rules.

Original issue reported on code.google.com by michael....@drivedominion.com on 29 Mar 2015 at 3:10