34 lines
1.3 KiB
SQL
34 lines
1.3 KiB
SQL
{{
|
|
config(
|
|
materialized='materialized_view',
|
|
engine='MergeTree',
|
|
order_by='ts_code, time_id',
|
|
unique_key=['ts_code', 'time_id'],
|
|
partition_by=['cast(floor(time_id / 1000000) As Int32)'],
|
|
query_settings={"join_algorithm": "'partial_merge'"}
|
|
)
|
|
}}
|
|
|
|
Select
|
|
StgMinutes.ts_code As ts_code,
|
|
DimTime.time_id As time_id,
|
|
StgMinutes.close As close,
|
|
StgMinutes.open As open,
|
|
StgMinutes.high As high,
|
|
StgMinutes.low As low,
|
|
StgMinutes.vol As vol,
|
|
StgMinutes.amount As amount,
|
|
StgAdjFactor.adj_factor As adj_factor,
|
|
now() As dt
|
|
From {{ source('finance', 'stg.tushare_minutes') }} As StgMinutes
|
|
Inner Join {{ ref('dw.dim_time') }} As DimTime
|
|
On StgMinutes.trade_time = formatDateTimeInJodaSyntax(full_time, 'yyyy-MM-dd HH:mm:ss')
|
|
Any Left Join {{ source('finance', 'stg.tushare_adj_factor') }} As StgAdjFactor
|
|
On StgMinutes.ts_code = StgAdjFactor.ts_code
|
|
And StgAdjFactor.trade_date = Cast(DimTime.date_id As String)
|
|
where 1 = 1
|
|
{% if 'dev' in target.name %}
|
|
And StgMinutes.trade_time >= formatDateTimeInJodaSyntax(today(), 'yyyy-01-01 00:00:00')
|
|
{% elif target.name == 'test' %}
|
|
And StgMinutes.trade_time >= formatDateTimeInJodaSyntax(dateAdd(Year,-1,today()), 'yyyy-01-01 00:00:00')
|
|
{% endif %} |