near-models/models/metrics/metrics_active_wallets.sql
2022-07-12 15:10:49 -06:00

49 lines
994 B
SQL

{{ config(
materialized = 'incremental',
incremental_strategy = 'delete+insert',
tags = ['metrics'],
cluster_by = ['date'],
enabled = false
) }}
WITH txs AS (
SELECT
*
FROM
{{ ref('transactions') }}
WHERE
{{ incremental_last_x_days(
"ingested_at",
2
) }}
),
active_wallets AS (
SELECT
DATE_TRUNC(
'day',
block_timestamp
) AS DATE,
COUNT(
DISTINCT tx_signer
) AS daily_active_wallets,
SUM(daily_active_wallets) over (
ORDER BY
DATE rows BETWEEN 6 preceding
AND CURRENT ROW
) AS rolling_7day_active_wallets,
SUM(daily_active_wallets) over (
ORDER BY
DATE rows BETWEEN 29 preceding
AND CURRENT ROW
) AS rolling_30day_active_wallets
FROM
txs
GROUP BY
1
)
SELECT
*
FROM
active_wallets