| <!-- 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> |