PDA

View Full Version : طراحی گزارش داینامیک با کوئری داینامیک تحت وب توسط کاربر نهایی



Exception
شنبه 21 اردیبهشت 1387, 09:38 صبح
سلام،
من دنبال روشی هستم که بتونم به کاربرنهایی امکان ایجاد گزارش با سلیقه خودش رو بدم. بحثهای تا حدودی مشابه این مبحث رو هم دیدم، ولی چیزی که کاملا مشابه سوال خودم باشه پیدا نکردم.
هدف من هم کوئری داینامیک و هم طراحی داینامیک تحت وب (ASP.NET) هست.

برای کوئری داینامیک، هدف اینه که کاربر نهایی بتونه از بین یه سری Tableها (که برنامه نویس معین کرده) فیلدهای دلخواه خودش در گزارش رو انتخاب کنه و روی اونها شرطها، شیوه مرتب سازی، گروه بندی و ... رو انتخاب کنه. خروجی این قسمت کوئری گزارش میشه.

برای طراحی داینامیک هم کاربر باید بتونه تحت وب، گزارش خودش رو ببینه، ترتیب ستونها، اندازه اونها، رنگ و ... رو تنظیم کنه.


در نهایت هم گزارش آماده شده از دو مرحله قبل رو ببینه.

ظاهرا کامپوننتهایی مثل StimulReport این کارها رو تاحدودی و در برنامه های ویندوزی (و نه وب) انجام میدن. اما من میخوام تمام این کارها رو تحت وب انجام بدم.
اگر در این مورد ابزار یا کامپوننت خاصی میشناسید معرفی کنید. البته احتمالا ممکنه ابزاری که هر دو قسمت رو با هم انجام بده وجود نداشته باشه. در این صورت ابزارهایی که در هر قسمت میتونه کمک کنه رو معرفی کنید.
اگر هم کامپوننت خاصی در این مورد نمیشناسید، روش پیشنهادی خودتون رو بگید.

twelve
شنبه 21 اردیبهشت 1387, 10:14 صبح
برای کوئری داینامیک، هدف اینه که کاربر نهایی بتونه از بین یه سری Tableها (که برنامه نویس معین کرده) فیلدهای دلخواه خودش در گزارش رو انتخاب کنه و روی اونها شرطها، شیوه مرتب سازی، گروه بندی و ... رو انتخاب کنه. خروجی این قسمت کوئری گزارش میشه.

شما میخواید از چند جدول برای گزارش گیری مبحث خاصی استفاده کنید ؟؟ یعنی این جدول ها باید حتما از هم جدا باشن و هیچ Join بین اونها نباشه؟!!


برای طراحی داینامیک هم کاربر باید بتونه تحت وب، گزارش خودش رو ببینه، ترتیب ستونها، اندازه اونها، رنگ و ... رو تنظیم کنه.

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

برای طراحی ظاهری هم روش های مختلف سمت کلاینت و سرور وجود داره که هر کدوم روال مخصوص خودشون دارن بستگی به اهداف شما داره.

Exception
شنبه 21 اردیبهشت 1387, 10:30 صبح
شما میخواید از چند جدول برای گزارش گیری مبحث خاصی استفاده کنید ؟؟ یعنی این جدول ها باید حتما از هم جدا باشن و هیچ Join بین اونها نباشه؟!!نه، منظورم این بود که جدولها در صورت لزوم Join بشن. در هر بار گزارش هم ممکنه یه سری فیلد استفاده بشه از Tableهای مختلف.



برای طراحی ظاهری هم روش های مختلف سمت کلاینت و سرور وجود داره که هر کدوم روال مخصوص خودشون دارن بستگی به اهداف شما داره.ترجیحا دنبال روشهای سمت کلاینت هستم. اگر روش خاصی میشناسید توضیح بدید.

Exception
چهارشنبه 25 اردیبهشت 1387, 19:56 عصر
ظاهرا کسی راهی به فکرش نمیرسه.
خودم که یکمی گشتم، استفاده از Report Builder از مجموعه Sql Server Reporting Services رو برای این منظور پیدا کردم. البته دقیقا منطبق بر چیزی که گفته بودم نیست، ولی واقعا عالی بود. فقط برای فارسی کار کردن یکمی مشکل دارم باهش. اگر کسی چیزی در این مورد میدونه ممنون میشم توضیح بده.

البته اگر چیزی پیدا نکنم، راه حل آخر اینه که قسمت ایجاد کوئری داینامیک رو خودم انجام بدم و برای ایجاد گزارش داینامیک هم یه محیط شبیه Report Builder (و البته Web-Based) ایجاد کنم که خروجیش هم یه فایل RDL باشه که رو سرور ریپورتینگ deploy بشه.

خوشحال میشم نظر و پیشنهاداتتون رو بدونم.