table 合并列_Table.Group连接表展开到行案例

本期案例是根据“denomination”将两个表连接显示,前后转换效果如下:   72b0b7649c9966e3c3363ed02fa176f4.png 50a846f94a78b4af6e3c3e024b488895.png 解题步骤 1.将两个表进行连接,并分组:   f25a046573f73f3a250971244b803994.png 2.接下来就很简单了,只要将分组后的子表转换为内含行的list,然后连接去重,转换为表:   b04b72928dfdcb2e3ee87ccdf8c827eb.png 但我们在后续深化合并的时候是会出错的,原因是什么?   bf3e55ab3fcdead877f0e629dc4bb110.png 原因看下图,在使用List.Distinct的时候,多删除了一个,导致后面提供的字段标题与实际列数不符,因此出错。   35a91a36d967ffd170597a6b1a7dccd7.png 因此这里不能用List.Distinct,那换种思路,我们可以深化“supplier information“列,然后再连接第一行,去除空值:   506089d8dee2b7e753705d7bec2b8c49.png 3.深化合并: a6a85c1685610b77b9a74a6ddbbfb8df.png
Table.Combine(Table.Group(table1&table2,"denomination",{"a",each Table.FromRows({List.RemoveNulls(Record.ToList(_{0})&[supplierinformation])},List.FirstN(Table.ColumnNames(_),3)&List.Transform({1..Table.RowCount(_)-1},(x)=>"supplier-"&Text.From(x)))})[a])
  以上是本期记录。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
让我为你解释每行代码的含义: 1. `CREATE TEMPORARY TABLE local AS`:创建一个名为 `local` 的临时。 2. `SELECT row_number() over(order by grid_person_basic.office_community) no, grid_person_basic.office_community, kpi_office_grid_basic.office_community`:从 `grid_person_basic` 和 `kpi_office_grid_basic` 中选择,并给第一起名为 `no`,第二为 `grid_person_basic.office_community`,第三为 `kpi_office_grid_basic.office_community`。`row_number() over(order by grid_person_basic.office_community)` 是一个窗口函数,用于为每行数据生成一个序号。 3. `FROM grid_person_basic LEFT JOIN kpi_office_grid_basic ON grid_person_basic.office_community = kpi_office_grid_basic.office_community_id`:从 `grid_person_basic` 连接到 `kpi_office_grid_basic` ,使用 `grid_person_basic.office_community` 和 `kpi_office_grid_basic.office_community_id` 进行连接。 4. `SELECT RIGHT(local.office_community(1), 1) as last_char, COUNT(*) as count, local.office_community(1)`:从 `local` 中选择,并给第一起名为 `last_char`,第二为 `count`,第三为 `local.office_community(1)`。`RIGHT(local.office_community(1), 1)` 是一个字符串函数,用于获取 `local.office_community(1)` 字符串的最后一个字符。 5. `FROM local LEFT JOIN kpi_office_grid_basic ON local.office_community = kpi_office_grid_basic.office_community_id`:从 `local` 连接到 `kpi_office_grid_basic` ,使用 `local.office_community` 和 `kpi_office_grid_basic.office_community_id` 进行连接。 6. `GROUP BY last_char`:按照 `last_char` 进行分组。 以上是每行代码的含义和作用。请注意,对于第四行代码中的 `local.office_community(1)`,我认为这是一个错误,因为在 SQL 中不应该在名后面使用 `(1)` 的语法。你可能需要根据实际需求对其进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值