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

information

Object

Core identity of the logical table. Contains primaryLocale (the locale of the user who created the object), objectId (the unique 32-character hex identifier for the object), subType (logical_table), name, and description.

{ name: "day_ctr_sls" }

acl

Object

Access Control List defining permissions for user/group IDs. For more information, see Access Control List.

{ "0AB3BC...": { granted: 255 } }

translations

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.

{ name: "New DB Table" }

attributes

Array

References to attributes associated with this table.

[ { name: "Call Center" } ]

factMetrics

Array

References to metrics derived from this table.

[ { name: "Total Dollar Sales" } ]

refreshPolicy String Defines how the table data refreshes. "replace"

Physical Table Properties

See the following structure in physicalTable:

Field Type Description Example

information

Object

Core identity of the physical table. Contains primaryLocale (the locale of the user who created the object), objectID (the unique 32-character hex identifier for the object), subType (physical_table), name, and description.

{ name: "New DB Table" }

columns

Array

Defines the physical columns and their data types.

[ { columnName: "day_date" } ]

pipeline

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

information

Object

Core identity of the column. Contains primaryLocale (the locale of the user who created the object), objectId (the unique 32-character hex identifier for the object), subType (column), name, and description.

{ name: "day_date" }

dataType

Object

Defines type, precision, and scale.

{ type: "time_stamp", precision: 26, scale: 6 }

columnName

String

The actual column name in the database.

"day_date"

Example

See the following table file example:

Copy
- 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"