Strategy One
Table Array
The tables array defines the logical tables in the model. Each logical table acts as an abstraction over a physical database table, defining the columns, data types, and transformation pipelines.
Logical Table Properties
| Field | Type | Description | Example |
|---|---|---|---|
|
|
Object |
Core identity of the logical table. Contains |
{ name: "day_ctr_sls" }
|
|
|
Object |
Access Control List defining permissions for user/group IDs. For more information, see Access Control List. |
|
|
|
Object |
Localized name and description for the table. For more information, see Translations. |
{ name: { translationValues: { 1033: ... } } }
|
physicalTable
|
Object |
Maps the logical table to the actual database table. |
|
|
|
Array |
References to attributes associated with this table. |
[ { name: "Call Center" } ]
|
|
|
Array |
References to metrics derived from this table. |
|
refreshPolicy
|
String | Defines how the table data refreshes. | "replace"
|
Physical Table Properties
See the following structure in physicalTable:
| Field | Type | Description | Example |
|---|---|---|---|
|
|
Object |
Core identity of the physical table. Contains |
{ name: "New DB Table" }
|
|
|
Array |
Defines the physical columns and their data types. |
|
|
|
Object |
Describes the data transformation pipeline from source to target. |
{ type: "pipeline" }
|
Column Properties
See the following structure in physicalTable.columns:
| Field | Type | Description | Example |
|---|---|---|---|
|
|
Object |
Core identity of the column. Contains |
{ name: "day_date" }
|
|
|
Object |
Defines type, precision, and scale. |
|
|
|
String |
The actual column name in the database. |
"day_date"
|
Example
See the following table file example:
- information:
primaryLocale: "en-US"
objectId: "87337802ED73459C9C721C45C653CB62"
subType: "logical_table"
name: "day_ctr_sls"
acl:
"294DEDC011D2F1D56000D98E67019608":
granted: 255
denied: 0
inheritable: false
"37DECDD94EAA4A2AF3C7A6B17080DADF":
granted: 255
denied: 0
inheritable: false
C82C6B1011D2894CC0009D9F29718E4F:
granted: 255
denied: 0
inheritable: false
translations:
name:
targetName: "Object Name"
translationValues:
1033:
translation: "day_ctr_sls"
physicalTable:
information:
primaryLocale: "en-US"
objectId: "418B2ABEF1014395807530EE6ED9E1E7"
subType: "physical_table"
name: "New DB Table"
columns:
- information:
primaryLocale: "en-US"
objectId: "8410F6A24C7B4953B1390E6BE0D165D0"
subType: "column"
name: "day_date"
dataType:
type: "time_stamp"
precision: 26
scale: 6
columnName: "day_date"
- information:
primaryLocale: "en-US"
objectId: "F98CC166D69C42DE8988671137E3E889"
subType: "column"
name: "call_ctr_id"
dataType:
type: "integer"
precision: 2
scale: 0
columnName: "call_ctr_id"
- information:
primaryLocale: "en-US"
objectId: "2E157EDCAD224B18BD336CBC20F94A7B"
subType: "column"
name: "tot_dollar_sales"
dataType:
type: "double"
precision: 1000
scale: 998
columnName: "tot_dollar_sales"
- information:
primaryLocale: "en-US"
objectId: "DDF9F37745EA4B5CB4F1E1846EB060DA"
subType: "column"
name: "tot_unit_sales"
dataType:
type: "double"
precision: 1000
scale: 998
columnName: "tot_unit_sales"
- information:
primaryLocale: "en-US"
objectId: "6B7A1B7FCB25416AB23E221FEE9FE7F4"
subType: "column"
name: "tot_cost"
dataType:
type: "double"
precision: 1000
scale: 998
columnName: "tot_cost"
- information:
primaryLocale: "en-US"
objectId: "3AEAF22A06FB4A4FAE9B2DEE8DF61F51"
subType: "column"
name: "gross_dollar_sales"
dataType:
type: "double"
precision: 1000
scale: 998
columnName: "gross_dollar_sales"
type: "pipeline"
pipeline:
id: "B7E9423EB6944B60847F743D38C03DEE"
rootTable:
id: "4F8C1CC41D074A2589320017EFAFA645"
type: "root"
children:
- id: "528D63FE0F6C4EDBACF55C64BE86FB6A"
name: "day_ctr_sls"
type: "source"
columns:
- id: "A82F50569C68436481B4A5DD45351765"
name: "day_date"
dataType:
type: "time_stamp"
precision: 26
scale: 6
sourceDataType:
type: "time_stamp"
precision: 26
scale: 6
sparkDataType:
type: "timestamp"
- id: "F981C4BF5DC04E758FCBE1204CAF503F"
name: "call_ctr_id"
dataType:
type: "integer"
precision: 2
scale: 0
sourceDataType:
type: "integer"
precision: 2
scale: 0
sparkDataType:
type: "integer"
- id: "FE145EF30A3B49938B4F237737938B37"
name: "tot_dollar_sales"
dataType:
type: "double"
precision: 1000
scale: 998
sourceDataType:
type: "double"
precision: 1000
scale: 998
sparkDataType:
type: "double"
- id: "CE142FB8B3BC4569823E6436D27D7337"
name: "tot_unit_sales"
dataType:
type: "double"
precision: 1000
scale: 998
sourceDataType:
type: "double"
precision: 1000
scale: 998
sparkDataType:
type: "double"
- id: "B28E7CC533894173A164113D0F57B4C6"
name: "tot_cost"
dataType:
type: "double"
precision: 1000
scale: 998
sourceDataType:
type: "double"
precision: 1000
scale: 998
sparkDataType:
type: "double"
- id: "710CEB644AD54162814B85C36D1D6F5A"
name: "gross_dollar_sales"
dataType:
type: "double"
precision: 1000
scale: 998
sourceDataType:
type: "double"
precision: 1000
scale: 998
sparkDataType:
type: "double"
importSource:
type: "single_table"
dataSourceId: "E93B0C144F9EAF781E3993B5C439220D"
namespace: "public"
tableName: "day_ctr_sls"
sql: ""
attributes:
- information:
objectId: "417412E2615B4828961EDC2C6CF0BAC1"
subType: "attribute"
name: "Call Center"
- information:
objectId: "5B17B8A3FEA64831878D042B5276C9FB"
subType: "attribute"
name: "Day Date (2)"
factMetrics:
- information:
objectId: "D27A8CFBAC194ABB825568F209603CF3"
subType: "fact_metric"
name: "Total Dollar Sales"
- information:
objectId: "E8A0BE67E3314CCA979953C325969FBD"
subType: "fact_metric"
name: "Total Unit Sales"
- information:
objectId: "E2D606BF2004421098E14BEE94AEB6A6"
subType: "fact_metric"
name: "Total Cost"
- information:
objectId: "6BF132DEAAD24A5D9CFBED0BF88C59C0"
subType: "fact_metric"
name: "Gross Dollar Sales"
refreshPolicy: "replace"
