This section briefly explains the meaning of symbolic notations used to describe grammar in this document. The query grammar rules are presented using Backus-Naur Form (BNF) syntax notation.
The following table of conventions is not a complete description of BNF, but it can help you read the grammar rules presented in this document.
Symbol | Description | Example |
---|---|---|
<word> (A word in angle brackets.) | The word presented in angle brackets is not meant to be literally used in a statement; its rules are further defined elsewhere. | When reading the following syntax, SELECT <axis-specification> ... you know that axis-specification is not meant to be typed literally into the statement. The rules for axis-specification are further defined in the documentation (look for <axis-specification> ::= to get the definition). |
<word> ::= (A word in angle brackets, followed directly by the symbol ::=) | A definition, or BNF "production." The symbol ::= can be interpreted to mean "is defined as." The word referred to elsewhere as the placeholder <word> is defined here, directly following <word> ::=. | The following syntax tells you that a tuple is defined as either one member in parenthesis, or two or more comma-separated members in parenthesis. <tuple> ::= '(' <member> [,<member>]... ')' |
| The pipe symbol or "OR" symbol. | Precedes alternatives. The symbol | can be interpreted to mean "or." | The following syntax: ON COLUMNS|ROWS|PAGES|CHAPTERS|SECTIONS can be used to build any of the following literal statement parts:
|
WORD (Text in all caps.) | A query-grammar keyword, to be typed literally. | When reading the following syntax, SELECT <axis-specification> ... you know that SELECT is a keyword, and therefore should be typed literally into its proper location in the statement. |
[<word>] or [word] or[WORD] (Square brackets enclosing some word or item.) | An optional element. | In the following high-level query syntax, [<with_section>] SELECT [<axis_specification> [, <axis_specification>...]] FROM [<cube_specification>] [WHERE [<slicer_specification>]] everything, technically, is optional except for SELECT and FROM. Therefore, a query containing only the words SELECT FROM would in fact be valid; however, it would select one consolidated data value from its best estimate of a cube context, which might not be very useful. |
[, <word>...] (A comma, a word, and an ellipsis, all enclosed in square brackets.) | You can optionally append a comma-separated list of one or more <words>. | The following syntax SELECT [<axis_specification> [, <axis_specification<...]] indicates that multiple, comma-separated axis specifications can optionally be supplied to the SELECT statement. |