假设我有下一个层次结构(为便于解释而简化)
A1 - A11 -A111-A1111-A11111-A11111111111-A111111111-A1111111-A111111111-A1111111-A11111111
A1 - A12 - A121 - A1211(地址:A1-A12)
地下一层-地下十一层-地下一层-地下一层
MY事实数据表:
标识分类金额
1元商品A1211 10元
1元A1111 20
1元B1111 40
我希望聚合B1(级别1)和A12(级别2)为一个值
标识合计金额
- 50人
我正在与ORACLE分析服务器和RPD合作。
到目前为止还没有结果。
正常情况下,聚合发生在同一层,不知道该怎么办
1条答案
按热度按时间hmae6n7t1#
在上面的例子中,你的聚合基本上应该发生在一个子字符串上。因此,您可以使用LEFT函数来实现这一点,并将其修剪到您的级别。“A1”,“A12”,“A123”就像3个级别。也就是说,即使可以在RPD中执行此操作,最好的位置显然是数据库级别。仔细想想,您在RPD中实现的每个逻辑都会被逐行解释。对于您解析的每一行。这意味着性能损失。tl;dr可能但不一定是最佳点