数据服务(BODS)-是否具有执行DENSE RANK或STRING AGG的功能?

2020-09-12 03:30发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,数据服务专家

在HANA中,具有DENSE RANK和STRING AGG功能。

我试图完成这些功能在数据服务中的工作,但是我找不到类似的功能。

  1. 有人知道数据服务中是否有等同功能吗?
  2. 还是将来在DS中会有这些功能?

以下是这两个函数的作用:

  • STRING_AGG()-此函数将根据指定的分区和顺序聚合字符串。

例如。

客户| 订单#

约翰| 1

约翰| 2

约翰| 5

约翰| 7

约翰| 11

如果按ORDER desc的命令在分区CUST上执行STRING_AGG(),我将得到:

客户| STRING_AGG

约翰| 1,2,5,7,11


  • DENSE_RANK()-此函数将根据指定的分区和顺序输出排名。

例如 表格:

客户| 产品展示 购买

约翰| A | $ 500

约翰| A | $ 1000

约翰| B | $ 2500

约翰| B | $ 1300

约翰| B | $ 7000

约翰| C | $ 5000

如果我对CUST&PRODUCT分区进行DENSE_RANK()(按购买降序排列),我的结果将是:

客户| 产品展示 购买| DENSE_RANK

约翰| A | $ 500 | 1

约翰| A | $ 1000 | 2

约翰| B | $ 2500 | 2

约翰| B | $ 1300 | 3

约翰| B | $ 7000 | 1

约翰| C | $ 5000 | 1

谢谢!

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,数据服务专家

在HANA中,具有DENSE RANK和STRING AGG功能。

我试图完成这些功能在数据服务中的工作,但是我找不到类似的功能。

  1. 有人知道数据服务中是否有等同功能吗?
  2. 还是将来在DS中会有这些功能?

以下是这两个函数的作用:

  • STRING_AGG()-此函数将根据指定的分区和顺序聚合字符串。

例如。

客户| 订单#

约翰| 1

约翰| 2

约翰| 5

约翰| 7

约翰| 11

如果按ORDER desc的命令在分区CUST上执行STRING_AGG(),我将得到:

客户| STRING_AGG

约翰| 1,2,5,7,11


  • DENSE_RANK()-此函数将根据指定的分区和顺序输出排名。

例如 表格:

客户| 产品展示 购买

约翰| A | $ 500

约翰| A | $ 1000

约翰| B | $ 2500

约翰| B | $ 1300

约翰| B | $ 7000

约翰| C | $ 5000

如果我对CUST&PRODUCT分区进行DENSE_RANK()(按购买降序排列),我的结果将是:

客户| 产品展示 购买| DENSE_RANK

约翰| A | $ 500 | 1

约翰| A | $ 1000 | 2

约翰| B | $ 2500 | 2

约翰| B | $ 1300 | 3

约翰| B | $ 7000 | 1

约翰| C | $ 5000 | 1

谢谢!

付费偷看设置
发送
2条回答
clever101
1楼-- · 2020-09-12 04:09

你好安东尼,

对于string_agg(),您必须在BODS中编写一个自定义函数。

对于density_rank(),您可以在BODS中使用gen_row_num_by_group()函数。

让我们知道您是否需要更多帮助。

谢谢

Rajan

Bunny_CDM
2楼-- · 2020-09-12 03:54

如果您知道每个分区的最大记录数,则可以使用Reverse_Pivot转换,然后将所有结果列连接在一起。

一周热门 更多>