Teradata 第一次“正确”。表中所列的是客户id、add和人口统计变量,因此这两个是最常见的情况。我将探讨prev_dt、join index和RANK(尽管cus_id是PI的一部分)PI是否由add_dt划分为两列:(cus_id,add_dt)?只有cus_id

Teradata 第一次“正确”。表中所列的是客户id、add和人口统计变量,因此这两个是最常见的情况。我将探讨prev_dt、join index和RANK(尽管cus_id是PI的一部分)PI是否由add_dt划分为两列:(cus_id,add_dt)?只有cus_id,teradata,multiple-tables,Teradata,Multiple Tables,第一次“正确”。表中所列的是客户id、add和人口统计变量,因此这两个是最常见的情况。我将探讨prev_dt、join index和RANK(尽管cus_id是PI的一部分)PI是否由add_dt划分为两列:(cus_id,add_dt)?只有cus_id作为NUPI可能更好,分布不应更改,但表必须定义为MultiSet。感谢@dnoeth提供补充信息。一如既往地富有洞察力。:)是的,它是cus_id,add_dt并由add_dt分区。我可以利用基本人口统计表中的upd_dt(所有3个表的日期都


第一次“正确”。表中所列的是客户id、add和人口统计变量,因此这两个是最常见的情况。我将探讨prev_dt、join index和RANK(尽管cus_id是PI的一部分)PI是否由add_dt划分为两列:(cus_id,add_dt)?只有cus_id作为NUPI可能更好,分布不应更改,但表必须定义为MultiSet。感谢@dnoeth提供补充信息。一如既往地富有洞察力。:)是的,它是cus_id,add_dt并由add_dt分区。我可以利用基本人口统计表中的upd_dt(所有3个表的日期都匹配)作为初始人口,以帮助分配add_dt。预期的实际收益是什么?PI(客户id)将方便您的时间点查询,因为客户的所有行都存储在一个放大器上。我们目前使用的是TD 13.10和14,要到明年晚些时候才会联机(最佳情况)。当前PI是客户id和添加dt。我现在正在建表,所以要确保第一次做得“正确”。表中所列的是客户id、add和人口统计变量,因此这两个是最常见的情况。我将探讨prev_dt、join index和RANK(尽管cus_id是PI的一部分)PI是否由add_dt划分为两列:(cus_id,add_dt)?只有cus_id作为NUPI可能更好,分布不应更改,但表必须定义为MultiSet。感谢@dnoeth提供补充信息。一如既往地富有洞察力。:)是的,它是cus_id,add_dt并由add_dt分区。我可以利用基本人口统计表中的upd_dt(所有3个表的日期都匹配)作为初始人口,以帮助分配add_dt。预期的实际收益是什么?PI(cus_id)将方便您的时间点查询,因为客户的所有行都存储在单个AMP上。
SELECT cus_id,demo
    FROM db1.demo_test 
    WHERE (cus_id,add_dt) IN (
        SELECT cus_id, MAX(add_dt) 
            FROM db1.dt_test 
            WHERE add_dt <= '2013-03-01'  -- Analyst selected Point-in-Time Date
         GROUP BY 1)
GROUP BY 1,2
SELECT *
FROM db1.demo_test 
QUALIFY 
  RANK() OVER (PARTITION BY cus_id ORDER BY add_dt DESC) = 1