CREATE MATERIALIZED VIEW alinma_bff.advisor_kpi_entity_bucket_adds_mv AS
SELECT
CAST('PORTFOLIO' AS VARCHAR) AS entity_type,
portfolio_id AS entity_id,
CAST('WEEKLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('WEEK', opening_date) AS DATE) AS period_start
FROM olap.portfolios_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('PORTFOLIO' AS VARCHAR) AS entity_type,
portfolio_id AS entity_id,
CAST('MONTHLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('MONTH', opening_date) AS DATE) AS period_start
FROM olap.portfolios_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('PORTFOLIO' AS VARCHAR) AS entity_type,
portfolio_id AS entity_id,
CAST('QUARTERLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('QUARTER', opening_date) AS DATE) AS period_start
FROM olap.portfolios_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('PORTFOLIO' AS VARCHAR) AS entity_type,
portfolio_id AS entity_id,
CAST('YEARLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('YEAR', opening_date) AS DATE) AS period_start
FROM olap.portfolios_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('CLIENT' AS VARCHAR) AS entity_type,
id AS entity_id,
CAST('WEEKLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('WEEK', onboarding_date) AS DATE) AS period_start
FROM olap.clients_dm
WHERE
disabled_at IS NULL AND NOT onboarding_date IS NULL
UNION ALL
SELECT
CAST('CLIENT' AS VARCHAR) AS entity_type,
id AS entity_id,
CAST('MONTHLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('MONTH', onboarding_date) AS DATE) AS period_start
FROM olap.clients_dm
WHERE
disabled_at IS NULL AND NOT onboarding_date IS NULL
UNION ALL
SELECT
CAST('CLIENT' AS VARCHAR) AS entity_type,
id AS entity_id,
CAST('QUARTERLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('QUARTER', onboarding_date) AS DATE) AS period_start
FROM olap.clients_dm
WHERE
disabled_at IS NULL AND NOT onboarding_date IS NULL
UNION ALL
SELECT
CAST('CLIENT' AS VARCHAR) AS entity_type,
id AS entity_id,
CAST('YEARLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('YEAR', onboarding_date) AS DATE) AS period_start
FROM olap.clients_dm
WHERE
disabled_at IS NULL AND NOT onboarding_date IS NULL
UNION ALL
SELECT
CAST('ACCOUNT' AS VARCHAR) AS entity_type,
account_id AS entity_id,
CAST('WEEKLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('WEEK', opening_date) AS DATE) AS period_start
FROM olap.accounts_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('ACCOUNT' AS VARCHAR) AS entity_type,
account_id AS entity_id,
CAST('MONTHLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('MONTH', opening_date) AS DATE) AS period_start
FROM olap.accounts_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('ACCOUNT' AS VARCHAR) AS entity_type,
account_id AS entity_id,
CAST('QUARTERLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('QUARTER', opening_date) AS DATE) AS period_start
FROM olap.accounts_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL
UNION ALL
SELECT
CAST('ACCOUNT' AS VARCHAR) AS entity_type,
account_id AS entity_id,
CAST('YEARLY' AS VARCHAR) AS period_kind,
CAST(DATE_TRUNC('YEAR', opening_date) AS DATE) AS period_start
FROM olap.accounts_dm
WHERE
disabled_at IS NULL AND NOT opening_date IS NULL