مشکلات رایج در گزیش اطلاعات Definition Query

مشکلات رایج در پرس و جوی اطلاعات Query
اگر با مشکلات زیر روبرو شده اید ، میتوانید از آموزش و توضیحات این صفحه استفاده کنید
- دستور را تایپ کرده اید ولی اجرا نمی شوند
- در استفاده از دستورات AND , OR دچار اشتباه می شوید
- انتخاب سلولهای خالی NULL کامل انجام نمیشود
- بازه ها از نظر ریاضی درست هستند ولی نتیجه درست نیست
- نیاز به تکرار یک فرمول در مراحل مختلف کار دارید
ابتدا لازم است با کلید ها و امکانات Query Builder بیشتر آشنا شویم
- قسمت بالای پنجره ، نمایش دهنده تمامی فیلدهایی است که امکان فیلتر کردن را در آنها داریم . برای انتخاب فیلد مورد نظر لازم است روی آن دوبار کلیک کنیم و نام فیلد مورد نظر در قسمت خالی پایین پنجره ظاهر می شود (قسمت 4)
 * از وارد کردن دستی نام فیلد ها خودداری نمایید
- در این قسمت شما امکان این را دارید که از کلید های از پیش تعریف شده برای محاسبات و فیلتر کردن فیلد های مورد نظر استفاده کنید . که مختصرا به آن می پردازیم  
 برای درک بهتر با یک مثال چیش می رویم :
 فرضاً جدول ویژگی های یک لایه داری فیلد های مختلفی از جمله مساحت ملک : Area ، فاصله تا خیابان اصلی : Road_Dis ، سند ملکی : Doc_pro ، تعداد طبقات Floor و … می باشد .
 حالا با استفاده از علائم زیر بازه های درخواستی را استخراج می کنیم :
 ( = ) : به معنی مساوی
 مثال : انتخاب زمین های دارای سند ملکی یک طبقه
 Doc_pro = “ok” AND Floor = 1
 * همه مقادیر غیر عددی می بایست در داخل ” “ قرار بگیرند
 ( > ) : به معنی کوچکتر از…
 ( < ) : به معنی بزرگتر از…
 مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه و مساحت بالای 1000 متر
 Doc_pro = “ok” AND Floor < 5 AND area> 1000
 ( =< ) : به معنی بزرگتر مساوی از…
 ( => ) : به معنی کوچکتر مساوی از …
 ( <> ) : به معنی نا مساوی
 مثال : انتخاب زمین های دارای سند ملکی پنج طبقه یا کمتر و مساحت 1000 متر به بالا و بر خیابان اصلی نباشد
 Doc_pro = “ok” AND Floor <= 5 AND area>= 1000 AND Road_Dis <> 0
 ( Not ) : به معنی منفی کننده و مخالف
 مثال : انتخاب زمینهایی به غیر از آنهایی دارای سند ملکی پنج طبقه یا کمتر و مساحت 1000 متر به بالا
 ( Not ( Doc_pro = “ok” AND Floor <= 5 AND area>= 1000
 () برای اعمال یک دستور روی کل بازه چند متغیری تعریف شده
 ( Null ) : به معنی سلول بدون داده بوده و میتوان بعد از Is یا Not استفاده کرد
 مثال : انتخاب زمین های دارای سند ملکی
 “Doc_pro Is Not “Null
 * قبل از Null به جای = بایستی از Is استفاده کرد
 ( Is ) به معنی بودن
 مثال : رجوع شود به مثال Null
 ( And ) : به معنی به اضافه (و)
 * زمانی استفاده می شود که منظور ما دارا بودن دو متغییر(a) و (b) همزمان در یک فیلد باشد
 مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه و دارای مساحت بالای 1000 متر
 Doc_pro = “ok” AND Floor < 5 AND area> 1000
 ( OR ) : به معنی (یا)
 * زمانی استفاده می شود که منظور ما دارا بودن متغییر(a) یا متغیر (b) در یک فیلد باشد
 مثال : انتخاب زمین های دارای سند ملکی کمتر از پنج طبقه یا دارای مساحت بالای 1000 متر
 Doc_pro = “ok” AND Floor < 5 OR area> 1000
 * And , OR هر دو بعد از تعریف یک بازه و برای ادامه دادن دستور بعدی استفاده می شوند
 ( _ )
 ( % )
 ( In )
 ( Like )
- در نهایت کلیدی به نام Get Unique Values وجود دارد که در صورت نیاز به انتخاب متغیری از فیلد خاص ابتدا فیلد مربوطه را با یک کلیک روی آن انتخاب کرده و سپس با این کلید تمام داده های داخل فیلد برای شما نمایش داده می شود و به راحتی میتوانید با دوبار کلیک ، آنرا به فرمول خود اضافه کنید * پیشنهاد می شود به جز موارد عددی از تایپ کردن متغیر ها در داخل قسمت دستور خودداری کنید .
- این قسمت نیز همان طور که در مراحل قبل ذکر کردیم مربوط به نمایش دستورات نهایی شما برای اجرا میباشد که میتوانیم موارد مد نظر را چک کنیم و در صورت اطمینان از صحت آنها دستورات را اجرا کنیم .
 * تایپ دستی در این جدول توصیه نمیشود ولی در صورت نیاز لازم است برای متغیر های با فرمت TEXT از علامت “text” در اطراف عبارت استفاده شود
 * گاها در جداولی که روی آنها کاری انجام شده و یا از بیرون وارد محیط GIS شده اند ممکن است سلولهای خالی Null بر خلاف تصور ما به صورت Text باشند و لذا اگر از دستورات مربوط به Null استفاده می کنید ولی نتیجه درست نیست از “Null” استفاده کنید
- در انتهای کار اگر عملیات انجام شده ممکن است مجددا به کارتان بیاید آن را از طریق کلید پایین پنجره Save و در دفعات بعدی نیر به راحتی Load کنید .
- پنجره Query Builder شباهت زیادی به پنجره Select By Attribute دارد و دستورات و فرمول های قابل کپی کردن در یکدیگر هستند با این تفاوت که در Query بازه های انتخاب شده معمولا مطلوب نبوده و از حالت نمایش خارج می شوند ولی در Selection معمولا داده های مطلوب حهت تمرکز بیشتر و انجام عمیلات مختلف روی آنها انتخاب می شوند .
 
                             
                            