PDA

View Full Version : اجرایcommand



maryam_jamshid
دوشنبه 29 بهمن 1386, 10:54 صبح
من از یه view در گزارشگیریم استفاده کردم و با استفاده از parameter fields ،دوتا parameter به نام tarekh1وtarekh2 رکوردهای بین این دوتا تاریخ نمایش میده.
مشکل من اینجاست که حالامیخوام جمع فیلدهای این گزارش رانمایش بده و نمودار اون رو رسم کنه.
من ازیه command استفاده کردم که مجموع این فیلدها رو حساب میکنه متاسفانه اول command اجرا میشه بعد رکوردها رو پیدا میکنه.
من میخوام این command بعد از پیدا کردن رکوردها اجرا بشه چطوری میشه انجام داد؟؟

sm
دوشنبه 29 بهمن 1386, 12:56 عصر
خوب Command رو اصلاح کنین و اول بگین رکوردها رو بیاره...
Command رو اینجا بزارین.

موفق باشید

maryam_jamshid
دوشنبه 29 بهمن 1386, 13:31 عصر
SELECT *
FROM (SELECT N' اختلال ' AS name, COUNT(ekhtelal) AS num
FROM elatemoraje
WHERE ekhtelal = 'True'
UNION
SELECT 'اضطراب' AS name, COUNT(ezterab) AS num
FROM elatemoraje
WHERE ezterab = 'True'
UNION
SELECT ' سازگاری ' AS name, COUNT(sazgari) AS num
FROM elatemoraje
WHERE sazgari = 'True '
UNION
SELECT ' شخصیتی' AS name, COUNT(shakhseyati) AS num
FROM elatemoraje
WHERE shakhseyati = 'True') DERIVEDTBL

reza_rad
سه شنبه 30 بهمن 1386, 09:28 صبح
ببینید شما می خوای این کامند بعد از اینکه گزارش کریستال شما نشون داده شد اجرا بشه؟ درسته یا من متوجه نشدم؟

maryam_jamshid
سه شنبه 30 بهمن 1386, 09:48 صبح
بله ،من میخوام این کامند بعد از اینکه گزارش کریستال نشون داده شد اجرا بشه.

reza_rad
سه شنبه 30 بهمن 1386, 09:56 صبح
من میخوام این کامند بعد از اینکه گزارش کریستال نشون داده شد اجرا بشه.
خب این کامند شما یک سلکت هست اجرای اون بعد از نمایش گزارش کریستال شما چه معنایی می تونه داشته باشه؟! آیا شما می خواهید از نتیجه این سلکت در گزارش کریستال تون چیزی نمایش داده بشه؟ اگه همینطوره پس این کامند رو قبل از نمایش گزارش تون اجرا کنید و نتیجه رو به گزارش کریستال بفرستید. اگه هم قراره این سلکت چیزی رو نشون نده که عملا بی معناست.

maryam_jamshid
سه شنبه 30 بهمن 1386, 10:05 صبح
ببخشید من خوب بیان نکردم :

من از یه view در گزارشگیریم استفاده کردم و با استفاده از parameter fields ،دوتا parameter به نام tarekh1وtarekh2 رکوردهای بین این دوتا تاریخ نمایش میده.
مشکل من اینجاست که حالامیخوام جمع فیلدهای این گزارش رانمایش بده و نمودار اون رو رسم کنه.
من ازیه command استفاده کردم که مجموع این فیلدها رو حساب میکنه متاسفانه اول command اجرا میشه بعد رکوردها رو پیدا میکنه.
من میخوام این command بعد از پیدا کردن رکوردها اجرا بشه چطوری میشه انجام داد؟؟
در واقع من میخوام command روی رکوردهای فیلتر شده براساس تاریخ اجرا بشه،نه قبل از فیلتر شده رکوردها براساس تاریخ.
اگه نمیشه از چه روشی برای حل این مشکم میشه استفاده کرد.من دستورات داخل command هم رو قبلا توی این صفحه گذاشتم.

reza_rad
سه شنبه 30 بهمن 1386, 10:30 صبح
بذارید یه جور دیگه مطرحش کنیم:
شما یه سلکتی داری که فیلتر میشه بر اساس تاریخ و بعد در کریستال نمایش داده میشه.
حالا می خوای یه کوئری روی این سلکت فیلتر شده بزنی .

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

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

maryam_jamshid
سه شنبه 30 بهمن 1386, 10:42 صبح
ببینید فرض کنیم من از command استفاده نکنم.و گزارشم رو براساس دو پارامتر فیلتر کنم و سپس میخوام باستفاده از فرمولها چند تا فرمول تعریف کنم که کار مجموع هریک از فیلدهارو حساب بکنه حالا میخوام تمامی این فرمول ها رو به یک فرمول به نام count نسبت بدم چون میخوام یه نمودار براساس مقادیر count رسم کنم.
نسبت دادن این مجموع فیلدهای مختلف به فرمولی به نام count چطوریه؟؟؟
با تشکر