根据Informaitca中的ID进行遵守唯一值

发布于 2025-01-25 12:48:04 字数 196 浏览 2 评论 0原文

方案/输入,

COL1   COL2
100    ABC
101    PQR
100    ABC
100    OPQ
101    HDR
101    PQR

预期输出:

COL1   COL2
100    ABC,OPQ
101    PQR,HDR

SCENARO/input,

COL1   COL2
100    ABC
101    PQR
100    ABC
100    OPQ
101    HDR
101    PQR

Expected OUTPUT:

COL1   COL2
100    ABC,OPQ
101    PQR,HDR

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在你怀里撒娇 2025-02-01 12:48:04

这是经典的字符串聚合问题之一。请按照以下步骤进行操作。

  1. 使用SRT订购数据并获得不同的数据。因此,单击“启用”不同,然后确保您首先订购col1。
  2. 使用表达转换colt col2。创建5个端口 - in_out表示输入+输出,仅表示输入,v_表示变量端口等。
in_out_col1
in_col2
v_col2 = iif( in_out_col1=v_prev_col1, v_col2||',' ||in_col2,in_col2)
v_prev_col1 = in_out_col1
out_col2=v_col2
  1. 创建一个Agg,由Col1组成。创建一个新列Max_Col2并为其分配最大值。
in_out_col1
in_col2
out_max_col2= MAX(in_col2)
  1. 将IN_OUT_COL1连接到COL1和OUT_MAX_COL2到COL2,以获取所需的数据。

This is one of classic string aggregation issue. Pls follow below steps.

  1. using SRT order the data and get distinct. So, click enable distinct and then make sure you are ordering col1 first.
  2. using expression transformation concat the COL2. Create 5 ports - in_out means input+output, in_ means input only, v_ means variable port and so on.
in_out_col1
in_col2
v_col2 = iif( in_out_col1=v_prev_col1, v_col2||',' ||in_col2,in_col2)
v_prev_col1 = in_out_col1
out_col2=v_col2
  1. Create an AGG, group by col1. Create a new column max_col2 and assign the max value to it.
in_out_col1
in_col2
out_max_col2= MAX(in_col2)
  1. Connect in_out_col1 to col1 and out_max_col2 to col2 for your desired data.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文