我在excel中得到了这个公式,我需要将其转换为access。我提出了这一点,但如果一些事件被认为是“不准确”的,那么结果将给出所有“准确”的结果事件。
MRP Method Accurate:IIF([ITEM_TYPE]="PH"AND[MRP_PLANNING_CODE]="Not planned","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="SrvcOnly"OR[INVENTORY_ITEM_STATUS_CODE]="Inactive"
AND[MRP_PLANNING_CODE]="Not planned","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="ContrldRel"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd Item"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd SKU"
OR[INVENTORY_ITEM_STATUS_CODE]="PhsingOut"AND[MRP_PLANNING_CODE]="MRP and MPP planning","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="SA"AND[MRP_PLANNING_CODE]="MRP and MPP planning","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="PUR"AND[MRP_PLANNING_CODE]="Not planned","accurate","not accurate")))))
我也试过了。
MRP Method Accurate:IIF([ITEM_TYPE]="PH"AND[MRP_PLANNING_CODE]="Not planned","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE] IN("SrvcOnly","Inactive")AND[MRP_PLANNING_CODE]="Not planned","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE] IN("ContrldRel","Relsd Item","Relsd SKU","PhsingOut")AND[MRP_PLANNING_CODE]="MRP and MPP planning","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="SA"AND[MRP_PLANNING_CODE]="MRP and MPP planning","accurate",
IIF([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="PUR"AND[MRP_PLANNING_CODE]="Not planned","accurate","not accurate")))))
但在查询表达式'MRP Method Complete‘中出现错误Sytax error (missing operator)。
发布于 2021-01-06 15:44:06
将你的代码限制在一个iif中怎么样:
MRP Method Accurate:
IIF( ([ITEM_TYPE]="PH" AND [MRP_PLANNING_CODE]="Not planned")
or ([INVENTORY_ITEM_STATUS_CODE]="SrvcOnly"OR[INVENTORY_ITEM_STATUS_CODE]="Inactive" AND[MRP_PLANNING_CODE]="Not planned")
or ([INVENTORY_ITEM_STATUS_CODE]="ContrldRel"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd Item"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd SKU" OR[INVENTORY_ITEM_STATUS_CODE]="PhsingOut"AND[MRP_PLANNING_CODE]="MRP and MPP planning")
or ([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="SA"AND[MRP_PLANNING_CODE]="MRP and MPP planning")
or ([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="PUR"AND[MRP_PLANNING_CODE]="Not planned")
,"accurate"
,"not accurate")
如果你想找出哪一块通过了测试,那就写这5列。
IIF( ([ITEM_TYPE]="PH" AND [MRP_PLANNING_CODE]="Not planned"),1,0)
,iif([INVENTORY_ITEM_STATUS_CODE]="SrvcOnly"OR[INVENTORY_ITEM_STATUS_CODE]="Inactive" AND[MRP_PLANNING_CODE]="Not planned"),1,0)
,iif([INVENTORY_ITEM_STATUS_CODE]="ContrldRel"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd Item"OR[INVENTORY_ITEM_STATUS_CODE]="Relsd SKU" ),1,0)
,iif([INVENTORY_ITEM_STATUS_CODE]="PhsingOut"AND[MRP_PLANNING_CODE]="MRP and MPP planning"),1,0)
,iif([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="SA"AND[MRP_PLANNING_CODE]="MRP and MPP planning"),1,0)
,iif(([INVENTORY_ITEM_STATUS_CODE]="Unreleased"AND[ITEM_TYPE]="PUR"AND[MRP_PLANNING_CODE]="Not planned")),1,0)
对它们进行适当的命名。
最后,添加另一列
iif(Test1+...+testN >0, "accurate","not accurate")
https://stackoverflow.com/questions/65598697
复制相似问题