کوئری Crosstab در اکسس
با کوئری هایی که تا کنون ایجاد کردیم امکان مشاهده نمرات به همراه دروس به صورتی که به راحتی قابل مقایسه بین دانش آموزان باشد، فراهم نشده است. چنانچه بخواهیم نام دانش آموزان را در یک فهرست و نام دروس را در ستونهای مجزا داشته باشیم از کوئری Crosstab استفاده می کنیم. در این کوئری از ۳ جدول استفاده می شود. از ریبون Create بر روی Query Design کلیک کنید. جدول های دانش آموز، درس و نمره را اضافه کنید. فیلدهای نام و نام خانوادگی دانش آموز، نام درس و نمره را انتخاب کنید. کوئری را به نام qryStudentMarks ذخیره کنید.
کوئری را اجرا کرده و نتیجه را مشاهده کنید.
در این کوئری مقایسه نمرات بین دانش آموزان به سادگی انجام نمی شود.
ایجاد کوئری Crosstab
از ریبون Create گزینه Query Wizard را انتخاب کنید. در پنجره باز شده گزینه Crosstab را انتخاب و بر روی OK کلیک کنید.
در مرحله بعد از شما می پرسد که از جدول می خواهید Cross Tab ایجاد کنید یا از یک کوئری. در این مثال گزینه کوئری را انتخاب و سپس کوئری که در مرحله قبل ایجاد کرده بودید را انتخاب کنید.
در مرحله بعد از شما می پرسد که سطرهای شما را کدام فیلدها تشکیل می دهند. به عبارت دیگر در سطرهای جدول قرار است مقدار چه فیلدهایی را مشاهده کنید. از آنجائیکه هدف من ایجاد یک فهرست از نام و نام خانوادگی دانش آموزان است، این دو فیلد را به قسمت Selected fields منتقل می کنم.
در مرحله بعد از شما می پرسد که کدام فیلد را می خواهید در ستون جدول قرار دهید. نام درس را انتخاب می کنید.
در مرحله بعد از شما می پرسد که محل تلاقی سطر و ستون باید چه مقداری نشان داده شود که در اینجا هدف نمایش نمره است بنابراین فیلد Mark را انتخاب کنید. اگر می خواهید محاسباتی نیز بر روی داده انجام دهد می توانید آن را در بخش Functions انتخاب کنید. برای مثال فرض کنید بخواهیم علاوه بر نمایش نمره دانش آموز، میانگین یا جمع نمرات وی را نیز نمایش دهد.
به مرحله بعد رفته و نامی برای کوئری وارد کنید.
بر روی دکمه Finish کلیک کرده و نتیجه Query را مشاهده کنید.
نمای Design از کوئری Crosstab
کوئری ایجاد شده را در نمای Design باز کنید.
در این نما میتوانید ستونهایی که نمی خواهید مشاهده شود را حذف کنید. مثلا برای عدم نمایش جمع نمرات ستون Total Of Mark را حذف کنید.
نمای SQL از کوئری Crosstab
اکنون کوئری را در نمای SQL View مشاهده کنید.
چنانچه بخواهیم با استفاده از دستورات SQL یک کوئری از نوع Corsstab ایجاد کنیم باید از دستور Transform و PIVOT استفاده کنیم. ملاحظه می کنید که ایجاد چنین کوئری با استفاده از دستورات SQL کمی پیچیده تر از ایجاد آن به روش ویزارد یا دیزاین است. پیشنهاد می کنیم که در این نما تغییرات کوچکی که باعث سادگی کار شما می شود انجام دهید. برای مثال برای خوانایی بیشتر کوئری بهتر است نام و نام خانوادگی را ترکیب کنیم که در جلسات قبل آن را آموزش دادیم. تغییرات به صورت زیر انجام دهید و کوئری را اجرا کنید.
اکنون نام و نام خانوادگی در یک ستون نشان داده می شود. کافیست عنوان (Caption) این ستون را فارسی کنیم.
فیلم آموزشی کوئری Crosstab
درود و عرض ادب حضور شما سرکار خانم درساره. از اینکه میبینم یک خانم اقدام به پیاده سازی چنین بستر مناسبی برای انتقال دانش کرده، خوشحالم و بهتون تبریک میگم. من به دعوت یکی از دوستان خوبم حدود یک هفته پیش عضو گروه تلگرامی شما شدم و سعی کردم به سوالات چند نفر که در حد دانشم بود پاسخ بدم. ایام به کام./
سلام.
ممنون از ابراز لطف و محبت شما.
امیدوارم آموزشها برای شما و سایرین مفید بوده باشه.
از اینکه به جمع کاربران آکادمی درساره پیوستید خوشحالم.
ممنونم خانم درساره واقعا آموزشهاتون مفید هستند
سلام.
ممنون از شما بابت کامنت زیباتون.
برای شما و سایر کاربران آکادمی درساره آرزوی موفقیت میکنم.
شاد و سربلند باشید.