View Full Version : نحوه میانگین گیری کلی
majidsoft
شنبه 28 شهریور 1388, 20:44 عصر
با سلام من وقتی گزارشم رو به کریستال می فرستم با توابع مثلا میانگین فقط مقادیر داخل ریپورت را می گیره حالا اگه بخواهم مثلا میانگین تمام فیلدهای توی دیتابیس را بگیرم چگونه اینکار امکان پذیر می باشد
با تشکر
mn_zandy63
شنبه 28 شهریور 1388, 23:37 عصر
سلام دوست عزیز منظورت از مقادیر داخل کریستال و مقادیر داخل دیتابیس چیه؟
منظورت اینه که همه رکورد ها رو نخوندی و فقط تعدادیشون رو فرستادی به گزارش؟
majidsoft
شنبه 28 شهریور 1388, 23:42 عصر
با سلام
ببین دوست عزیز من هنگام اجرای کریستال داده ها را فیلتر می کنم مثلا داده هایی که دارای کد یک هستند ولی در دیتابیس داده هایی مثلا با کد دو و سه نیز وجود دارد حالا من می خواهم از تمام داده های درون دیتابیس مثلا میانگین بگیرم نه داده های نمایش داده شده در کریستال
امیدوارم منظورم را رسانده باشم
با تشکر
mn_zandy63
یک شنبه 29 شهریور 1388, 00:37 صبح
فقط یه سوال دیگه :چشمک:
منظورت از اینکه فیلتر میکنی اینه که توی کوئریت فیلتر میکنی و اصلا به کریستال نمیفرستی
یا اینکه داخل کریستال فیلتر میکنی و فقط بعضی ها رو نمایش میدی؟
majidsoft
یک شنبه 29 شهریور 1388, 02:11 صبح
با سلام
من الان کد برنامه همراهم نیست تا برایت بگذارم دیتابیس من حاوی یک سری داده آماری می باشد هنگام کلیک بر روی دکمه گزارش یک مقدار می گیره که نشان دهنده دوره است و بعد یک QUERY می زنم در دیتابیس دنبال فیلدهای حاوی مثلا دوره یک می گردم و REPORT SOURCE را پر کرده و گزارش می گیرم یعنی دیتابیس من حاوی دوره های دیگری نیز می باشد که در ریپورت نمی آید ولی من می خواهم مثلا جمع فیلدهای تناژ تمام دوره ها را داشته باشم که دوره های دیگر در ریپورت موجود نیستند و توابع کریستال فقط عدد های داخل ریپورت را می گیرند
mn_zandy63
یک شنبه 29 شهریور 1388, 15:45 عصر
سلام دوست عزیز
خب اگه درست متوجه شده باشم، خودت داری میگی که اطلاعات رو برای کریستال نمیفرستی بنابراین نمیتونی انتظار داشته باشی که کریستال بتونه میانگین بگیره از داده هایی که نداره.
قبل از اینکه داد بزنی که خودم میدونم منظورم فلانه :چشمک:
تنها راهی که به ذهن من میرسه، اینه که با کوئری SQL روی کل جدولت میانگین بگیر و نتیجه رو اگه قراره توی همون گزارش استفاده کنی، به عنوان یک پارامتر بفرست برای کریستال.
حالا اگه خودت اینو میدونستی، یا اصلا مشکلت ربطی به چیزی که من برات توضیح دادم نداره، بگو تا بیشتر توضیح بدم، یا دوستان راه حل بهتری پیشنهاد بدن. :چشمک:
موفق باشی.
majidsoft
یک شنبه 29 شهریور 1388, 23:50 عصر
با سلام
بابا ما را خیلی خشن فرض کردین اینجوریا هم نیست
من برای گرفتن میانگین از حلقه استفاده می کنم اگه ممکنه query میانگین گیری را برایم بگذار و نحوه فرستادن آن را نیز به کریستال (یعنی وقتی که ما در برنامه میانگین گرفتیم چطور آنرا به برنامه بفرستیم{من نحوه فرستادن یک عدد به آدرس یک فیلد در کریستال را می خوام})
mn_zandy63
دوشنبه 30 شهریور 1388, 23:52 عصر
سلام دوست عزیز
:چشمک: شوخی بود
باید GroupBy کنی کوئریت رو، و از تابع میانگین SQL استفاده کنی :چشمک:
اینجا (http://lmgtfy.com/?q=sql+average+function) رو ببین.
اگه نتونستی خودت انجامش بدی، فیلدهای دیتابیست رو که داری روشون کوئری میزنی بنویس اینجا تا یه نمونه برات بنویسم.
برای اینکه مقدار این میانگین رو بفرستی برای کریستال، میتونی یک پارامتر برای گزارشت تعریف کنی، و از داخل کد اون رو مقدار دهی کنی.
برای اون هم اینجا (http://lmgtfy.com/?q=%D8%A7%D8%B1%D8%B3%D8%A7%D9%84+%D9%BE%D8%A7%D8% B1%D8%A7%D9%85%D8%AA%D8%B1+%D8%A8%D8%B1%D8%A7%DB%8 C+%DA%A9%D8%B1%DB%8C%D8%B3%D8%AA%D8%A7%D9%84) رو ببین
در کل به طور خلاصه بخوام بهت بگم، باید با تابع SetParameterValue اینکار رو انجام بدی. و داخل گزارشت از اون پارامتر استفاده کنی. به همین راحتی.
اگه جاییش گنگ بود، در خدمتم.:چشمک:
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.