flow-models/models/silver/silver__prices.sql
Jack Forgash f0e071cc6a
AN-1714/prices from swaps (#37)
* init silver model

* cluster by block_timestamp

* column fixes

* prices from swaps, need to update core to add symbol & contract

* token labels seed and updated core view

* docs
2022-07-06 16:36:41 -04:00

65 lines
1.2 KiB
SQL

{{ config(
materialized = 'incremental',
incremental_strategy = 'delete+insert',
cluster_by = ['recorded_at::DATE'],
unique_key = "concat_ws( '-', recorded_at, asset_id )"
) }}
WITH token_prices AS (
SELECT
*
FROM
{{ ref('bronze__prices') }}
{% if is_incremental() %}
WHERE
recorded_at :: DATE >= CURRENT_DATE - 2
{% endif %}
),
prices AS (
SELECT
recorded_at,
asset_id,
NAME AS token,
SPLIT(
symbol,
'$'
) AS symbol_split,
symbol_split [array_size(symbol_split) - 1] :: STRING AS symbol,
price,
provider AS source
FROM
token_prices
),
adj_token_names AS (
SELECT
recorded_at,
asset_id,
CASE
WHEN token LIKE 'Flow (%' THEN 'Flow'
WHEN token = 'Blocto Token' THEN 'Blocto'
ELSE token
END AS token,
symbol,
price,
source
FROM
prices
),
FINAL AS (
SELECT
recorded_at,
asset_id,
token,
symbol,
price AS price_usd,
source
FROM
adj_token_names
)
SELECT
*
FROM
FINAL