Ayarlamak için Değeri Hesapla aracını çift tıklayın:
5a. Aşağıdakileri Kopyala / İfade kutusuna yapıştırın (değişken adlarınızla eşleşecek şekilde ayarlayın):
buildWhereClauseMultiValue(r"%Feature Layer%","%Field%","%Values%")
5b. Aşağıdakileri kopyalayıp Kod Bloğu kutusuna yapıştırın :
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. Çıktı veri türünü bir SQL İfadesi olarak ayarlayın .
5d. Tamam'ı tıklatın ve Çıktı Hesapla aracından çıktı değişkenini sağ tıklatın ve "WHERE Yan tümcesi" gibi daha açıklayıcı bir adla yeniden adlandırın.