BY ALL

The BY ALL keyword is used to override a specified attribute dimension.

For example, Date/Year(Lead Created), Month/Year(Lead Created), Quarter/Year Lead Created) all represent attributes of varying granularity within the same dimension. This effectively prohibits any attribute of that dimension from breaking down the metric at hand.

Syntax

SELECT … BY ALL …
SELECT metric BY ALL attribute
SELECT metric BY ALL attribute1, ALL attribute2

Examples

SELECT {metric/payment} BY ALL {label/date.quarter}
SELECT {metric/payment} / (SELECT {metric/payment} BY ALL {label/date.quarter})
SELECT {metric/payment} / (SELECT {metric/payment} BY ALL {label/date.quarter}, ALL {attribute/industry})

In the example below, the number of leads is broken down by quarter in column 3. But in column 4, the BY keyword has been used to set an aggregation floor at the Year level, returning annual lead values for 2012 and 2013. Compare these values to those in the final column which displays values of a metric: #Leads BY ALL Year.

These values represent the total number of leads across all time - the sum of all leads recorded in the entire data set.

Table showing number of leads by year and quarter. The Leads column displays different values for each quarter. The adjacent column, calculated using BY ALL Year, shows the same yearly total repeated for each row within that year, without quarterly breakdown.

Also of interest in the example above is how the #Leads BY ALL DATE, #LEADS BY ALL MONTH, and #LEADS BY ALL YEAR metrics all return identical values. This demonstrates that the granularity of the attribute added to the BY ALL clause does not affect the values that are returned. The attribute that follows BY ALL simply dictates that the dimension to which it belongs should not be able to break down the metric at hand. For this reason, even if the precise granularity of the attribute used in the BY ALL clause doesn’t matter, an attribute must always be specified as a way of defining the dimension of interest.

As the BY ALL YEAR metric from the final column of the table above shows, BY ALL overrides other date attributes in the visualization - keeping them from affecting metric values in the final column. But this does not mean those metric values are immune to being broken down by non-date attributes as well. In the example below, note how the #Leads BY ALL Year metric values can be broken down by an Industry attribute even if they are not affected by date attributes. (#Leads BY ALL Year values for each industry are aggregated across all time. Notice how the industry figures are identical between Q4/2012 and Q1/2012.)

BY ALL YEAR only overrides the Year attribute. The metric can still be broken down by other visualization attributes like Industry.

Table showing number of leads by quarter and industry. A column using BY ALL Year is shown, where values are not affected by the quarter attribute but are still broken down by industry.

In the example above, we could also add ALL Industry to the end of our #Leads BY ALL Year metric syntax to override both the date attribute and industry attribute dimensions.

Table where the BY ALL clause is applied to both Year and Industry. The final column is highlighted and shows identical lead counts across all quarters and industries, indicating full override of both dimensions.