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