在cubejs中构建正确的模式sql

问题描述

我有一个https://dbfiddle.uk/?rdbms=postgres_11&fiddle=b39a248ac9dde6400795e8a236e58d02 这样的 Postgres 表,它按预期工作。但是当我在cubejs 中使用该sql 查询时,它似乎工作变慢或有些时间无法加载。

cube(`State`,{
    rewriteQueries: false,sql: `WITH cte AS (
        SELECT
            id,timestamp,machineid,state,next_state,start_time,end_time,gs,lag(gs) over (PARTITION BY id ORDER BY gs)                                 
        FROM
            (
       SELECT
        disTINCT timestamp,id,timestamp as start_time,lead("timestamp",1,timestamp) OVER (PARTITION BY machineid ORDER BY timestamp) as end_time,lead("state",state) OVER (PARTITION BY machineid ORDER BY timestamp) as next_state 
          FROM mstate WHERE ${FILTER_ParaMS.Machine.machineid.filter('machineid')}
          
       ) a
        LEFT JOIN LAteraL
            generate_series(start_time::date + 1,end_time::date,interval '1 day') gs  
        ON TRUE
    )
    SELECT                                                                             
        id,COALESCE(lag,start_time) AS start_time,gs - interval '1 second' AS next_time
    FROM
        cte
    WHERE gs IS NOT NULL
    
    UNION
    
    SELECT disTINCT ON (id)                                                           
        id,CASE WHEN start_time::date = end_time::date THEN start_time ELSE end_time::date END,end_time
    FROM
        cte 
        ORDER BY start_time ASC`,}); 

你能帮我在 Cubejs 中构建正确的 schema sql,因为它像链接中的原始查询一样按预期工作吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)