PK EqLoa, mimetypeapplication/epub+zipPK EqL OEBPS/css/reset-html5.css/* style.css contains a reset, font normalization and some base styles. credit is left where credit is due. additionally, much inspiration was taken from these projects: yui.yahooapis.com/2.8.1/build/base/base.css camendesign.com/design/ praegnanz.de/weblog/htmlcssjs-kickstart */ /* html5doctor.com Reset Stylesheet (Eric Meyer's Reset Reloaded + HTML5 baseline) v1.4 2009-07-27 | Authors: Eric Meyer & Richard Clark html5doctor.com/html-5-reset-stylesheet/ */ html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, hgroup, menu, nav, section, menu, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; } article, aside, figure, footer, header, hgroup, nav, section { display:block; } nav ul { list-style:none; } blockquote, q { quotes:none; } blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; } a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; } ins { background-color:#ff9; color:#000; text-decoration:none; } mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold; } del { text-decoration: line-through; } abbr[title], dfn[title] { border-bottom:1px dotted #000; cursor:help; } /* tables still need cellspacing="0" in the markup */ table { border-collapse:collapse; border-spacing:0; } hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; } input, select { vertical-align:middle; } /* END RESET CSS */ /* fonts.css from the YUI Library: developer.yahoo.com/yui/ Please refer to developer.yahoo.com/yui/fonts/ for font sizing percentages There are three custom edits: * remove arial, helvetica from explicit font stack * make the line-height relative and unit-less * remove the pre, code styles */ body { font:13px sans-serif; *font-size:small; *font:x-small; line-height:1.22; } table { font-size:inherit; font:100%; } select, input, textarea { font:99% sans-serif; } /* normalize monospace sizing * en.wikipedia.org/wiki/MediaWiki_talk:Common.css/Archive_11#Teletype_style_fix_for_Chrome */ pre, code, kbd, samp { font-family: monospace, sans-serif; } /* * minimal base styles */ /* #444 looks better than black: twitter.com/H_FJ/statuses/11800719859 */ body, select, input, textarea { color:#444; } /* Headers (h1,h2,etc) have no default font-size or margin, you'll want to define those yourself. */ /* www.aestheticallyloyal.com/public/optimize-legibility/ */ h1,h2,h3,h4,h5,h6 { font-weight: bold; text-rendering: optimizeLegibility; } /* maxvoltar.com/archive/-webkit-font-smoothing */ html { -webkit-font-smoothing: antialiased; } /* Accessible focus treatment: people.opera.com/patrickl/experiments/keyboard/test */ a:hover, a:active { outline: none; } a, a:active, a:visited { /*color:#607890;*/ /* WEK: Make TOC entries consistently dark. */ color: #444; } a:hover { color:#036; } ul { margin-left:30px; } ol { margin-left:30px; list-style-type: decimal; } small { font-size:85%; } strong, th { font-weight: bold; } td, td img { vertical-align:top; } sub { vertical-align: sub; font-size: smaller; } sup { vertical-align: super; font-size: smaller; } pre { padding: 15px; /* www.pathf.com/blogs/2008/05/formatting-quoted-code-in-blog-posts-css21-white-space-pre-wrap/ */ white-space: pre; /* CSS2 */ white-space: pre-wrap; /* CSS 2.1 */ white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */ word-wrap: break-word; /* IE */ } /* align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css */ input[type="radio"] { vertical-align: text-bottom; } input[type="checkbox"] { vertical-align: bottom; *vertical-align: baseline; } .ie6 input { vertical-align: text-bottom; } /* hand cursor on clickable input elements */ label, input[type=button], input[type=submit], button { cursor: pointer; } /* These selection declarations have to be separate. No text-shadow: twitter.com/miketaylr/status/12228805301 Also: hot pink. */ ::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; } ::selection { background:#FF5E99; color:#fff; text-shadow: none; } /* j.mp/webkit-tap-highlight-color */ a:link { -webkit-tap-highlight-color: #FF5E99; } /* always force a scrollbar in non-IE */ html { overflow-y: scroll; } /* make buttons play nice in IE: www.viget.com/inspire/styling-the-button-element-in-internet-explorer/ */ button { width: auto; overflow: visible; } /* bicubic resizing for non-native sized IMG: code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/ */ .ie7 img { -ms-interpolation-mode: bicubic; } /* * Non-semantic helper classes */ /* for image replacement */ .ir { display:block; text-indent:-999em; overflow:hidden; background-repeat: no-repeat; } /* Hide for both screenreaders and browsers css-discuss.incutio.com/wiki/Screenreader_Visibility */ .hidden { display:none; visibility:hidden; } /* Hide only visually, but have it available for screenreaders www.webaim.org/techniques/css/invisiblecontent/ Solution from: j.mp/visuallyhidden - Thanks Jonathan Neal! */ .visuallyhidden { position:absolute !important; clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ clip: rect(1px, 1px, 1px, 1px); } /* Hide visually and from screenreaders, but maintain layout */ .invisible { visibility: hidden; } /* >> The Magnificent CLEARFIX << */ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { display: inline-block; } * html .clearfix { height: 1%; } /* Hides from IE-mac \*/ .clearfix { display: block; } /* Primary Styles Author: */ /* * print styles * inlined to avoid required HTTP connection www.phpied.com/delay-loading-your-print-css/ */ @media print { * { background: transparent !important; color: #444 !important; text-shadow: none; } a, a:visited { color: #444 !important; text-decoration: underline; } a:after { content: " (" attr(href) ")"; } abbr:after { content: " (" attr(title) ")"; } .ir a:after { content: ""; } /* Don't show links for images */ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; } img { page-break-inside: avoid; } @page { margin: 0.5cm; } p, h2, h3 { orphans: 3; widows: 3; } h2, h3{ page-break-after: avoid; } } /* * Media queries for responsive design */ @media all and (orientation:portrait) { /* Style adjustments for portrait mode goes here */ } @media all and (orientation:landscape) { /* Style adjustments for landscape mode goes here */ } /* Grade-A Mobile Browsers (Opera Mobile, iPhone Safari, Android Chrome) Consider this: www.cloudfour.com/css-media-query-for-mobile-is-fools-gold/ */ @media screen and (max-device-width: 480px) { /* Prevent iOS, WinMobile from adjusting font size */ html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } } PKC PK EqL OEBPS/css/commonrtl.css /* | This file is part of the DITA Open Toolkit project hosted on | Sourceforge.net. See the accompanying license.txt file for | applicable licenses. */ /* | (c) Copyright IBM Corp. 2004, 2005 All Rights Reserved. */ .unresolved { background-color: skyblue; } .noTemplate { background-color: yellow; } .base { background-color: #ffffff; } /* Add space for top level topics */ .nested0 { margin-top : 1em;} /* div with class=p is used for paragraphs that contain blocks, to keep the XHTML valid */ .p {margin-top: 1em} /* Default of italics to set apart figure captions */ .figcap { font-style: italic } .figdesc { font-style: normal } /* Use @frame to create frames on figures */ .figborder { border-style: solid; padding-left : 3px; border-width : 2px; padding-right : 3px; margin-top: 1em; border-color : Silver;} .figsides { border-left : 2px solid; padding-left : 3px; border-right : 2px solid; padding-right : 3px; margin-top: 1em; border-color : Silver;} .figtop { border-top : 2px solid; margin-top: 1em; border-color : Silver;} .figbottom { border-bottom : 2px solid; border-color : Silver;} .figtopbot { border-top : 2px solid; border-bottom : 2px solid; margin-top: 1em; border-color : Silver;} /* Most link groups are created with
Logical SQL Reference Guide for Oracle Business Intelligence Enterprise Edition
Release 12c
E71870-03
August 2016
AGO
, TODATE
, EVALUATE
, and others. Logical SQL queries resolve to Presentation layer objects.
This guide contains the following topics:
Provides an overview for defining SQL Select statements to create expressions for derived columns.
The Oracle BI Server accepts SQL SELECT
statements from client tools. Additionally, the Oracle BI Administration
Tool enables you to define logical columns with complex expressions. This guide explains the syntax and semantics for the SELECT
statement and for the expressions you can use in the Administration Tool to create derived columns.
The abstraction provided by the Presentation layer and Business Model and Mapping layer enables clients to query data with Logical SQL only, so that the interaction with actual physical sources is handled by the Oracle BI Server. The complexity of the multiple source languages needed to communicate with each data source type is hidden from users and clients.
In Administration Tool, you can view the Logical SQL queries issued by Oracle BI Server for particular analyses by viewing the SQL Issued section of the Advanced tab of the Analysis editor. If you have the appropriate privileges, then you can also view SQL by displaying the Manage Sessions page in the Administration tab. Click View Log from the Manage Sessions page to see further details.
In Answers , there are also several places where you can issue Logical SQL. If you have the appropriate privileges, then you can use the Issue SQL page in the Administration tab to enter any SQL code to send to the Oracle BI Server. If an analysis does not contain hierarchical columns, member selections, or groups, then you can use the Advanced SQL Clauses fields in the Advanced tab of the Analysis editor. You can also enter SQL in the New Filter dialog.
In the Administration Tool, Logical SQL appears mostly in the form of expressions related to objects in the Business Model and Mapping layer. You create SQL functions in Expression Builder.
Other clients, like Oracle BI Publisher, Oracle's Hyperion Interactive Reporting, the Oracle BI Add-in for Microsoft Office, and Essbase, also provide their own interfaces to view and issue Logical SQL to the Oracle BI Server.
These sections explain SQL syntax and semantics.
The following topics are included:
The SELECT statement or query specification is the way to query a decision support system through the Oracle BI Server.
A SELECT
statement returns a table to the client that matches the query. It is a table in the sense that the results are in the form of rows and columns.
The SELECT
statement is the basis for querying any structured query language (SQL) database. The Oracle BI Server accepts logical requests to query objects in a repository, and users or query tools make those logical requests with ordinary SQL SELECT
statements. The server then translates the logical requests into physical queries against one or more data sources, combines the results to match the logical request, and returns the answer to the end user.
The SELECT
statement in Logical SQL differs from standard SQL in that it is not necessary to join the tables to return results. Any join conditions supplied in the query are ignored because the join conditions are predefined in the .
This section provides the basic syntax for the SELECT
statement, as well as definitions for individual clauses. The syntax descriptions cover only basic syntax and features unique to the Oracle BI Server. For a more comprehensive description of SQL syntax, see a third-party reference book on SQL or a reference manual on SQL from your database vendors. For Oracle Database, see the Oracle Database SQL Language Reference.
This section contains the following topics:
Use this syntax to write a basic Select statement.
Syntax for the SELECT
statement is as follows:
SELECT [DISTINCT] select_list FROM from_clause [WHERE search_condition] [GROUP BY column {, column} [HAVING search_condition]] [ORDER BY column {, column}]
Where:
select_list
is the list of columns specified in the request. See SELECT List Syntax for more information.
FROM from_clause
is the list of tables in the request. Optionally includes certain join information for the request. See FROM Clause Syntax for more information.
WHERE search_condition
specifies any combination of conditions to form a conditional test. A WHERE
clause acts as a filter that lets you constrain a request to obtain results that answer a particular question. Together with the columns you select, filters determine the contents of your results. See WHERE Clause Syntax for more information.
GROUP BY column {, column}
specifies a column or alias belonging to a table defined in the data source. See GROUP BY Clause Syntax for more information.
HAVING
search_condition
specifies any combination of conditions to form a conditional test. The syntax is identical to that for the WHERE
clause.
ORDER BYcolumn{,column}
specifies the columns to order the results by. See ORDER BY Clause Syntax for more information.
The Oracle BI Server treats the SELECT statement as a logical request.
If aggregated data is requested in the SELECT
statement, a GROUP BY
clause is automatically assumed by the server. Any join conditions supplied in the query are ignored because the join conditions are all predefined in the Oracle BI Repository.
The Oracle BI Server accepts the following SQL syntaxes for comments:
/* */ C-style comments
// Double slash for single-line comments
# Number sign for single-line comments
The Oracle BI Server supports subqueries.
The Oracle BI Server supports certain subqueries, as well as UNION
, UNION ALL
, INTERSECT
, and EXCEPT
operations in logical requests. Subquery support increases the range of business questions that you can answer, eases the formulation of queries, and provides some ability to query across multiple business models.
The Oracle BI Server supports the following subquery predicates in any conditional expression, for example, within WHERE
, HAVING
, or CASE
statements:
IN, NOT IN Any, >=Any, =Any, <Any, <=Any, <>Any All, >=All, =All, <All,<=All, <>All EXISTS, NOT EXISTS
In Answers, advanced users and developers can use the Advanced SQL Clauses fields in the Advanced tab of the Analysis editor to specify various SQL clauses such as GROUP BY
, HAVING
, and DISTINCT
, to include in the SQL queries that are sent to the Oracle BI Server. If an analysis contains hierarchical columns, selections, or groups, then certain Advanced SQL Clauses fields are not available.
The select_list function lists the columns in the request.
You should select all columns from a single business model. You can include table names, for example, Table.Column. Table names are optional except when the column names are not unique in the business model. If column names contain spaces, enclose column names in double quotes. You do not need to include the DISTINCT
keyword because the Oracle BI Server always performs a distinct query. You do not need to include the aggregation function such as SUM
, for columns that are aggregated because the Oracle BI Server knows the aggregation rules and aggregation is performed automatically.
Syntax
... * | (column | expr) [[AS] alias] {, (column | expr) [[AS] alias] } ...
Where:
*
Indicates all columns in the resultant table in the FROM
clause.
column
is a column (or alias) belonging to a table defined in the data source.
expr
is any valid SQL expression.
Note:
You cannot use * to select all columns from the Advanced tab of the Analysis editor in Answers. Instead, you must specify particular columns.
The Oracle BI Server accepts any valid SQL FROM clause syntax.
To simplify FROM
clause creation, you can specify the name of a subject area instead of a list of tables. The Oracle BI Server determines the proper tables and the proper join specifications based on the columns the request asks for and the configuration of the Oracle BI Repository.
The Oracle BI Server accepts any valid SQL WHERE clause syntax.
There is no need to specify any join conditions in the WHERE
clause, because the joins are all configured within the Oracle Business Intelligence repository. Any join conditions specified in the WHERE
clause are ignored.
Oracle BI EE also supports the following subquery predicates in any conditional expression (WHERE
, HAVING
or CASE
statements):
IN, NOT IN Any, >=Any, =Any, <Any, <=Any, <>Any All, >=All, =All, <All,<=All, <>All EXISTS, NOT EXISTS
With auto aggregation on the Oracle BI Server, there is no need to submit a GROUP BY clause.
When no GROUP BY
clause is specified, the GROUP BY
specification defaults to all of the non-aggregation columns in the SELECT
list. If you explicitly use aggregation functions in the select list, you can specify a GROUP BY
clause with different columns and the Oracle BI Server computes the results based on the level specified in the GROUP BY
clause.
For an in-depth explanation and some examples of using the GROUP BY
clause in requests against the Oracle BI Server, see Rules for Queries with Aggregate Functions.
The Oracle BI Server accepts any valid SQL ORDER BY
clause syntax, including referencing columns by their order in the select list such as ORDER BY
3, 1, 5.
In the ORDER BY
clause, you can use the following syntax to alter the sort order for nulls in the query:
ORDER BY col1 NULLS LAST, ORDER BY col2 NULLS FIRST
For logical columns with sort order columns assigned to them, you can use the ORDER BY
clause to disregard the sort order column and instead sort by the column's value. Note the following syntax:
ORDER BY { { <column_index> | <expr> } [ DISPLAY | SORTKEY ] [ ASC | DESC ] [NULLS { FIRST | LAST } ] }
Where:
DISPLAY
sorts based on the order of the display value of the expression regardless of whether a sort column is assigned to the logical column. By default, Oracle BI Server assumes DISPLAY
when a sort column is not set for the logical column.
SORTKEY
sorts based on the logical column's assigned sort column. By default,Oracle BI Server assumes SORTKEY
when a sort column is set for the logical column.
The Oracle BI Server performs parsing, interpretation, and query generation on a SELECT_PHYSICAL query before passing it to the database.
Though a SELECT_PHYSICAL
query bypasses the Presentation layer and the Business Model and Mapping layer, the Oracle BI Server still performs parsing, interpretation, and query generation on a SELECT_PHYSICAL
query before passing it to the database.
A SELECT_PHYSICAL
command can contain any element allowed in standard Oracle BI Server SQL with the following constraints:
The SELECT_PHYSICAL
command does not explicitly reference structures in the repository Business Model and Mapping layer or the Presentation layer
The SELECT_PHYSICAL
command does not require implicit logical transformation
The SELECT_PHYSICAL
command cannot contain certain aggregate functions, see Aggregate Functions Not Supported in SELECT_PHYSICAL Queries for details
Note:
SELECT_PHYSICAL statements are not cached.
You can set up an ODBC connection to the Oracle BI Server as a dedicated physical connection over which all SELECT
queries are treated as SELECT_PHYSICAL
queries. To do this, select Route Requests To Physical Layer in the ODBC data source for the Oracle BI Server. See “Integrating Other Clients with Oracle Business Intelligence” in Integrator's Guide for Oracle Business Intelligence Enterprise Edition for more information.
SELECT_PHYSICAL
statements are logged as Physical Request entries.
The topics in this section are the following:
The SELECT_PHYSICAL function syntax is like to the syntax used with a SELECT statement.
Basic syntax for SELECT_PHYSICAL
queries is equivalent to Basic Syntax for the SELECT Statement with the term SELECT_PHYSICAL
replacing the word SELECT
, namely:
SELECT_PHYSICAL [DISTINCT] select_list FROM from_clause [WHERE search_condition] [GROUP BY column {, column} [HAVING search_condition]] [ORDER BY column {, column}]
Note:
The SELECT_PHYSICAL
statement is close to the standard ANSI SQL SELECT
statement. For example, you cannot omit the GROUP BY
clause nor, where relevant, the HAVING
clause in a SELECT_PHYSICAL
aggregate query.
In SELECT_PHYSICAL
queries, you must fully qualify the table names in the FROM
list. Each fully qualified table name must match a table name in the physical layer of the repository.
A fully qualified table name consists of up to four components, database name, catalog name, schema name, and table name. Each component is surrounded by double quotes (") with a period (.) separator between components. For example, "SQL_DB"."My_Catalog"."My_Schema"."Customers" for a SQL Server table, and "FoodMart"..."Sales" for a cube table.
Provides a list of aggregate functions that are not supported by SELECT_PHYSICAL queries.
AGO
BOTTOMN
FILTER
FIRST
LAST
RCOUNT
RMAX
RMIN
RSUM
TODATE
TOPN