বৈশিষ্ট্য শ্রেণিতে নয় পাঠ্যের সাথে নাল মানগুলি প্রতিস্থাপন করতে লেবেল এক্সপ্রেশন


9

আমার কয়েকটি হাইড্রেন্ট (পয়েন্ট) লেবেল করা দরকার - এর মধ্যে কিছু ফায়ার ব্রিগেডের অন্তর্ভুক্ত এবং তাদের একটি নম্বর অর্পণ করা হয়েছে, কারও কারও কাছে এটির সংখ্যা নেই। আমি এর লাইন ধরে একটি অভিব্যক্তি লিখতে চাই:

'সংখ্যা উপস্থিত থাকলে সংখ্যার সাথে লেবেল হাইড্রেন্ট, যদি হাইড্রান্টের' WO 'দিয়ে নাল মান লেবেল থাকে' '

আমি ঠিক এটি বুঝতে পারি না।

আমার এটি করার সহজতম উপায় হ'ল নাল মানগুলি ডাব্লুও-তে পরিবর্তন করা হবে তবে ডেটা আমার নয়, এবং আমি এতে পরিবর্তন করতে চাই না। আমি মনে করি আমি একটি অনুলিপি তৈরি করতে এবং অনুলিপিগুলিতে মানগুলি রাখতে পারি, তবে আদর্শভাবে আমি একটি অভিব্যক্তি চাই।

ধন্যবাদ!


ধন্যবাদ, ভাবুন আমি এখনও যা করছি তা আমি হারিয়ে ফেলছি: 1. স্তরটিতে লেবেল বৈশিষ্ট্যগুলি টিক দিন 2. 'বৈশিষ্ট্যগুলির শ্রেণিগুলি সংজ্ঞায়িত করুন এবং প্রতিটি শ্রেণিকে আলাদাভাবে লেবেল করুন 3. লেবেল ক্লাস নম্বর যুক্ত করুন 4. লেবেল শ্রেণি যুক্ত করুন 5 । টিক্ প্রতিটি <br/> 6. অধীনে 'নম্বর' এর জন্য 'লেবেল এই ক্লাসে অতিরিক্ত বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে' ক্লিক করুন SQL কোয়েরি ব্যবহার ( "SYMBOLCODE" = 3) ও ( "FIREAUTHOR" <> "") 7. Label ক্ষেত্রে FIREAUTHOR সেট করা হয় ৮. ডাব্লুও এসকিউএল এর জন্য ("সিম্বলকোড" = 3) এবং ("আগুন" = "") 9. এক্সপ্রেশনটি "ডাব্লুও" হয় 10. ত্রুটি পান 'কোনও বৈশিষ্ট্য পাওয়া যায় নি।
জর্প

উত্তর:


9

নাল মান সহ বৈশিষ্ট্যগুলি লেবেল করতে আপনি এর মতো একটি সাধারণ স্ক্রিপ্ট ব্যবহার করতে পারেন।

Function FindLabel ( [yourfield] )
  if isnull( [yourfield]) then
    FindLabel = "WO"
  else
    FindLabel = [yourfield]
  end if
End Function

1
Gis.se এ আপনাকে দেখতে পেরে দুর্দান্ত ইএসআরআই ফোরামে আপনার উত্তরগুলি আমাকে সহ অনেক লোককে সহায়তা করেছে।
দেবদত্ত টেংশে

ধন্যবাদ - এই স্ক্রিপ্টটি অবশ্যই ঝরঝরে, তবে নাল মানগুলি ডাব্লুও হিসাবে চিহ্নিত করা হচ্ছে না।
জর্প

1
আপনি কি এমন মানগুলি নিয়ে কাজ করছেন যা <নাল> বা বৈশিষ্ট্য সারণীতে ফাঁকা হিসাবে প্রদর্শিত হচ্ছে?
কেনবুজা

3

আপনি যা করতে পারেন তা এখানে।

  1. পদ্ধতির অধীনে লেবেলিং ট্যাবের অধীনে দুটি লেবেলিং ক্লাস সেট আপ করুন: বৈশিষ্ট্যের ক্লিজগুলি সংজ্ঞায়িত করুন এবং প্রতিটি শ্রেণিকে আলাদাভাবে লেবেল করুন।
  2. একটি হাইড্রেন্ট শ্রেণি তৈরি করুন যার সংখ্যা রয়েছে এবং একটি নেই (যেমন সংখ্যা এবং & ডাব্লু)।
  3. নম্বর শ্রেণীর জন্য এসকিউএল ক্যোয়ারিকে "মাইবেলফিল্ড" <> "" হিসাবে সংজ্ঞায়িত করুন
  4. সংখ্যার ক্লাসটি সঠিক লেবেল ক্ষেত্রে দেখান।
  5. ডাব্লুও ক্লাসের জন্য এসকিউএল কোয়েরিটিকে "মাইবেলফিল্ড" = "" হিসাবে সংজ্ঞায়িত করুন
  6. এক্সপ্রেশন বিকল্প ধরণের ডাব্লুও ক্লাসের জন্য "ডাব্লুও"
  7. লেবেলিং চালু করুন।

2

@Kenbuja sript এ আরও উত্তর যা সঠিক উত্তর; আপনার যদি নাল এবং 0 দৈর্ঘ্যের স্ট্রিং বা স্পেসের কোনও অক্ষর না দিয়ে মিশ্রণ থাকে তবে আপনি এ জাতীয় কিছু করতে পারেন:

Function FindLabel ( [LABELFIELD] )
  if  isnull([LABELFIELD]) then
    FindLabel = "WO"
  elseif trim([LABELFIELD]) = "" then
    FindLabel = "WO"
  else
    FindLabel = ucase([LABELFIELD])
  end if
End Function
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.