آشنایی کامل با SSRS(آشنایی با سرویس گزارشگیر ماکروسافت)

به دنبال نمایش گزارشات حرفه ای به کاربران سایت هستید؟ می خواهید بیشتر در مورد سرویس گزارش گیر ماکروسافت بدانید؟ به دنبال یک سرویس قدرتمند می گردید؟با ما همراه شوید

به منظور مشاوره آنلاین رایگان در خصوص SSRS و مباحث بی آی با آی دی تلگرامی Research_moghimi@ ارتباط برقرار کنید یا با شماره تلفن ۰۹۳۶۷۹۳۸۰۱۸ مقیمی ارتباط برقرار کنید. دوره های خصوصی و آنلاین ما از دوره های عمومی شرکت و موسسات بسیار ارزانتر است آنها را از اینجا مشاهده کنید.

SSRS چیست و چه مزایایی دارد؟

در هر سازمانی واحد های مختلفی وجود دارند که در تلاشند تا گزارشات مختلفی از داده‌های خود بدست آورند.

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

 

 

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 را نصب کنید در یکی از مراحل باید Reporting Service را برای نصب انتخاب کنید.

در ادامه باید تیک مربوط به Configure کردن خودکار Reporting Server را بزنید. اگر این گزینه را انتخاب نکنبد باید عملیات پیکربندی را به صورت دستی انجام دهید.

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

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

SSRS کمک می کند تا بتوانیم گزارشات را در نرم افزارهای تحت وب یا ویندوز دریافت کنیم یا از طریق SharePoint به کاربران توزیع کنیم.

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

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

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

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

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

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

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

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

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

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

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

معماری SSRS

سه کامپوننت اصلی وجود دارد که با یکدیگر کار کرده و SSRS را به یک برنامه چندلایه واقعی تبدیل میکند. این سه عبارتند از :

Client
Report Server
SQL Server Report Databases
نصب SSRS دو پایگاه داده برای شما میسازد :

ReportServer

این پایگاه داده اصلی است که تمامی اطلاعات را از فایل RDL منتشر شدهدر حود ذخیره میکند. همچنین مواردی چون خصوصیات گزارش (مانند data sourceها)، پارامترها و فایلهای لاگ را در خود نگهداری میکند.

ReportServerTempDB

این پایگاه داده کپیهای cach شده گزارشات را برای بالا بردن کارایی به جهت استفاده همزمان کاربران در خود دارد.

با این مکانیزم این اطمینان را داشته باشیم که حتی در صورت restart شدن سرور باز هم گزارشات در دسترس هستند.SSRS Report Server مهمترین نقش را در مدل SSRS ایفا میکند.

برای هر درخواست از سمت client برای render کردن یک گزارش یا برای انجام یک درخواست مدیریتی مانند ساخت یک subscription مسئول است.

شما متوانید یک report server را با توجه به عملیاتهای مختلف به چندین زیربخش تفکیک کنید :

Programming interface

Report processing

Data processing

Report rendering

Report scheduling and delivery

SSRS Web Service Interface

رابط برنامه نویسی که به عنوان API های .NET Web Service و متدهای دسترسی URL ظاهر میشوند، تمامی درخواستهای ورودی از client ها را خواه درخواست گزارش باشد، خواه درخواست مدیریتی، اداره میکند.

با توجه به نوع درخواست، رابط برنامه نویسی با دسترسی به پایگاه داده Report Server یا ارسال آن به کامپوننت دیگر برای پردازش اقدام میکند.

Report Processor :

این کامپوننت مسئول تمامی درخواستهای گزارش است.

مانند رابط برنامه نویسی، مستقیما به پایگاه داده ReportServer متصل میشود تا اطلاعات مربوط به تعریف گزارش را دریافت کند که این اطلاعات بعدا برای ترکیب با اطلاعات data source و ساخت گزارش به کار میرود.

Data Processing

Data Processing  چهار نوع الحاقیه برای اتصال به پایگاه داده حمایت میکند :

SQL Server
Oracle
OLE DB
ODBC
وقتی که این کامپوننت یک درخواست را Report Processor دریافت میکند، یک اتصال به data source میزند و آن را به query منبع ارسال میکند. داده بازگردانده شده و به Report Processor فرستاده میشود تا با تعریف گزارش ترکیب شود.

Report Rendering

این کامپوننت وظیفه render گزارش در فرمت مورد نظ را دارد. فرمتهای مورد حمایت عبارتند از :

HTML

PDF

ü HTML با استفاده از کامپوننتهای وبی Office

Excel

CSV

MHTML

TIFF

برنامه های Client

SSRS شامل چندی برنامه است که از آن استفاده میکنند. این برنامه ها و ابزارها، مدیریت Report Server ، پیاده سازی امنیت و وظایف render کردن گزارش را برای مهیا میکنند.

ابزارهای SSRS

۱- Report Manager

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

۲-SQL Server Business Intelligence Development Studio (BIDS):

اگر شما روی سیستم خود Visual Studio نداشته باشید و 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: ابزاری برای پیکربندی به صورت گرافیکیست که از نسخه ۲۰۰۵ به بعد به وجود آمد.

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

به طور کلی دو نوع گزارش در 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 بر اساس عناصر محتلف گزارش

امکان استفاده از گروه بندی های داده ای تودرتو

امکان استفاده از stored procedure و text query به عنوان dataset

امکان ساخت گزارشات تعاملی مثلا استفاده از زیرگزارشات

استفاده از چندین dataset به عنوان تامین کننده داده

امکان دادن به کاربر برای ساختن گزارشات دلخواه با استفاده از report model

تفاوتهای موجود بین دو نوع گزارش

ساختار گزارشات rdl و rdlc کاملا شبیه هم است ولی در نحوه اجرا و تامین داده با هم کم متفاوت هستند. تفاوتهای موجود را به ترتیب در زیر بیان میکنم :

۱- گزارشات server باید در یک پروژه از نوع report server project و در محیط BIDS افزوده شوند در صورتیکه گزارشات client در یک پروژه معمولی .NET اضافه میشوند.

۲- گزارشات server از یک query مستقیم که به صورت stored procedure یا text است به عنوان تامین کننده داده استفاده میکنند .

در حالی که گزارشات client باید در کد مقداردهی شوند. مثلا داده مربوط به آنها میتواند توسط یک dataset یا یک xml data source تامین شود. در ضمن برای انجام این کار احتیاج به نوشتن مقداری کد مثلا در c# است.

۳-برای نمایش داده شدن گزارشات server کنترل MicrosoftReportViewer صرفا وظیفه نمایش گزارش در انتهای عملیات را دارد و تمام عملیات برای تهیه گزارش و render آن در report server انجام میشود.

این در حالیست که برای نمایش گزارش client کنترل MicrosoftReportViewer نقش اساسی را انجام میدهد و عملیات render شدن گزارش در این کنترل انجام میشود.

۴-گزارشات client به نصب SSRS نیازی ندارند در حالیکه گزارشات server بدون این کار قابل دسترسی نیستند.

۵- کنترل MicrosoftReportViewer در گزارشات client و در نسخه ۲۰۰۵ دارای دکمه چاپ نبودند ولی گزارشات server این مشکل را نداشتند. البته لازم به ذکر است این مشکل در نسخه ۲۰۰۸ حل شده است.

۶-گزارشات client نیازی به publish روی report server ندارند در حالیکه گزارشات server برای اجرا شدن حتما باید publish شوند.

کلمات کلیدی :

سرویس گزارش گیری ماکروسافت، کار با ریپورت بیلدر؛ کار با SSRS ؛ کار با گزارش های اولپی

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

به پژوهشیار خوش آمدید. نیاز به مشاوره آنلاین دارید؟ ما همیشه آنلاین هستیم پس کلیک کنید