537 lines
14 KiB
YAML
537 lines
14 KiB
YAML
product_name: The aiimi Data Product
|
|
responsible_team: The aiimi Data Engineers
|
|
entities:
|
|
- entity_name: transactions
|
|
entity_id: 1
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: transaction_id
|
|
is_pk: True
|
|
datatype: string
|
|
- column_name: account_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: category_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: payee_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: date_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: amount
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: cleared
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: approved
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: memo
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: flag_color
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: transfer_account_id
|
|
is_pk: False
|
|
datatype: string
|
|
entity_dependencies:
|
|
- 11
|
|
entity_description: >-
|
|
Transaction Fact Table
|
|
One line per transaction, but only transactions that have actually happened.
|
|
- entity_name: scheduled_transactions
|
|
entity_id: 2
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: scheduled_transaction_id
|
|
is_pk: True
|
|
datatype: int
|
|
- column_name: account_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: category_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: payee_id
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: date_first
|
|
is_pk: False
|
|
datatype: str
|
|
- column_name: date_next
|
|
is_pk: False
|
|
datatype: str
|
|
- column_name: amount
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: frequency
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: memo
|
|
is_pk: False
|
|
datatype: text
|
|
- column_name: flag_color
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: transfer_account_id
|
|
is_pk: False
|
|
datatype: str
|
|
entity_dependencies:
|
|
- 10
|
|
entity_description: >-
|
|
Scheduled Transaction Fact Table
|
|
One line per transaction, but only transactions that have not actually happened.
|
|
- entity_name: accounts
|
|
entity_id: 3
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: account_id
|
|
is_pk: True
|
|
datatype: int
|
|
- column_name: account_name
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: account_type
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: on_budget
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: closed
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: note
|
|
is_pk: False
|
|
datatype: text
|
|
- column_name: balance
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: cleared_balance
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: uncleared_balance
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: boolean
|
|
entity_dependencies:
|
|
- 7
|
|
entity_description: >-
|
|
Accounts Dimension Table
|
|
Holds all the information relating to an account, type 1, 1 line per account.
|
|
- entity_name: categories
|
|
entity_id: 4
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: category_id
|
|
is_pk: True
|
|
datatype: int
|
|
- column_name: category_name
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: category_group_name
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: hidden
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: note
|
|
is_pk: False
|
|
datatype: text
|
|
- column_name: budgeted
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: activity
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: balance
|
|
is_pk: False
|
|
datatype: decimal
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: boolean
|
|
entity_dependencies:
|
|
- 8
|
|
entity_description: >-
|
|
Categories Dimension Table
|
|
Holds all the information relating to a category, type 1, 1 line per category.
|
|
- entity_name: payees
|
|
entity_id: 5
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: payee_id
|
|
is_pk: True
|
|
datatype: int
|
|
- column_name: payee_name
|
|
is_pk: False
|
|
datatype: string
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: boolean
|
|
entity_dependencies:
|
|
- 9
|
|
entity_description: >-
|
|
Payees Dimension Table
|
|
Holds all the information relating to a payee, type 1, 1 line per payee.
|
|
- entity_name: dates
|
|
entity_id: 6
|
|
entity_type: gold
|
|
entity_columns:
|
|
- column_name: date_id
|
|
is_pk: True
|
|
datatype: string
|
|
- column_name: date
|
|
is_pk: False
|
|
datatype: date
|
|
- column_name: year
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: month
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: day
|
|
is_pk: False
|
|
datatype: int
|
|
- column_name: is_weekday
|
|
is_pk: False
|
|
datatype: boolean
|
|
- column_name: weekday
|
|
is_pk: False
|
|
datatype: int
|
|
entity_description: >-
|
|
Good old fashioned Date Dimension
|
|
- entity_name: accounts
|
|
entity_id: 7
|
|
entity_type: silver
|
|
entity_columns:
|
|
- column_name: id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: type
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: on_budget
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: closed
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: note
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: balance
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: cleared_balance
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: uncleared_balance
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: transfer_payee_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: direct_import_linked
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: direct_import_in_error
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: last_reconciled_at
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: ingestion_date
|
|
is_pk: False
|
|
datatype: Date
|
|
entity_dependencies:
|
|
- 12
|
|
entity_description: >-
|
|
Silver Accounts Table
|
|
Other random information.
|
|
- entity_name: categories
|
|
entity_id: 8
|
|
entity_type: silver
|
|
entity_columns:
|
|
- column_name: id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_group_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_group_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: hidden
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: original_category_group_id
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: note
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: budgeted
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: activity
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: balance
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_type
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: goal_needs_whole_amount
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: goal_day
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_cadence
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_cadence_frequency
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_creation_month
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: goal_target
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_target_month
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: goal_percentage_complete
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_months_to_budget
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_under_funded
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_overall_funded
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: goal_overall_left
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: ingestion_date
|
|
is_pk: False
|
|
datatype: Date
|
|
entity_dependencies:
|
|
- 13
|
|
entity_description: >-
|
|
Silver Categories Table
|
|
Other random information.
|
|
- entity_name: payees
|
|
entity_id: 9
|
|
entity_type: silver
|
|
entity_columns:
|
|
- column_name: id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: transfer_account_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: ingestion_date
|
|
is_pk: False
|
|
datatype: Date
|
|
entity_dependencies:
|
|
- 14
|
|
entity_description: >-
|
|
Silver Payees Table
|
|
Other random information.
|
|
- entity_name: scheduled_transactions
|
|
entity_id: 10
|
|
entity_type: silver
|
|
entity_columns:
|
|
- column_name: id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: date_first
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: date_next
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: frequency
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: amount
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: memo
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: flag_color
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: flag_name
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: account_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: account_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: payee_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: payee_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: transfer_account_id
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: subtransactions
|
|
is_pk: False
|
|
datatype: List(Null)
|
|
- column_name: ingestion_date
|
|
is_pk: False
|
|
datatype: Date
|
|
entity_dependencies:
|
|
- 15
|
|
entity_description: >-
|
|
Silver Scheduled Transactions Table
|
|
Other random information.
|
|
- entity_name: transactions
|
|
entity_id: 11
|
|
entity_type: silver
|
|
entity_columns:
|
|
- column_name: id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: date
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: amount
|
|
is_pk: False
|
|
datatype: Int64
|
|
- column_name: memo
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: cleared
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: approved
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: flag_color
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: flag_name
|
|
is_pk: False
|
|
datatype: Null
|
|
- column_name: account_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: account_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: payee_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: payee_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: category_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: transfer_account_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: transfer_transaction_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: matched_transaction_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: import_id
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: import_payee_name
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: import_payee_name_original
|
|
is_pk: False
|
|
datatype: String
|
|
- column_name: deleted
|
|
is_pk: False
|
|
datatype: Boolean
|
|
- column_name: subtransactions
|
|
is_pk: False
|
|
datatype: List(Null)
|
|
- column_name: ingestion_date
|
|
is_pk: False
|
|
datatype: Date
|
|
entity_dependencies:
|
|
- 16
|
|
entity_description: >-
|
|
Silver Transactions Table
|
|
Other random information.
|
|
- entity_name: accounts
|
|
entity_id: 12
|
|
entity_type: bronze
|
|
- entity_name: categories
|
|
entity_id: 13
|
|
entity_type: bronze
|
|
- entity_name: payees
|
|
entity_id: 14
|
|
entity_type: bronze
|
|
- entity_name: scheduled_transactions
|
|
entity_id: 15
|
|
entity_type: bronze
|
|
- entity_name: transactions
|
|
entity_id: 16
|
|
entity_type: bronze
|
|
other_relationships:
|
|
- entity_name: other_transactions
|
|
entity_id: 21
|
|
entity_type: gold
|
|
entity_dependencies:
|
|
- 22 |