空值或零值的分解表达式

2020-08-19 21:04发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我正在尝试对关键指标的值进...

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

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


您好,我正在尝试对关键指标的值进行null和另一个关键指标的零值分配。

每个例子。 我计算出一个关键数字,即产品系列价格的平均值。 当我运行disagg运算符的平均值时,将覆盖价格的KF的所有值,并且其应该仅替换空值和零值。

在我的价格kf中,我使用以下公式配置了Disaggregation表达式:

IF(ISNULL(" FCSTPRICE")OR" FCSTPRICE" = 0," FCSTPRICE",NULL)

我的原始KF具有与目标KF不同的计划级别,

我的配置有什么问题?

有什么我忘记的东西吗?

仅在目标KF中在disagg opperator中配置公式? 还是源代码? 或两者?

致谢

5条回答
CJones
2020-08-19 21:31

好,让我们假设如下:

源,计算得出:

KFSOURCE @ WKFAMILYCURR =

IF(ISNULL(" FCSTPRICE @ TargetPL")或" FCSTPRICE @ TargetPL" = 0,

" FCSTPRICE @ TargetPL",NULL)

目标:已存储,无公式,FCSTPRICE @ TargetPL可能在每个期间都没有值,因此您要用相同关键指标的现有期间的平均值替换缺少的FCSTPRICE吗? 您想使用高级复制运算符(而不是更好的旧DISAGG运算符),而不是即时计算吗?

并且我假设targetPL可以完全构建源计划级别 我看不到您在哪里提供非空值的平均值。

但是您需要的KF比那还要多,因为源KF必须 已经用非空值填充所有句点。 高级复制运算符不能只复制特定的期间,而是复制所有期间。

因此,您需要做的是在KF FCSTPRICE中以所需的汇总级别计算平均值,并从中得出平均值。 (假定为WKFAMILYCURR)由AVG(FCSTPRICE @ WKFAMILYCURR)

然后您将需要在FCSTPRICE @ BPL(BPL =存储价格的基本计划级别)中进行计算,就像

" FCSTPRICE @ BPL" = IF(ISNULL(" FCSTPRICE @ BPL")或" FCSTPRICE @ BPL" = 0,

" FCSTPRICE @ WKFAMILYCURR",NULL)

由于这是不可能的(您不能在输入的2个不同级别上拥有相同的KF),因此您需要一个辅助工具

HFCSTPRICE @ WKFAMILYCURR = FCSTPRICE @ WKFAMILYCURR

然后您的公式将更改为

" FCSTPRICE @ BPL" = IF(ISNULL(" FCSTPRICE @ BPL ")或" FCSTPRICE @ BPL" = 0,

" HFCSTPRICE @ WKFAMILYCURR",NULL)

现在您可以进行即时计算,并且如果要存储这些值,则可以将FCSTPRICE用作源和目标 复制操作符并在BPL级别进行复制

应该工作-如果我理解您的要求正确

如果您提供适当的描述以及正确的KF名称和适当的计划,那么您真的会有所帮助 级别名称放在首位:-)

Irmi


一周热门 更多>