এটি একটি দুই ধাপের প্রক্রিয়া এবং ফলস্বরূপ, ফিল্ড ক্যালকুলেটর এটির পক্ষে উপযুক্ত নয়। এটি স্বতন্ত্র স্ক্রিপ্টে চালানো ভাল is তবে ক্ষেত্রের ক্যালকুলেটরে এটি করা যেতে পারে, আপনি যদি কোনও কৌশল ব্যবহার করেন তবে। বাছাই করা তালিকা থেকে সমস্ত মানকে একটি গ্লোবাল অভিধানে লোড করার জন্য আপনাকে একটি কার্সার ব্যবহার করতে হবে তবে কেবল প্রথম রেকর্ডের গণনার সময়। অন্যান্য সমস্ত রেকর্ডের জন্য আপনাকে প্রতিটি সারিটির জন্য পুরো টেবিলের ক্রমাগত পুনরায় পড়া এড়াতে অভিধান তৈরি তৈরিটি এড়িয়ে যেতে হবে।
তিনটি ক্ষেত্রের মানগুলি একটি কীতে ডুবিয়ে রাখতে হবে যা সঠিকভাবে বাছাই করবে key আমি ধরে নেব যে সমস্ত 3-ক্ষেত্রের সংমিশ্রণের মানগুলি স্যাম্পেলপয়েন্ট টেবিলের মধ্যে অনন্য, আপনি 8 নং লাইনে পাথ এবং শেপফিলের নাম সরবরাহ করতে হবে (বা আমি ফেলিক্সআইপি যে কৌশলটি ব্যবহার করতে পারি যেখানে বর্তমান মানচিত্রের প্রথম স্তরটি ব্যবহৃত হয়)। আপনি যদি কোনও কীটির জন্য বিভিন্ন ক্ষেত্র ব্যবহার করতে চান তবে আপনাকে 10 নং লাইনে ফিল্ডের তালিকাটি পরিবর্তন করতে হবে এবং লাইন 3 এবং লাইন 15 এর ইনপুট ক্ষেত্রগুলির সাথে তাদের মিলিয়ে নিতে হবে।
#Pre-logic Script Code:
relateDict = {}
def autoIncrement(myYear, myMonth, myDay, OID):
global relateDict
# only populate the dictionary if it has no keys
if len(relateDict) == 0:
# Provide the path to the relate feature class/table
relateFC = r"C:\Users\OWNER\Documents\ArcGIS\SamplePoints.shp"
# create a field list with the relate fields in sort order
relateFieldsList = ["Year", "Month", "Day", "OID@"]
# process a da search cursor to transfer the data to the dictionary
relateList = sorted([(r[0:]) for r in arcpy.da.SearchCursor(relateFC, relateFieldsList)])
for relateSort in range(0, len(relateList)):
relateDict[relateList[relateSort]] = relateSort + 1
return relateDict[(myYear,myMonth,myDay,OID)]
#Expression:
autoIncrement(!Year!, !Month!, !Day!, !OBJECTID!)
আমি বছরের, মাস এবং দিনের ক্ষেত্রের নামগুলি ব্যবহার করার পরামর্শও দেব না, কারণ কেবলমাত্র শেফফাইলে কাজ করে এবং জিওডাটাবেজে অনুমতি নেই। যদি আপনি সারণীর বৈশিষ্ট্যগুলিতে ফিল্ড তালিকায় এগুলি যুক্ত করার চেষ্টা করেন তবে একটি জিওডাটাবেসগুলি নামগুলি বছর_1, মাস_1, দিন_1 এ পরিবর্তন করবে।
যদি এই টেবিলটির উদ্দেশ্য এটি একটি বহু-ক্ষেত্র কীতে অন্য টেবিল / বৈশিষ্ট্য বর্গের সাথে সম্পর্কিত হয়, তবে আমার ব্লগে আমি যে সরঞ্জামটি একক ক্ষেত্র কী থেকে একক ক্ষেত্র কী সরঞ্জাম হিসাবে তৈরি করেছি তা ব্যবহার করে বিবেচনা করুন - একের বেশি ভিত্তিতে দুটি স্তর সম্পর্কিত ক্ষেত্র