سبد (0)

فیلتر کردن رکوردها

فیلتر کردن رکوردها در Crystal Report

در این فصل، یاد خواهید گرفت که چگونه رکوردها را فیلتر کنید. در دنیای گزارش نویسی، فیلترینگ به "انتخاب رکوردها" یا "record selection" معروف است. record selection پردازشی است که رکوردهای خاصی را داخل گزارش نمایش می دهد.

Crystal Reports برای فیلترینگ، دو ابزار زیر را فراهم نموده است:

  • Select Expert: این ابزار به صورت Visual فیلترینگ را فراهم می کند.
  • Formula: با برنامه نویسی، فیلترینگ می کنیم. (در مطلب CR Formula درباره فرمول نویسی بیشتر توضیح داده خواهد شد)

در اینجا، کار با Select Expert را فراخواهیم گرفت.

اجازه بدهید، با ایجاد یک گزارش جدید، با مفهوم فیلترینگ، آشنا شویم.

لیست تمام مشتری ها

1- بعد از اجرای Crystal Report، یک گزارش خالی (Blank Report) ایجاد کنید.

2- به پایگاه داده Xtreme.mdb متصل شده و جداول Custumer و Orders را به پنجره Selected Table اضافه نمایید.
اگر بیش از یک جدول به لیست Availble List اضافه کنید، برگه Link ظاهر می شود و به شما اجازه می دهد تا بین جداول، لینک برقرار نمایید. اجازه دهید، ارتباط بین دو جدول بالا را خود Crystal Reports برقرار نماید.

3- روی دکمه OK کلیک نمایید.

4- در نمای Design، فیلد های پایین را در بخش Details قرار دهید.
Customer Name و Region (از جدول Customer) و Order Date (از جدول Orders)


Select Expert

به صورت پیشفرض بعد از ایجاد گزارش، Crystal Report تمام رکوردها را نمایش می دهد. (در بالا تمام مشتری ها، با نواحی و تاریخ سفارش های مختلف لیست شده است)

بندرت، در یک گزارش تمام رکوردها را نمایش می دهیم و معمولاً کاربران می خواهند که، زیر مجموعه ای از رکوردهای یک جدول را ببینند. به عنوان مثال، ممکن است کاربری بخواهد مشتریان یک ناحیه خاص را ببیند و یا مشتریانی که تاریخ سفارش آنها در بازه ای خاص است.

Select Expert به شما اجازه می دهد تا رکوردها را فیلتر نمایید و تعریف کنید که چه رکوردهایی باید در گزارش نمایش داده شوند.

اجازه بدهید، نگاهی به Select Expert بیندازیم و ببینیم چگونه کار می کند.

Select Expert

1- منوی (Report=>Select Expert) را انتخاب نمایید.
Select Expert از طریق نوار ابزار Experts نیز قابل دسترسی است(آیکنی به شکل دست)

2- در پنجره Choose Field مطابق شکل زیر، فیلد Region را انتخاب نمایید.
این پنجره ی Select Expert نیست و شما در ابتدا باید، فیلدی که می خواهید فیلترینگ براساس آن انجام شود را انتخاب نمایید.
نکته: برای نمایش مقادیر داخل فیلدها، از دکمه Browse استفاده نمایید.

3- روی دکمه OK کلیک نمایید. 
پنجره Select Expert مطابق شکل زیر ظاهر می شود.
برگه های بالای پنجره Select expert نماینده فیلترهای تعریف شده است. همچنین برگه ای با نام "New' وجود دارد که با کلیک روی آن پنجره Choose Field ظاهر می شود و به شما اجازه می دهد که یک فیلتر جدید تعریف کنید.
هر بار که در Crystal Report فیلتری را تعریف می کنید، باید سه مورد زیر را مشخص نمایید:

  • فیلد جدول: فیلدی که فیلترینگ بر اساس آن انجام می شود.
  • عملگر مقایسه: بر اساس این عملگر، مقادیر داخل فیلد را با مقداری دیگر مقایسه می کند.
  • مقدار مقایسه: یک مقدار ثابت و غیر قابل تغییر
 

عملگرهای مقایسه (Comparison Operators)

عملگرهای مقایسه ای، دو مقدار را با هم مقایسه می کنند و مقدار True یا False را برمی گردانند.

با توجه به مقادیر بازگشتی، Crystal Report نمایش رکوردها در گزارش را معیین می کند.

جدول زیر، عملگرهای قابل دسترس در Select Expert را نشان می دهد. ستون Data Type، لیست انواع داده ای است که برای مقایسه استفاده می شود.

 
عملگر مقایسهتوضیحاتData Type

Is Any Value

تمام رکوردهای داخل رکورد را برمی گرداند. هیچ فیلتری روی رکوردها انجام نمی شود.

Text, Numeric, Date

Is Equal To

تمام رکوردهایی که دقیقاً با مقدار عبارت برابر است را برمی گرداند.

Text, Numeric, Date

Is Not Equal To

تمام رکوردهایی که با مقدار عبارت یکسان نیست را برمی گرداند.

Text, Numeric, Date

Is One Of

تمام رکوردهایی که با یکی از مقادیر مشخص شده لیست شما برابر باشد را برمی گرداند.

Text, Numeric, Date

Is Not One Of

تمام رکوردهایی که مخالف مقادیر مشخص شده لیست شما باشد را برمی گرداند.

Text, Numeric, Date

Is Less Than

تمام رکوردهایی که کوچکتر از مقدار عبارت باشد را برمی گرداند.

Text, Numeric, Date

Is Less Than Or Equal To

تمام رکوردهایی که کوچکتر یا مساوی مقدار عبارت باشد را برمی گرداند.

Text, Numeric, Date

Is Greater Than

تمام رکوردهایی که بزرگتر از مقدار عبارت باشد را برمی گرداند.

Text, Numeric, Date

Is Greater Than Or Equal To

تمام رکوردهایی که بزرگتر یا مساوی مقدار عبارت باشد را برمی گرداند.

Text, Numeric, Date

Is Between

تمام رکوردهایی که بین دو مقدار عبارت شما باشد را برمی گرداند.

Text, Numeric, Date

Is Not Between

تمام رکوردهایی که بین دو مقدار عبارت شما نباشد را برمی گرداند.

Text, Numeric, Date

Starts With

تمام رکوردهایی که با مقدار عبارت شما شروع شود را برمی گرداند.

Text

Does Not Start With

تمام رکوردهایی که با مقدار عبارت شما شروع نشود را برمی گرداند.

Text

Is Like

تمام رکوردهایی که شامل مقدار عبارت شما باشد را برمی گرداند. مقدار عبارت می تواند شامل کاراکترهای wildcard باشد.

Text

Is Not Like

تمام رکوردهایی که شامل مقدار عبارت شما نباشد را برمی گرداند. مقدار عبارت می تواند شامل کاراکترهای wildcard باشد.

Text

Formula

تمام رکوردهایی که دستورالعمل فرمول در مورد آنها صادق است را برمی گرداند.

Text, Numeric, Date

ایجاد فیلترینگ

فیلترینگ

1- در پنجره Select Expert، گزینه عملگر مقایسه ای را با "Is Equal To" تنظیم نمایید.
زمانی که این مقدار را انتخاب می کنید، یک لیست کشویی جدید در سمت راست ظاهر می شود و به شما اجازه می دهد تا مقدار مقایسه را انتخاب یا وارد نمایید.

2- مقدار مقایسه را با "TX" تنظیم نمایید.
"TX" مخفف Texas است. می توانید مقدار "TX" را تایپ کنید(بدون کوتیشن مارک)

3- روی دکمه OK کلیک نمایید.
پنجره ای مطابق شکل زیر ظاهر می شود و باید مشخص کنید که Crystal Report داده ها را تازه سازی کند و یا از داده های جاری استفاده کند.

4- روی Refresh Data کلیک کنید.
شما موفق شدید که داده ها را فیلتر کنید و مشتریانی با منطقه "TX" را نمایش دهید.

 


برداشتن فیلترینگ

در Crystal Report برداشتن فیلترینگ به همان آسانی ایجاد آن است. با توجه به گزارش جاری به صورت زیر عمل نمایید:

حذف فیلترینگ

1- پنجره Select Expert را باز کنید. (Report=>Select Expert)

2- برگه ای که نماینده فیلتر مورد نظرتان است را انتخاب کنید. (Region)

3- روی دکمه Delete کلیک نمایید.
برگه Region حذف می شود.

3- روی دکمه OK کلیک نمایید.
پنجره ی تازه سازی اطلاعات مانند قبل ظاهر می شود.

4- روی Refresh Data کلیک کنید.
شما موفق شدید که فیلترینگ را حذف کنید. حالا تمام مشتریان نمایش داده می شوند. 

 

Creating Compound-Record Selection Statements

So far, you've created a record selection statement on a single field. Of course, you're not limited to only one filter per report. You can create as many filters as your report needs. A record selection statement with more than one filter is known as a compound-record selection statement. A compound-record selection statement is a selection statement that filters more than one field within a report.

When you're creating compound-record selection statements, you can create the first filter, test it out, reopen the Select Expert, and then add the second filter. You can also create both selection filters all at once within the Select Expert by using the <New> tab.

Either method works fine. However, sometimes creating one filter at a time and then previewing your work ensures that your report filters exactly the records you want.

Let's try an example, continuing with the report you've been creating in this chapter. Perform the following steps:

  1. Access Report, Select Expert from the menu bar.

    The Choose Field dialog box displays.

  2. Select the Country field from the Customer table.

    Just because a field isn't displayed within your report doesn't mean it can't act as a filter. In this example, you'll create a filter using the Country field, which is a field that's not displayed.

  3. Press the OK button.

    The Select Expert displays.

  4. In the Comparison Operator drop-down field, select the Is Like operator.

  5. In the Comparison Value drop-down field, select USA.

    In this field, you're defining your filter to return only customers within the United States.

  6. Select the <New> tab.

    The Choose Field dialog box displays again.

  7. Select the Order Date field from the Orders table.

    The Select Expert displays.

  8. In the Comparison Operator drop-down field, select the Is Greater Than Or Equal To operator.

  9. In the Comparison Value drop-down field, select 1/1/2001 12:00:00AM.

    You screen should look like Figure 7-7.

    Click To expand
    Figure 7-7: Creating a compound-record selection statement in the Select Expert

  10. Press the OK button on the Select Expert dialog box.

    Crystal Reports asks if you'd like to refresh your data.

  11. Press the Refresh Data button.

    You're returned to the Report Design area.

  12. Preview your report.

    Scroll through the pages within your report. You should only see customers within the USA whose order dates are greater than or equal to 1/1/2001 12:00:00 AM.

    If you wish, add the Country field to your report to make sure the report displays customers from the USA only. Your report should look like Figure 7-8.

    Click To expand
    Figure 7-8: Your report with a compound-record selection statement

   
   

Creating Filters with Wildcard Characters

Many report developers prefer the use of wildcard characters when creating their filters. Wildcard characters are placeholders used to represent one or many characters. Wildcard characters are useful in that they allow you to filter records without having to define too specific of a comparison value.

The two wildcard characters are the asterisk (*) and the question mark (?). The asterisk represents one or more characters, while the question mark represents a single character.

Perhaps the easiest way to understand wildcard characters is to try an example. Continuing where you left off with the example in this chapter, perform the following steps:

  1. Access Report, Select Expert from the menu bar.

    The Select Expert displays. Press the <New> tab. The Choose Field dialog box displays.

  2. Select the Customer Name field from the Customer table.

  3. Press the OK button.

    The Select Expert displays.

  4. In the Comparison Operator drop-down field, select the Is Like operator.

  5. In the Comparison Value drop-down field, type P*.

    Using this wildcard character means that only customers whose name begins with P shall display within your report.

  6. Press the OK button on the Select Expert dialog box.

    Crystal Reports asks if you'd like to refresh your data.

  7. Press the Refresh Data button.

    You're returned to the Report Design area.

  8. Preview your report.

    Scroll through the pages within your report. You should only see customers whose name begins with P, are within the USA, and whose order dates are greater than or equal to 1/1/2001.

Figure 7-9 displays the results of your work.

Click To expand
Figure 7-9: Creating filters using the wildcard character

You'll find that as you work more with reports, filters play a large part in how meaningful and useful your reports become. You'll get some more practice with creating filters in the report building exercise at the end of Part II.

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه