คลิกสองครั้งที่เครื่องมือคำนวณมูลค่าเพื่อตั้งค่า:
5a คัดลอก / วางต่อไปนี้ลงในกล่องนิพจน์ (ปรับให้เข้ากับชื่อตัวแปรของคุณ):
buildWhereClauseMultiValue(r"%Feature Layer%","%Field%","%Values%")
5b คัดลอก / วางต่อไปนี้ลงในกล่องCode Block :
import arcpy
def buildWhereClauseMultiValue(table, field, values):
"""Takes a semicolon-delimited list of values and constructs a SQL WHERE
clause to select those values within a given field and table."""
# Add DBMS-specific field delimiters
fieldDelimited = arcpy.AddFieldDelimiters(arcpy.Describe(table).path, field)
# Split multivalue at semicolons and strip quotes
valueList = [value[1:-1] if (value.startswith("'") and value.endswith("'")) else value for value in values.split(';')]
# Determine field type
fieldType = arcpy.ListFields(table, field)[0].type
# Add single-quotes for string field values
if str(fieldType) == 'String':
valueList = ["'%s'" % value for value in valueList]
# Format WHERE clause in the form of an IN statement
whereClause = "%s IN(%s)" % (fieldDelimited, ', '.join(valueList))
return whereClause
5c การตั้งค่าชนิดข้อมูลออกจะเป็นการแสดงออก SQL
5d คลิกตกลงและคลิกขวาที่ตัวแปรเอาต์พุตจากเครื่องมือคำนวณค่าและเปลี่ยนชื่อเป็นคำอธิบายเพิ่มเติมเช่น "WHERE Clause"