sql - SQL(使用 LookML)是否能够基于日期字段左连接多个表(4)?
问题描述
我目前正在开发一个 LookML 探索模型,它 LEFT JOINs 4 个表,每个表都有 PID 的 PK。4 个表之间的数据粒度不同,这会导致重复问题和不正确的计数总数。
有没有办法通过使用我们仓库中设置的 DIMDATE 表在 4 个表之间的 Date 列上进行 LEFT JOIN?
这是当前的探索 LookML:
### SMS ####################
explore: stg_mysql_twiliooutboundsms {
group_label: "Usage"
label: "SMS"
join: dimaccount {
sql_on: ${dimaccount.pid} = ${stg_mysql_twiliooutboundsms.pid};;
type: left_outer
relationship: many_to_one
}
join: stg_mysql_twilioinboundsms {
sql_on: ${stg_mysql_twiliooutboundsms.pid} = ${stg_mysql_twilioinboundsms.pid} ;;
type: left_outer
relationship: one_to_one
}
join: stg_mysql_telnyxoutboundsms {
sql_on: ${stg_mysql_twiliooutboundsms.pid} = ${stg_mysql_telnyxoutboundsms.pid} ;;
type: left_outer
relationship: one_to_one
}
join: stg_mysql_telnyxinboundsms {
sql_on: ${stg_mysql_twiliooutboundsms.pid} = ${stg_mysql_telnyxinboundsms.pid} ;;
type: left_outer
relationship: one_to_one
}
}
解决方案
是的,您可以将所有表格连接到每个日期一行的表格中。但是,问题归结为非对称聚合。Looker 应该通过在 SQL 中使用 MD5 哈希函数计算重复行来正确处理这个问题。如果不是,那是因为
- 你的主键不正确
- 您的加入逻辑是错误的(很可能是关系)。
请先检查以上两项。
推荐阅读
- r - 在 R 中,如何将参数作为字符串传递给像 plotXtabs2 这样的函数?
- unit-testing - Codeception 没有从子类获取数据
- optimization - largeTable 设置为 true 与 false 的性能差异是什么
- json - 组合 AWS Glue 作业中的字段
- amazon-web-services - 如何确定 RDS 集群是否正在被使用或闲置花费金钱?
- image - 将扭曲多边形的功能变成扭曲图像的功能
- python - 无论如何,有没有用情节在甘特图上选择一个任务?
- regex - 正则表达式将数字分组到一个单独的组中
- java - Java SecurityManager 只阻止反射调用和设置
- python - 建立未知数量字典的函数