#MUTLIVALUE-汇总前的总和

2020-08-19 03:38发布

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

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


嗨,大家

我目前正在与Webi进行艰苦的工作,以进行某种"聚合之前"的计算。 这是上下文:

-SAP IQ之上的Universe,其中包含来自SAP的复制表

-我的Webi文档中涉及SAP交付的单个源查询

-目的是重新计算一些发票数据以与我们的供应商发票进行比较

-发票规则为:

-如果发往客户所在国家/地区的船舶为BE,则第一个包裹的费用为8.85欧元,每隔一个包裹为3.1欧元

-如果发往客户所在国家/地区的船舶为LU,则第一个包裹的费用为9.85欧元,每隔一个包裹的费用为3.1欧元

-如果运送至客户的邮政编码在特定列表内,则这是固定成本:23.32

-否则,每包成本为2.95

我进行了计算,当我在表中包括所有详细信息(国家/地区,交货ID,邮政编码)时有效,但是当我尝试仅将"求和"显示在表或图形中以进行显示时 每天的费用,我遇到了#MULTIVALUE错误。

我正在使用输入上下文来强制进行计算,尝试了几种选择:In,ForEach,内部,总和之外...我不明白为什么它不起作用。 如果有人可以告诉我,如果我对Webi的要求过高,或者我做错了什么,那将非常好。

这是我当前使用的公式:

= Sum(

如果([[CST-SHC-运至Cstmr国家/地区ID] In([TMD-SLD-DH-Dlvry ID])=" BE")然后

(如果(([[TMD-SLD-DH-Dlvry包裹计数] In([TMD-SLD-DH-Dlvry ID]))> 1)然后(8.85 +([TMD-SLD-DH-Dlvry包裹计数 ] In([[TMD-SLD-DH-Dlvry ID])-1)* 3.1)

其他([TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])* 8.85))

否则((CST-SHC-运至Cstmr国家/地区ID] In([TMD-SLD-DH-Dlvry ID])=" LU")然后

(如果(([[TMD-SLD-DH-Dlvry包裹计数] In([TMD-SLD-DH-Dlvry ID]))> 1)然后(9.85 +([TMD-SLD-DH-Dlvry包裹计数 ] In([[TMD-SLD-DH-Dlvry ID])-1)* 3.1)

其他([TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])* 9.85))

否则,如果(向左([CST-SHC-运送至Cstmr邮政编码]; 4)InList(" 1790";" 1791";" 1792";" 1793";" 1794";" 1795";" 1796" ;";" 1797";" 8899";" 8881";" 8882";" 8883";" 8884";" 8885";" 8886";" 8887";" 8888";" 8889";" 8890"; "(8891";" 8892";" 8893";" 8894";" 8895";" 8896";" 8897";" 9161";" 9162";" 9163";" 9164";" 9166") [TMD-SLD-DH-Dlvry ID]))然后(23.32)

否则(2.95 * [TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])))

ForEach([TMD-SLD-DH-Dlvry ID]; [CST-SHC-运送至Cstmr国家/地区ID]; [CST-SHC-运送至Cstmr邮政编码])

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

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


嗨,大家

我目前正在与Webi进行艰苦的工作,以进行某种"聚合之前"的计算。 这是上下文:

-SAP IQ之上的Universe,其中包含来自SAP的复制表

-我的Webi文档中涉及SAP交付的单个源查询

-目的是重新计算一些发票数据以与我们的供应商发票进行比较

-发票规则为:

-如果发往客户所在国家/地区的船舶为BE,则第一个包裹的费用为8.85欧元,每隔一个包裹为3.1欧元

-如果发往客户所在国家/地区的船舶为LU,则第一个包裹的费用为9.85欧元,每隔一个包裹的费用为3.1欧元

-如果运送至客户的邮政编码在特定列表内,则这是固定成本:23.32

-否则,每包成本为2.95

我进行了计算,当我在表中包括所有详细信息(国家/地区,交货ID,邮政编码)时有效,但是当我尝试仅将"求和"显示在表或图形中以进行显示时 每天的费用,我遇到了#MULTIVALUE错误。

我正在使用输入上下文来强制进行计算,尝试了几种选择:In,ForEach,内部,总和之外...我不明白为什么它不起作用。 如果有人可以告诉我,如果我对Webi的要求过高,或者我做错了什么,那将非常好。

这是我当前使用的公式:

= Sum(

如果([[CST-SHC-运至Cstmr国家/地区ID] In([TMD-SLD-DH-Dlvry ID])=" BE")然后

(如果(([[TMD-SLD-DH-Dlvry包裹计数] In([TMD-SLD-DH-Dlvry ID]))> 1)然后(8.85 +([TMD-SLD-DH-Dlvry包裹计数 ] In([[TMD-SLD-DH-Dlvry ID])-1)* 3.1)

其他([TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])* 8.85))

否则((CST-SHC-运至Cstmr国家/地区ID] In([TMD-SLD-DH-Dlvry ID])=" LU")然后

(如果(([[TMD-SLD-DH-Dlvry包裹计数] In([TMD-SLD-DH-Dlvry ID]))> 1)然后(9.85 +([TMD-SLD-DH-Dlvry包裹计数 ] In([[TMD-SLD-DH-Dlvry ID])-1)* 3.1)

其他([TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])* 9.85))

否则,如果(向左([CST-SHC-运送至Cstmr邮政编码]; 4)InList(" 1790";" 1791";" 1792";" 1793";" 1794";" 1795";" 1796" ;";" 1797";" 8899";" 8881";" 8882";" 8883";" 8884";" 8885";" 8886";" 8887";" 8888";" 8889";" 8890"; "(8891";" 8892";" 8893";" 8894";" 8895";" 8896";" 8897";" 9161";" 9162";" 9163";" 9164";" 9166") [TMD-SLD-DH-Dlvry ID]))然后(23.32)

否则(2.95 * [TMD-SLD-DH-Dlvry包数] In([TMD-SLD-DH-Dlvry ID])))

ForEach([TMD-SLD-DH-Dlvry ID]; [CST-SHC-运送至Cstmr国家/地区ID]; [CST-SHC-运送至Cstmr邮政编码])

付费偷看设置
发送
2条回答
天桥码农
1楼-- · 2020-08-19 04:18

您好Pierre-yves,

只有一个具有复杂公式的变量不起作用(据我所知),请为每个发运给客户的用户创建一个或2个变量 国家/地区代码或您遇到的不同情况。

例如,使用适当的公式创建以下变量,并通过将所有这些变量添加到包含订单ID列的简单表格中来确保每个变量都能正常工作 和/或订单日期),船到客户国家代码,邮政编码
BE一级订单Amt
BE所有其他订单船舶Am LU一级订单船舶Am LU所有其他订单船舶Am < br>特定邮政编码运送Amt
所有其他邮政编码运送Amt

最后,像在此处一样创建一个变量(很复杂),但是现在改用这些新创建的变量。 希望对您有帮助!

PS-如果这些多带带的变量不能按预期工作,请尝试创建更多变量以标识BE的一阶(可能是一个标记变量,根据您的选择为1或0 (是否为一阶)),则在计算Ship Amt变量时使用这些新变量。

谢谢,
Mahboob Mohammed

落灬小鱼
2楼-- · 2020-08-19 04:21

嗨 Mahboob,

我想避免对公式进行拆分...但是看来我没有其他选择。

谢谢

PY

一周热门 更多>