فواد نورانیان
فواد نورانیان
خواندن ۵ دقیقه·۳ سال پیش

SSRS(SqlServerReportingService)

Microsoft SQL Server Reporting Services – SSRS در یک کلام؟

SSRS یک ابزار تولید گزارش است که کمک می کند تا افراد مختلف از سطوح و حتی مکان های مختلف سازمان به گزارشات متعددی که توسط این برنامه طراحی شده اند دسترسی داشته. از آنجایی که SSRS یکی از اجزاء مجموعه SQL Server است، بنابراین، قاعدتا این نرم افزار مبتنی بر سرور کار می کند و داده‌های خود را از دیگر اجزاء SQL Server دریافت خواهد کرد.

اما میدانیم که خیلی از شرکت ها از SQL Server استفاده نمی کنند. به همین دلیل SSRS این قابلیت را دارد که داده‌های خود را از دیگر پایگاه های داده رابطه ای (Relational Databases) همچون Oracle و همچنین دیگر منابع داده ای مثل SQL Server Analysis Services (SSAS)، Teradata، انبارهای داده موازی (Parallel Data Warehouse) و حتی فایل های XML و غیره دریافت کند.

توضیحات بیشتر در مورد SQL Server Analysis Services (SSAS) را در اینجا میتوانید مشاهده کنید.

از چه عناصری می توان در گزارشات SSRS استفاده کرد؟

SSRS تقریبا امکان استفاده از تمامی عناصر متداول در تهیه گزارشات همچون جداول، نمودار، بخصوص نمودار روند (Sparkline) و همچنین نقشه را به تمامی کاربران می دهد.

SSRS این قابلیت را دارد که افراد از طریق سیستمی به نام Subscription یک اشتراک سفارشی دریافت کنند و طبق زمان های مشخص شده برای مثال، ساعتی، روزانه، هفتگی، ماهانه و غیره گزارشات مورد نیاز خود در پوشه ای تعریف شده دریافت کنند. SSRS کمک می کند تا بتوانیم گزارشات را در نرم افزارهای تحت وب یا ویندوز دریافت کنیم یا از طریق SharePoint به کاربران توزیع کنیم.

اجزاء یک گزارش در SSRS

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

  • عنصر اول :چگونه به داده ها دسترسی پیدا کنیم؟

اول از همه، اینکه داده‌های گزارشی که می خواهیم طراحی کنیم از کجا خوانده می شوند یا اصلاحا منبع داده‌های ما (Data Source) کجاست؟

به بیانی ساده تر، پایگاه داده ما دقیقا بر روی چه سرور یا کامپیوتری قرار گرفته است. چگونه می شود به آن دسترسی داشت؟

مسلما بر روی هر سرور یا کامپیوتری، چندین پایگاه داده وجود دارد. هدف ما دقیقا کدام یکی از پایگاه های داده است؟

در نهایت، برای اینکه به پایگاه داده مورد نظر خود وصل شویم، چه اجازه هایی را نیاز داریم؟


  • عنصر دوم:کدام بخش از داده ها را میخواهیم؟

بعد از اینکه منبع داده‌های خود را مشخص کردیم، حالا باید انتخاب کنیم که دقیقا چه بخشی از پایگاه داده را می خواهیم یا اصطلاحا Data Set مد نظر ما چیست.

  • عنصر سوم:چگونه داده ها را نمایش دهیم؟

حال که هم به منبع داده‌ها وصل شده ایم و دقیقا هم می دانیم که چه بخشی از داده‌ها را می خواهیم گزارش دهیم، این سوال مطرح می شود که چگونه داده‌ها را نمایش دهیم که بیشتر تاثیر گذار باشند.

سوالاتی همچون اینکه از چه فونت و رنگی استفاده کنیم یا اینکه چه نموداری را بکار گیریم تا مفهوم به بهترین شکل رسانده شود، بسیار ابتدایی بنظر می رسند اما در عمل اهمیت آنها پررنگ خواهد شد. همچنین، آیا به کاربر اجازه بدهیم که با گزارشات تعامل داشته باشد یا خیر.

انواع گزارشات و ساختار آن ها

به طور کلی دو نوع گزارش در RS موجود است:

  • Client Report
  • Server Report

در Visual Studio 2005 به بعد کنترل جدیدی به آن افزوده شد با نام MicrosoftReportViewer که مخصوص نمایش گزارشات بود.

گزارشات فایلهایی با پسوند rdl برای گزارش remote و rdlc برای گزارش clientهستند که میتوانید آن را به پروژه خود بیفزایید.

پس از افزودن آن چندین ابزار به شما برای ساخت گزارش داده خواهد شد. شما میتوانید با این ابزارها گزارش مورد نظر خود را بسازید.

گزارش از نوع RDL

RDL یک مدل بر مبنای XML است که هر عنصر گزارش مانند قالب بندی، اطلاعات dataset، grouping و sorting، پارامترها و فیلترها را تعریف میکند. همانطور که شما آیتمی را اضافه میکنید، این ساختار دچار تغییرات میشود.
در IDE این ساختار از شما مخفیست ولی در صورت نیاز به تغییر کلی در گزارشات ، میتوانید از find and replace در این ساختار به صورت مستقیم استفاده نمایید.

در VS 2005 و بعد از آن با زدن دکمه F7 در زمان کار با گزارش میتوانید این ساختار را ببینید. در نسخه ۲۰۰۵ نه ابزار برای ساخت گزارش وجود داشت که در نسخه ۲۰۰۸ کمی تغییر کردند.

هر گزارش شامل سه بخش ۱- Header ۲- Body ۳- Footer است که در هرکدام از برخی از این ابزار میتوان استفاده کرد. شما میتوانید از امکانات زیر در گزارشات استفاده نمایید:

  • نوشتن expression برای اکثر اجزای گزارش مثلا امکان visibility و …
  • استفاده از توابع از قبل آماده در نوشتن expression
  • نوشتن expression با زبان VB (مثلا مد تغییر تاریخ)
  • استفاده از پارامترها برای نوشتن query پویا
  • استفاده از فایلهای اسمبلی (dll) : مثلا نوشتن تابعی با زبان c# و استفاده ازآن در گزارش
  • کنترل قوی روی اجزا گزارش
  • امکان قرار دادن sorting و filter بر اساس عناصر محتلف گزارش
  • امکان استفاده از گروه بندی های داده ای تودرتو
  • امکان دادن به کاربر برای ساختن گزارشات دلخواه با استفاده از report model

ابزارهای SSRS

Report Manager
این یک برنامه browser base همراه با (SSRS(SQL Server Reporting Services است که محیطی گرافیکی را برای کاربران مهیا میکند که توسط آن میتوانند گزارشات را ببینند یا چاپ کنند، یا اینکه گزارشات را برای بخشهای مختلف مدیریت کنند.

SQL Server Business Intelligence Development Studio (BIDS)

اگر شما روی سیستم خود Visual Studio نداشته باشید و SQL Server Reporting Services)SSRS) را نصب کنید، خود SQL Server برای شما Visual Studio IDE را برای شما نصب میکند تا شما بتوانید به راحتی به طراحی و تست گزارشات خود بپردازید.

این IDE را با نام SQL Server Business Intelligence Development Studio نصب کرده و با انتخاب آن میتوانید به راحتی به آن دست یابید. البته باید بگویم برای ساخت گزارشات وجود این IDE الزامی نیست.

ابزارهای Command-line: شما میتوانید از چندین ابزار Command-line مانند rs ، rsconfig و RSKeyMgmt برای پیکربندی و مدیریت محیط SSRS استفاده نمایید.

Reporting Services Configuration Manager: ابزاری برای پیکربندی به صورت گرافیکیست که از نسخه ۲۰۰۵ به بعد به وجود آمد.

شاید از این پست‌ها خوشتان بیاید