| <!-- This file was created using the HTML documentation generator. --> |
| <!-- Creation date: Mon Apr 05 13:13:37 BST 2021--> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <title>Metamodel Documentation (platform:/resource/org.eclipse.efbt.cocalimo.dtm.model.core/model/dtm_sql_views.ecore)</title> |
| <script type="text/javascript"> |
| //<![CDATA[ |
| // TOC script based on code taken from http://www.quirksmode.org/dom/toc.html |
| function makeTOC() { |
| |
| var toc = document.createElement('div') |
| toc.id = "toc"; |
| toc.innerHTML = "Table of Contents" |
| document.body.appendChild(toc); |
| |
| var innertocDiv = createTOC() |
| toc.appendChild(innertocDiv); |
| } |
| |
| |
| function createTOC() { |
| var y = document.createElement('div'); |
| y.id = 'innertoc'; |
| //var a = y.appendChild(document.createElement('span')); |
| //a.onclick = showhideTOC; |
| //a.id = 'contentheader'; |
| //a.innerHTML = 'Show Table of Contents'; |
| var z = y.appendChild(document.createElement('div')); |
| //z.onclick = showhideTOC; |
| var toBeTOCced = getElementsByTagNames('h1,h2,h3'); |
| if (toBeTOCced.length < 2) return false; |
| var hCount = 0; |
| var hhCount = 0; |
| var hhhCount = 0; |
| for (var i=0;i<toBeTOCced.length;i++) { |
| var tmp = document.createElement('a'); |
| tmp.className = 'page'; |
| var text; |
| var textPre; |
| if (toBeTOCced[i].nodeName == 'h2'){ |
| tmp.className += ' indent'; |
| textPre = hCount + "."+ ++hhCount + ". "; |
| } |
| else if (toBeTOCced[i].nodeName == 'h3'){ |
| tmp.className += ' extraindent'; |
| textPre = hCount + "."+ hhCount + "."+ ++hhhCount +". "; |
| } |
| else { |
| textPre = ++hCount + ". "; |
| hhCount = 0; |
| hhhCount = 0; |
| } |
| text = textPre + toBeTOCced[i].textContent; |
| toBeTOCced[i].innerHTML = textPre + toBeTOCced[i].innerHTML; |
| |
| tmp.innerHTML = text; |
| z.appendChild(tmp); |
| var headerId = toBeTOCced[i].id || 'link' + i; |
| tmp.href = '#' + headerId; |
| toBeTOCced[i].id = headerId; |
| } |
| return y; |
| } |
| |
| function getElementsByTagNames(list,obj) { |
| if (!obj) var obj = document; |
| var tagNames = list.split(','); |
| var resultArray = new Array(); |
| for (var i=0;i<tagNames.length;i++) { |
| var tags = obj.getElementsByTagName(tagNames[i]); |
| for (var j=0;j<tags.length;j++) { |
| resultArray.push(tags[j]); |
| } |
| } |
| var testNode = resultArray[0]; |
| if (!testNode) return []; |
| if (testNode.sourceIndex) { |
| resultArray.sort(function (a,b) { |
| return a.sourceIndex - b.sourceIndex; |
| }); |
| } |
| else if (testNode.compareDocumentPosition) { |
| resultArray.sort(function (a,b) { |
| return 3 - (a.compareDocumentPosition(b) & 6); |
| }); |
| } |
| return resultArray; |
| } |
| |
| //]]> |
| </script> |
| <link rel="stylesheet" type="text/css" href="https://raw.github.com/necolas/normalize.css/master/normalize.css" /> |
| <style> |
| #toc { |
| position: fixed; |
| right: 0; |
| top: 0; |
| background-color:#eee; |
| overflow: scroll; |
| border: 1px dashed; |
| } |
| |
| #toc #innertoc { |
| display: none; |
| height: 500px; |
| } /* Hide the full TOC by default */ |
| |
| #toc:hover #innertoc{ |
| display: block; /* Show it on hover */ |
| } |
| td { |
| border: 1px solid; |
| } |
| .page{ |
| display:table-row; |
| } |
| .indent { |
| text-indent:12pt; |
| } |
| .extraindent { |
| text-indent:14pt; |
| } |
| |
| </style> |
| <link rel="stylesheet" type="text/css" href="style.css" /> |
| </head> |
| <body onload="makeTOC();"> |
| <h1 id="dtmsqlviews"><a href="#dtmsqlviews"><span class="packageName">dtm_sql_views</span> package</a></h1> |
| |
| <p>This package describes the set of SQLViews, each SQLView represents a DataSetTransformation which transforms |
| data from one DataSet to another in an immutable side-effect free fashion. They use concepts from the well-known SQL StructuredQueryLanguage.</p> |
| |
| <pre><code>The transformed dataset is created just once by the transformation and then never amended (it is immutable) |
| The only data that can be used in the transformation is the data from the source dataset(s), so it cannot use anything else including |
| 'global variables' (which do not exist in the compitational model, the only data created by the transformation is the data in the resulting transformed dataset, |
| no other data is created or affected so the transformations are side-effect free. |
| |
| </code></pre> |
| <div class="">EPackage properties:</div> |
| <div class="keyValue"><span class="label">Namespace Prefix: </span><span class="teletype">dtm_sql_views</span></div> |
| <div class="keyValue"><span class="label">Namespace URI: </span><span class="teletype">http://www.eclipse.org/efbt/dtm_sql_views</span></div> |
| <h2 id="dtmsqlviewsAggregateEnrichmentView"><a href="#dtmsqlviewsAggregateEnrichmentView"><a href="#dtmsqlviewsAggregateEnrichmentView">AggregateEnrichmentView</a></a></h2> |
| |
| <p>An SQLView which represents a grouping of rows of the single source table of the associated table, |
| according to a set of Columns, and creates extra column(s) which runs a specified aggregation function over the group. |
| This is equivalent to the GroupBy commands in SQL such as select ccy, country, sum(amount) from trades, groupby ccy, country. |
| The resulting table structure will be a column for each of the groupBy columns, with one column added per calculated column. |
| There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades |
| by currency, there will be on row per unique currency in the results. |
| All SQLViews are associated with a DerivedCube, the source Cubes for the view are defined by the source Cubes of the associated Cube.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsAggregateEnrichmentView.functions" class="teletype">functions</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicAggregateColumnFunction">AggregateColumnFunction</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>Aggregated ColumnFunctions</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsAggregateEnrichmentView.groupByClause" class="teletype">groupByClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>The GroupBy clause which includes the GroupBy columns</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.AggregateEnrichmentView.ref"></a> |
| <h2 id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy"><a href="#dtmsqlviewsAggregateEnrichmentViewAndOrderBy"><a href="#dtmsqlviewsAggregateEnrichmentViewAndOrderBy">AggregateEnrichmentViewAndOrderBy</a></a></h2> |
| |
| <p>An SQLView which represents a grouping of rows of the single source table of the associated table, |
| according to a set of Columns, and creates extra column(s) which runs a specified aggregation function over the group. |
| This is equivalent to the GroupBy commands in SQL such as select ccy, country, sum(amount) from trades, groupby ccy, country. |
| The resulting table structure will be a column for each of the groupBy columns, with one column added per calculated column. |
| There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades |
| by currency, there will be on row per unique currency in the results. |
| All SQLViews are associated with a DerivedCube, the source Cubes for the view are defined by the source Cubes of the associated Cube.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.functions" class="teletype">functions</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicAggregateColumnFunction">AggregateColumnFunction</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>Aggregated ColumnFunctions</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.groupByClause" class="teletype">groupByClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>The GroupBy clause which includes the GroupBy columns</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsAggregateEnrichmentViewAndOrderBy.orderByVariable" class="teletype">orderByVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.AggregateEnrichmentViewAndOrderBy.ref"></a> |
| <h2 id="dtmsqlviewsBaseViewIncorporatingDeltas"><a href="#dtmsqlviewsBaseViewIncorporatingDeltas"><a href="#dtmsqlviewsBaseViewIncorporatingDeltas">BaseViewIncorporatingDeltas</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsBaseViewIncorporatingDeltas.ultimateSourceCube" class="teletype">ultimateSourceCube</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.BaseViewIncorporatingDeltas.ref"></a> |
| <h2 id="dtmsqlviewsCastColumnView"><a href="#dtmsqlviewsCastColumnView"><a href="#dtmsqlviewsCastColumnView">CastColumnView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsCastColumnView.sourceStructVariable" class="teletype">sourceStructVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsCastColumnView.targetStructVariable" class="teletype">targetStructVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.CastColumnView.ref"></a> |
| <h2 id="dtmsqlviewsCopyView"><a href="#dtmsqlviewsCopyView"><a href="#dtmsqlviewsCopyView">CopyView</a></a></h2> |
| |
| <p>An SQLView which represents a Copy of all rows of the single source cubw of the associated DereivedCube. |
| The resulting Cube Structure will be the same as that source cube. |
| The number of rows in the view will be the same as there were in the source cube.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><h2 id="dtmsqlviewsDeltaAccumulation"><a href="#dtmsqlviewsDeltaAccumulation"><a href="#dtmsqlviewsDeltaAccumulation">DeltaAccumulation</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsDeltaAccumulation.ultimateSourceCube" class="teletype">ultimateSourceCube</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.DeltaAccumulation.ref"></a> |
| <h2 id="dtmsqlviewsEnrichmentView"><a href="#dtmsqlviewsEnrichmentView"><a href="#dtmsqlviewsEnrichmentView">EnrichmentView</a></a></h2> |
| |
| <p>An SQLView which represents a Copy of all rows of the single source cube of the associated DerivedCube, |
| and adds one or more calculated columns. |
| The resulting cube structure will be the same as that source cube, with one column added per calculated column, |
| although we can choose to Rename some of the columns from the source cube if we wish.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsEnrichmentView.functions" class="teletype">functions</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#columntransformationlogicBasicColumnFunction">BasicColumnFunction</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>The ColumnFunctions describing how to derive the new columns. Note that their will be a one to |
| one relationship between the rows in the resulting view and the rows in the source row. So the column function could<br/> |
| represent the addition of 2 columns in the source row for example.</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsEnrichmentView.ignores" class="teletype">ignores</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>an IgnoreColumn for each column we want to ignore</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsEnrichmentView.renames" class="teletype">renames</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsRenameAs">RenameAs</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A set of Renames, these are similar is concept to the AS command in SQL, |
| e.g. in SQL select CCY as Currency from cube1, will mean that the cube structure of the resulting view has a column called Currency not CCY, and that cube1 naturally remains with having a column called CCY.</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.EnrichmentView.ref"></a> |
| <h2 id="dtmsqlviewsExplodeArrayOfStructsView"><a href="#dtmsqlviewsExplodeArrayOfStructsView"><a href="#dtmsqlviewsExplodeArrayOfStructsView">ExplodeArrayOfStructsView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsExplodeArrayOfStructsView.arraySourceColumn" class="teletype">arraySourceColumn</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionArrayTypedVariable">ArrayTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsExplodeArrayOfStructsView.indexColumn" class="teletype">indexColumn</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsExplodeArrayOfStructsView.targetStructColumn" class="teletype">targetStructColumn</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.ExplodeArrayOfStructsView.ref"></a> |
| <h2 id="dtmsqlviewsExplodeStructView"><a href="#dtmsqlviewsExplodeStructView"><a href="#dtmsqlviewsExplodeStructView">ExplodeStructView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsExplodeStructView.columnToUnpack" class="teletype">columnToUnpack</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.ExplodeStructView.ref"></a> |
| <h2 id="dtmsqlviewsFilterByConditionView"><a href="#dtmsqlviewsFilterByConditionView"><a href="#dtmsqlviewsFilterByConditionView">FilterByConditionView</a></a></h2> |
| |
| <p>An SQLView which represents a Copy of all rows of the single source cube of the associated cube IF they meet a filter condition. |
| The resulting cube structure will be the same as that source cube. |
| The number of rows in the view will be the number of rows in the source table that meet the supplied condition.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsFilterByConditionView.whereClause" class="teletype">whereClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A WhereClause clause representing the filter condition</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.FilterByConditionView.ref"></a> |
| <h2 id="dtmsqlviewsFilterByStructClassColumnView"><a href="#dtmsqlviewsFilterByStructClassColumnView"><a href="#dtmsqlviewsFilterByStructClassColumnView">FilterByStructClassColumnView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsFilterByStructClassColumnView.renameAsStructColumn" class="teletype">renameAsStructColumn</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsFilterByStructClassColumnView.structClass" class="teletype">structClass</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsFilterByStructClassColumnView.structColumn" class="teletype">structColumn</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.FilterByStructClassColumnView.ref"></a> |
| <h2 id="dtmsqlviewsGenericView"><a href="#dtmsqlviewsGenericView"><a href="#dtmsqlviewsGenericView">GenericView</a></a></h2> |
| |
| <p>An SQLView which represents a custom transformation.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsGenericView.groupByClause" class="teletype">groupByClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A custom groupby clause</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsGenericView.selectClause" class="teletype">selectClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsSelectClause">SelectClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A custom select clause</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsGenericView.whereClause" class="teletype">whereClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A custom where clause</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.GenericView.ref"></a> |
| <h2 id="dtmsqlviewsGroupByClause"><a href="#dtmsqlviewsGroupByClause"><a href="#dtmsqlviewsGroupByClause">GroupByClause</a></a></h2> |
| |
| <p>This is equivalent to the Group By section in SQL such as select ccy, country, sum(amount) from trades, group by ccy, country. |
| The resulting cube structure will be a column for each of the groupBy columns, with one column added per calculated column. |
| There will likely be considerably less rows in the results of the view, for example if we are grouping on million trades |
| by currency, there will be on row per unique currency in the results.</p> |
| <table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsGroupByClause.groupByColumns" class="teletype">groupByColumns</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| </td> |
| <td> <p>the columns to group by </p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.GroupByClause.ref"></a> |
| <h2 id="dtmsqlviewsIgnoreColumn"><a href="#dtmsqlviewsIgnoreColumn"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></a></h2> |
| |
| <p>Column to Ignore. Used in a JoinView if we dont want all the columns from the joined cubes to be in the resulting Views cube structure.</p> |
| <table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsIgnoreColumn.columnToIgnore" class="teletype">columnToIgnore</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>the column to Ignore</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsIgnoreColumn.cube" class="teletype">cube</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>the cube with the column to ignore.</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.IgnoreColumn.ref"></a> |
| <h2 id="dtmsqlviewsJoinView"><a href="#dtmsqlviewsJoinView"><a href="#dtmsqlviewsJoinView">JoinView</a></a></h2> |
| |
| <p>An SQLView which represents a join of rows of two source cubes of the associated table, according to a join condition. |
| This is equivalent to joining 2 tables using SQL |
| The resulting cube structure will be a column for each of the columns in the 2 source cubes unless we specify that we want to ignore columns or rename columns.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsJoinView.ignores" class="teletype">ignores</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsIgnoreColumn">IgnoreColumn</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>an IgnoreColumn for each column we want to ignore</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsJoinView.renames" class="teletype">renames</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsRenameAs">RenameAs</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A rename for each column we wish to rename</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsJoinView.whereClause" class="teletype">whereClause</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsWhereClause">WhereClause</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>A WhereClause clause representing the join condition</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.JoinView.ref"></a> |
| <h2 id="dtmsqlviewsMakeArrayOfStructsView"><a href="#dtmsqlviewsMakeArrayOfStructsView"><a href="#dtmsqlviewsMakeArrayOfStructsView">MakeArrayOfStructsView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsMakeArrayOfStructsView.groupingVariable" class="teletype">groupingVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsMakeArrayOfStructsView.sourceStructVariable" class="teletype">sourceStructVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr><tr> <td><div id="dtmsqlviewsMakeArrayOfStructsView.targetArrayVariable" class="teletype">targetArrayVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionArrayTypedVariable">ArrayTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.MakeArrayOfStructsView.ref"></a> |
| <h2 id="dtmsqlviewsMakeStructView"><a href="#dtmsqlviewsMakeStructView"><a href="#dtmsqlviewsMakeStructView">MakeStructView</a></a></h2> |
| |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsMakeStructView.targetVariable" class="teletype">targetVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#efbtadvanceddatadefinitionStructTypedVariable">StructTypedVariable</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> </td> |
| </tr></table> |
| <a href="#dtm_sql_views.MakeStructView.ref"></a> |
| <h2 id="dtmsqlviewsRenameAs"><a href="#dtmsqlviewsRenameAs"><a href="#dtmsqlviewsRenameAs">RenameAs</a></a></h2> |
| |
| <p>Column to rename in the resulting View. similar to AS in SQL. Particularly useful if a Join View would result in 2 columns with the same name</p> |
| <table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsRenameAs.fromCube" class="teletype">fromCube</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#cubesFreeBirdToolsCube">FreeBirdToolsCube</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>The source cube containing the Column</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsRenameAs.fromVariable" class="teletype">fromVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>the Column from the source cube that we choose to Rename in the resulting View</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsRenameAs.toVariable" class="teletype">toVariable</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>What Column would we like to use instead.</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.RenameAs.ref"></a> |
| <h2 id="dtmsqlviewsSQLView"><a href="#dtmsqlviewsSQLView"><a href="#dtmsqlviewsSQLView">SQLView</a></a></h2> |
| |
| <p>An SQLView represents a DataSetTransformation which transforms data from one DataSet to another in an immutable side-effect free fashion. They use concepts from the well-known SQL StructuredQueryLanguage.</p> |
| |
| <pre><code>The transformed dataset is created just once by the transformation and then never amended (it is immutable) |
| The only data that can be used in the transformation is the data from the source dataset(s), so it cannot use anything else including |
| 'global variables' (which do not exist in the compitational model, the only data created by the transformation is the data in the resulting transformed dataset, |
| no other data is created or affected so the transformations are side-effect free. |
| |
| </code></pre> |
| <h4><b>Supertype:</b><a href="#transformationDataSetTransformation">DataSetTransformation</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">Attributes</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsSQLView.VTL_Code" class="teletype">VTL_Code</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype">EString</span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> <td></td> |
| </tr></table> |
| <a href="#dtm_sql_views.SQLView.attr"></a> |
| <h2 id="dtmsqlviewsSelectClause"><a href="#dtmsqlviewsSelectClause"><a href="#dtmsqlviewsSelectClause">SelectClause</a></a></h2> |
| |
| <p>A Set of Functions representing a select clause in SQL</p> |
| <table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsSelectClause.aggregateFunctions" class="teletype">aggregateFunctions</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsAggregateFunction">AggregateFunction</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| </td> |
| <td> <p>Aggregating functions</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsSelectClause.basicFunctions" class="teletype">basicFunctions</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBasicFunction">BasicFunction</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| </td> |
| <td> <p>Non-aggregating functions</p> |
| </td> |
| </tr><tr> <td><div id="dtmsqlviewsSelectClause.varaibles" class="teletype">varaibles</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#coreVARIABLE">VARIABLE</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| </td> |
| <td> <p>Column</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.SelectClause.ref"></a> |
| <h2 id="dtmsqlviewsUnionView"><a href="#dtmsqlviewsUnionView"><a href="#dtmsqlviewsUnionView">UnionView</a></a></h2> |
| |
| <p>An SQLView which represents a Union of multiple source cubes of the associated DerivedCube |
| .The source cubes must have the same Structure. This is equivalent to Union of tables in SQL. |
| The resulting cube structure will be the same as the source cubes and include all the rows from all the source cubes.</p> |
| <h4><b>Supertype:</b><a href="#dtmsqlviewsSQLView">SQLView</a></h4><h2 id="dtmsqlviewsVersionedSQLViewsModule"><a href="#dtmsqlviewsVersionedSQLViewsModule"><a href="#dtmsqlviewsVersionedSQLViewsModule">VersionedSQLViewsModule</a></a></h2> |
| |
| <p>A module of SQLViews with a version number</p> |
| <h4><b>Supertype:</b><a href="#transformationVersionedFunctionalModuleLogic">VersionedFunctionalModuleLogic</a></h4><table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsVersionedSQLViewsModule.sqlViews" class="teletype">sqlViews</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#dtmsqlviewsSQLView">SQLView</a></span></div> |
| <div class="label">Cardinality: [0..*]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>The SQLViews in the module.</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.VersionedSQLViewsModule.ref"></a> |
| <h2 id="dtmsqlviewsWhereClause"><a href="#dtmsqlviewsWhereClause"><a href="#dtmsqlviewsWhereClause">WhereClause</a></a></h2> |
| |
| <p>WhereClause contains a boolean function used in filters and joins. This is equivalent to where clause in SQL. </p> |
| <table> |
| <tr> |
| <th colspan="3"><div class="tableHeader">References</div></th> |
| </tr> |
| <tr> |
| <th><div class="columnHeader">Name</div></th> |
| <th><div class="columnHeader">Properties</div></th> |
| <th><div class="columnHeader">Documentation</div></th> |
| </tr> |
| <tr> <td><div id="dtmsqlviewsWhereClause.function" class="teletype">function</div> |
| </td> |
| <td><div class="keyValue"><span class="label">T: </span><span class="teletype"><a href="#functionsBooleanFunction">BooleanFunction</a></span></div> |
| <div class="label">Cardinality: [0..1]</div> |
| <div class="label">Containment</div> |
| </td> |
| <td> <p>The boolean function</p> |
| </td> |
| </tr></table> |
| <a href="#dtm_sql_views.WhereClause.ref"></a> |
| </body> |
| </html> |