简体   繁体   English

我需要将此 Crystal 公式转换为 SSRS 表达式:

[英]I need to convert this Crystal formula into SSRS Expression:

select {t_item_master.reorder_qty}
case 5:
  ({t_hu_detail.loaded_qty}*.5) 
case 3:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.17)
case 4:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.25)
case 6:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.34)
case 7:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.36)
case 8:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.37)
case 9:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty}+.39)
default:
   ROUND({t_hu_detail.loaded_qty}/{t_item_master.reorder_qty})

I tried to do that and got as below expression but getting error.我试图这样做并得到如下表达式但出现错误。

=SWITCH(Fields!reorder_qty.Value = 5,((Fields!loaded_qty.Value)*.5),
        Fields!reorder_qty.Value = 3,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.17),
    Fields!reorder_qty.Value = 4,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.25),
    Fields!reorder_qty.Value = 6,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.34),
    Fields!reorder_qty.Value = 7,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.36),
    Fields!reorder_qty.Value = 8,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.37),
    Fields!reorder_qty.Value = 9,Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)+.39),
    Round((Fields!loaded_qty.Value)/(Fields!reorder_qty.Value)))

It's looks like you are just missing the expression for the last line that is usually used as an ELSE statement for a default value when all other conditions are not met.看起来您只是缺少最后一行的表达式,该表达式通常在不满足所有其他条件时用作默认值的 ELSE 语句。 You need to add the True for the expression - SSRS doesn't assume the last line is a default value.您需要为表达式添加 True - SSRS 不假定最后一行是默认值。

=SWITCH(Fields!reorder_qty.Value = 5, Fields!loaded_qty.Value * .5,
        Fields!reorder_qty.Value = 3, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.17),
        Fields!reorder_qty.Value = 4, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.25),
        Fields!reorder_qty.Value = 6, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.34),
        Fields!reorder_qty.Value = 7, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.36),
        Fields!reorder_qty.Value = 8, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.37),
        Fields!reorder_qty.Value = 9, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value +.39),
        True, Round(Fields!loaded_qty.Value / Fields!reorder_qty.Value)
        )

You don't need to enclose each field in parenthesis in SSRS like the Crystal report code had.您不需要像 Crystal 报表代码那样将每个字段括在 SSRS 中的括号中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM