[/map {"- map/map "}) [/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Introduction to the Endeca Query Language (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Introduction to the Endeca Query Language (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section introduces the Endeca Query Language (EQL) and walks you through the query processing model. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL overview (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) EQL overview (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL is a SQL-like language designed specifically to query and manipulate data from the Oracle Endeca Server.It enables Endeca Server–based applications to examine aggregate information such as trends, statistics, analytical visualizations, comparisons, and more. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Important concepts and terms (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Important concepts and terms (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In order to work with EQL, you need to understand the following concepts. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL and SQL: a comparison (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) EQL and SQL: a comparison (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL is, in many ways, similar to SQL, but has some marked differences as well. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Query overview (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Query overview (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) An EQL query contains one or more semicolon-delimited statements with at least one RETURN clause. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) How queries are processed (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) How queries are processed (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic walks you through the steps involved in EQL query processing. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL requests in the Conversation Service (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) EQL requests in the Conversation Service (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) A request made with the Conversation Web Service can include statements in EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL reserved keywords (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) EQL reserved keywords (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL reserves certain keywords for its exclusive use. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Statements and Clauses (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Statements and Clauses (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section describes the types of clauses used in EQL statements. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) DEFINE clause (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) DEFINE clause (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) DEFINE is used to generate an intermediate result that will not be included in the query result. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) RETURN clause (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) RETURN clause (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) RETURN indicates that the statement result should be included in the query result. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SELECT clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SELECT clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SELECT clause defines the list of attributes on the records produced by the statement. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) AS clause (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) AS clause (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The AS clause allows you to give an alias name to EQL attributes and results. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using AS expressions to calculate derived attributes (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using AS expressions to calculate derived attributes (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL statements typically use expressions to compute one or more derived attributes. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) FROM clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) FROM clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) You can include a FROM clause in your statement to specify a different record source from the result of the containing search and navigation query. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) JOIN clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) JOIN clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) JOIN clauses allow records from multiple statements and/or named states to be combined, based on a relationship between certain attributes in these statements. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) WHERE clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) WHERE clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The WHERE clause is used to filter input records for an expression. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) HAVING clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) HAVING clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The HAVING clause is used to filter output records. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) ORDER BY clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) ORDER BY clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The ORDER BY clause is used to control the order of result records. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) PAGE clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) PAGE clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The PAGE clause specifies a subset of records to return. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Aggregation (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Aggregation (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In EQL, aggregation operations bucket a set of records into a resulting set of aggregated records. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) GROUP/GROUP BY clauses (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) GROUP/GROUP BY clauses (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The GROUP and GROUP BY clauses specify how to map source records to result records in order to group statement output. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) MEMBERS extension (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) MEMBERS extension (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) MEMBERS is an extension to GROUP BY that allows grouping by the members of a set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) GROUPING SETS expression (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) GROUPING SETS expression (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) A GROUPING SETS expression allows you to selectively specify the set of groups that you want to create within a GROUP BY clause. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) ROLLUP extension (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) ROLLUP extension (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) ROLLUP is an extension to GROUP BY that enables calculation of multiple levels of subtotals across a specified group of attributes.It also calculates a grand total. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) CUBE extension (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) CUBE extension (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) CUBE takes a specified set of attributes and creates subtotals for all of their possible combinations. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Grouping sets helper functions (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Grouping sets helper functions (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) There are three helper functions that you can use for queries that use grouping capabilities. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) GROUPING function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) GROUPING function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) GROUPING indicates whether a specified attribute expression in a GROUP BY list is aggregated. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) GROUPING_ID function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) GROUPING_ID function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The GROUPING_ID function computes the GROUP BY level of a particular row. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) GROUP_ID function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) GROUP_ID function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The GROUP_ID function uniquely identifies a group of rows that has been created by a GROUP BY clause in the query result set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Notes on grouping behavior (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Notes on grouping behavior (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic describes some EQL grouping behaviors that you should be aware of. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) COUNT function (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) COUNT function (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The COUNT function returns the number of records that have a value for an attribute. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) COUNTDISTINCT function (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) COUNTDISTINCT function (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The COUNTDISTINCT function counts the number of distinct values for an attribute. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Multi-level aggregation (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Multi-level aggregation (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) You can perform multi-level aggregation in EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Per-aggregation filters (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Per-aggregation filters (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Each aggregation can have its own filtering WHERE clause.集計関数フィルタは、集計式の入力をフィルタリングします。これが役に立つのは、スパースまたは異種混在のデータを扱うときです。Only records that satisfy the filter contribute to the calculation of the aggregation function. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Expressions (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Expressions (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Expressions are typically combinations of one or more functions, attributes, constants, or operators.Most expressions are simple combinations of functions and attributes. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Supported data types (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Supported data types (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic describes the format of data types supported by EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Operator precedence rules (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Operator precedence rules (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL enforces the following precedence rules for operators. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Literals (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Literals (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section discusses how literals are used in EQL. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Character handling (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Character handling (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL accepts all Unicode characters. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling of upper- and lower-case (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling of upper- and lower-case (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic discusses character case handling in EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling NULL attribute values (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling NULL attribute values (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) If an attribute value is missing for a record, then the attribute is referred to as being NULL.For example, if a record does not contain an assignment for a Price attribute, EQL defines the Price value as NULL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Type promotion (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Type promotion (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In general, EQL performs type promotion when there is no risk of loss of information. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Handling of NaN, inf, and -inf results (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Handling of NaN, inf, and -inf results (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Operations in EQL adhere to the conventions for Not a Number (NaN), inf, and -inf defined by the IEEE 7540 2008 standard for handling floating point numbers. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Functions and operators (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Functions and operators (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL contains a number of built-in functions that process data.It also supports arithmetic operators. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Numeric functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Numeric functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following numeric functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Aggregation functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Aggregation functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following aggregation functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Hierarchy functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Hierarchy functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports hierarchy functions on managed attributes. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Geocode functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Geocode functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The geocode data type contains the longitude and latitude values that represent a geocode property. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Date and time functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Date and time functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides functions for working with time, dateTime, and duration data types. (shortdesc] (topicmeta][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Manipulating current date and time (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Manipulating current date and time (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides four constant keywords to obtain current date and time values.Values are obtained at an arbitrary point during query evaluation. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Constructing date and time values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Constructing date and time values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides functions to construct a timestamp representing time, date, or duration using an expression. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Time zone manipulation (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Time zone manipulation (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides two functions to obtain the corresponding timestamp in different time zones. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using EXTRACT to extract a portion of a dateTime value (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using EXTRACT to extract a portion of a dateTime value (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The EXTRACT function extracts a portion of a dateTime value, such as the day of the week or month of the year.This can be useful in situations where the data must be filtered or grouped by a slice of its timestamps, for example to compute the total sales that occurred on any Monday. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using TRUNC to round down dateTime values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using TRUNC to round down dateTime values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The TRUNC function can be used to round a dateTime value down to a coarser granularity. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using arithmetic operations on date and time values (navtitle][/map/topicref/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using arithmetic operations on date and time values (linktext][/map/topicref/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In addition to using the TRUNC and EXTRACT functions, you also can use normal arithmetic operations with date and time values. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) String functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) String functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the following string functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Arithmetic operators (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Arithmetic operators (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports arithmetic operators for addition, subtraction, multiplication, and division. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Boolean operators (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Boolean operators (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports the Boolean operators AND, OR, and NOT. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using EQL results to compose follow-on queries (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using EQL results to compose follow-on queries (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) You can select a value in an EQL result and use it to compose a follow-on query. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using lookup expressions for inter-statement references (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using lookup expressions for inter-statement references (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In EQL, you can define statements and then refer to these statements from other statements. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) ARB (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) ARB (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) ARB selects an arbitrary but consistent value from the set of values in a field. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) BETWEEN (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) BETWEEN (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The BETWEEN expression determines whether an attribute's value falls within a range of values. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) COALESCE (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) COALESCE (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The COALESCE expression allows for user-specified NULL-handling.It is often used to fill in missing values in dirty data. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) CASE (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) CASE (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) CASE expressions allow conditional processing in EQL, allowing you to make decisions at query time. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) IN (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) IN (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) IN expressions perform a membership test. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) Sets and Multi-assign Data (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) Sets and Multi-assign Data (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL supports sets, in particular the use of sets to represent multi-assign attributes. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) About sets (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) About sets (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL represents multi-assign attributes from the corpus as sets. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Aggregate functions (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Aggregate functions (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides three aggregators for working with sets. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SET function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SET function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SET aggregation function takes a single-assign attribute and constructs a set of all of the (non-NULL) values from that attribute. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SET_INTERSECTIONS function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SET_INTERSECTIONS function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SET_INTERSECTIONS aggregation function takes a multi-assign attribute and constructs a set that is the intersection of all of the values from that attribute. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SET_UNIONS function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SET_UNIONS function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SET_UNIONS aggregation function takes a multi-assign attribute and constructs a set that is the union of all of the values from that attribute. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Row functions (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Row functions (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides a number of row functions for working with sets. (shortdesc] (topicmeta][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) UNION function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) UNION function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The UNION row function takes two sets of the same data type and returns a set that is the union of both input sets. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) INTERSECTION function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) INTERSECTION function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The INTERSECTION row function takes two sets of the same data type and returns a set that is the intersection of both input sets. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) DIFFERENCE function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) DIFFERENCE function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The DIFFERENCE row function takes two sets of the same data type and returns a set containing all of the elements of the first set that do not appear in the second set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SUBSET function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SUBSET function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SUBSET row function takes two sets of the same data type and returns a Boolean indicating whether the first set is a subset of the second set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) IS_MEMBER_OF function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) IS_MEMBER_OF function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The IS_MEMBER_OF row function takes an atomic value and a set, and returns a Boolean indicating whether the atomic value occurs in the set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) ADD_ELEMENT function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) ADD_ELEMENT function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The ADD_ELEMENT row function adds an element to a set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) IS_EMPTY and IS_NOT_EMPTY functions (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) IS_EMPTY and IS_NOT_EMPTY functions (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The IS_EMPTY and IS_NOT_EMPTY functions determine whether a set is or is not empty.The IS EMPTY and IS NOT EMPTY functions provide alternative syntaxes for these functions. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) SINGLETON function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) SINGLETON function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The SINGLETON function takes a single atomic value and returns a set containing only that value. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) CARDINALITY function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) CARDINALITY function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The CARDINALITY row function takes a set and returns the number of elements in that set. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) TRUNCATE_SET function (navtitle][/map/topicref/topicref/topicref/topicmeta/linktext {"- map/linktext "}) TRUNCATE_SET function (linktext][/map/topicref/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The TRUNCATE_SET row function takes a set and an integer, and returns a copy of the set with no more than the specified number of elements in it. (shortdesc] (topicmeta] (topicref] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Set constructor (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Set constructor (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL allows users to write sets directly in queries. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Quantifiers (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Quantifiers (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides existential and universal quantifiers for use with Boolean expressions against sets. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Grouping by sets (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Grouping by sets (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL provides support for grouping by sets. (shortdesc] (topicmeta] (topicref] (topicref] [/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL Use Cases (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) EQL Use Cases (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section describes how to handle various business scenarios using EQL.The examples in this section are not based on a single data schema. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Re-normalization (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Re-normalization (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Re-normalization is important in denormalized data models in the Endeca Server, as well as when analyzing multi-value attributes. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Grouping by range buckets (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Grouping by range buckets (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) To create value range buckets, divide the records by the bucket size, and then use FLOOR or CEIL if needed to round to the nearest integer. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Manipulating records in a dynamically computed range value (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Manipulating records in a dynamically computed range value (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The following scenario describes how to manipulate records in a dynamically computed range value. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Grouping data into quartiles (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Grouping data into quartiles (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL allows you to group your data into quartiles. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Combining multiple sparse fields into one (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Combining multiple sparse fields into one (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) EQL allows you to combine multiple sparse fields into a single field. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Joining data from different types of records (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Joining data from different types of records (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) You can use EQL to join data from different types of records. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Joining on hierarchy (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Joining on hierarchy (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The following example shows a transitive join on hierarchy. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Linear regressions in EQL (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Linear regressions in EQL (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Using the syntax described in this topic, you can produce linear regressions in EQL. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Using an IN filter for pie chart segmentation (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Using an IN filter for pie chart segmentation (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This query shows how the IN filter can be used to populate a pie chart showing sales divided into six segments: one segment for each of the five largest customers, and one segment showing the aggregate sales for all other customers. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Running sum (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Running sum (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) A running (or cumulative) sum calculation can be useful in warranty scenarios. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Query by age (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Query by age (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) In this example, records are tagged with a Date attribute on initial ingest.No updates are necessary. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Calculating percent change between most recent month and previous month (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Calculating percent change between most recent month and previous month (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The following example finds the most recent month in the data that matches the current filters, and compares it to the prior month, again in the data that matches the current filters. (shortdesc] (topicmeta] (topicref] (topicref] [/map/topicref {"- map/topicref "}) [/map/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicmeta/navtitle {"- topic/navtitle "}) EQL Best Practices (navtitle][/map/topicref/topicmeta/linktext {"- map/linktext "}) EQL Best Practices (linktext][/map/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This section discusses ways to maximize your EQL query performance. (shortdesc] (topicmeta][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Controlling input size (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Controlling input size (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) The size of the input for a statement can have a big impact on the evaluation time of the query. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Filtering as early as possible (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Filtering as early as possible (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Filtering out rows as soon as possible improves query latency because it reduces the amount of data that must be tracked through the evaluator. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Controlling join size (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Controlling join size (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) Joins can cause the Endeca Server to grow beyond available RAM.Going beyond the scale capabilities will cause very, very large materializations, intense memory pressure, and can result in an unresponsive Endeca Server. (shortdesc] (topicmeta] (topicref][/map/topicref/topicref {"- map/topicref "}) [/map/topicref/topicref/topicmeta {"- map/topicmeta "}) [/map/topicref/topicref/topicmeta/navtitle {"- topic/navtitle "}) Additional tips (navtitle][/map/topicref/topicref/topicmeta/linktext {"- map/linktext "}) Additional tips (linktext][/map/topicref/topicref/topicmeta/shortdesc {"- map/shortdesc "}) This topic contains additional tips for working effectively with EQL. (shortdesc] (topicmeta] (topicref] (topicref] (map]