نقل قول: تهيه گزارش آمار ساليانه
دوست عزيز من سلام
- تعداد فيلد ها هر سال حدود سه هزار تا مي رسه. مشكلي كه بوجود مي آد شروع شدن شماره ها از عدد يك براي هر سال هست كه مجبور شدم ديتابيس ها رو جدا كنم.
- تيبل ها هم به هم لينك نيستند.
- يه رديف صفر هم اضافه مي كنه كه در نمونه بهتر منظورم رو مي تونم برسونم.
- بزرگوار چطور مي شه همين يا يه گزارشي شبيه به اين رو بصورت درصد ساخت؟ مثلا تعداد نمونه هاي شيراز 20% كل نمونه هاي سال بوده و 10% نمونه هاي فروردين ماه.
51.rar
نقل قول: تهيه گزارش آمار ساليانه
ممنون مي شم راهنمايي بفرمائيد.
نقل قول: تهيه گزارش آمار ساليانه
نقل قول: تهيه گزارش آمار ساليانه
سلام دوست من
نمونه کوئری شما روی سیستم من خطای زبان ذخیره سازی میده...!!!:گیج:
همچنین وقتی ریپورت رو تغییر میدم اجازه ثبت به همون دلیل بالا رو نمیده...!!!:متفکر:
این سطر رو به تب data و قسمت filter ریپورتتون اضافه کنید:
Table.address <> null
اینجوری مشکل سطر با اطلاعات 0 حل میشه فکر کنم.
در مورد گزارش درصدی هم لطفا بگید چجوری میخواهید اطلاعات نمایش داده بشه، نوع نمایش خیلی مهمه(مثل پست اولتون توی همین تاپیک)
موفق باشید.
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام دوست خوب من
1- كدي رو كه پيشنهاد داديد گذاشتم ولي همچنان صفرها برقرارند
2- گزارش درصدي چيزي شبيه به تصوير زير رو مي شه ساخت؟
ضمیمه 68662
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
نقل قول:
نوشته شده توسط
arman2000
سلام دوست خوب من
1- كدي رو كه پيشنهاد داديد گذاشتم ولي همچنان صفرها برقرارند
سلام
من كه گذاشتم، شد...:چشمک:
اينم مدركش و عكسش
ضمیمه 68723
موفق باشيد
نقل قول: تهيه گزارش آمار ساليانه
نقل قول:
نوشته شده توسط
arman2000
مثلا تعداد نمونه هاي شيراز 20% كل نمونه هاي سال بوده و 10% نمونه هاي فروردين ماه.
...
2- گزارش درصدي چيزي شبيه به تصوير زير رو مي شه ساخت؟
ضمیمه 68662
بالاخره كدومش مد نظر هست؟
مثال درصد سالانه هستش
عكس درصد ماهانه
حالا درصد ماهانه يا سالانه!!!؟؟؟
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام بزرگوار
1- آره درست شد. من Filter On Load رو NO گذاشته بودم.
2- دوست من تصویر رو تصحیح کردم. ببخشید :چشمک:. برای یه دیتابیس دیگه هم می خواستم که اونجا درصد مواردی که مثلا مقدار تست شماره 2 یک شهر، بین 1 تا 4 باشه و ... (البته هم برای ماه و هم برای سال). برای همچین موردهایی می شه از کدهایی که در این نمونه می ذاریم برای اون هم استفاده کرد یا قصه اش جداست؟
ضمیمه 68739تشکر ویژه بابت راهنمائی های عالی شما :قلب::قلب::تشویق::تشویق::بوس:: وس:
نقل قول: تهيه گزارش آمار ساليانه
دوست من ممنون می شم راهنمائی بفرمائید.
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام
جواب سوال دوم شما، همون جدولي كه كشيديد، همون روز3 شنبه حاضر بود.
جسارتا آپلود نكردم تا يه كم بيشتر روش كار كنيد.
خيلي خوبه كه سوال ميپرسيد، و خيلي خوبتر ميشه، اگر كه از كد نويسي نترسيد.
با توجه به كدهايي كه تا امروز با هم و دوستان عزيز ديگه كار كرديم، طراحي اين گزارش و خيلي گزارشهاي ديگه براي شما قابل انجامه.
جمع برنامه نويس و نظر شخصي بنده اينه كه سره نخ توسط دوستان داده بشه و خودمون بريم قرقره نخ رو تموم كنيم:بامزه:.
دوست من از كد نويسي نترسيد
موفق باشيد.
2 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام دوست خوب من
بزرگوار ممنونم از راهنمائی های عالی شما :تشویق::تشویق::تشویق:
عزیز به کوئری نمونه ای که ضمیمه کردم، شرط WHERE (test1) Is Not Null
رو اضافه کردم پیغام زیر رو می ده که در واقع چون برای همه ماهها، رکورد ندارم دلیل نمایش این پیغام هست. چطور می شه این مشکل رو حل کرد؟
نقل قول: تهيه گزارش آمار ساليانه
نقل قول:
نوشته شده توسط
arman2000
سلام دوست خوب من
بزرگوار ممنونم از راهنمائی های عالی شما :تشویق::تشویق::تشویق:
عزیز به کوئری نمونه ای که ضمیمه کردم، شرط
WHERE (test1) Is Not Null
رو اضافه کردم پیغام زیر رو می ده که در واقع چون برای همه ماهها، رکورد ندارم دلیل نمایش این پیغام هست. چطور می شه این مشکل رو حل کرد؟
سلام
یه کوچولو دقت نکردی
این شرط رو باید موقع نمایش بذاری فقط، روی ریپورت فقط.
چرا؟
سوال خوبیه، چون ما در کوئری 3 کراس تب کردیم ماههای سال رو با تاریخ تستها، و لازم داریم که شهری باشه که در تمام تاریخها تست داشته باشه( که عملا شما در جدولتون ندارید)
بنابراین در کوئری ، ما نباید این شرط رو بذاریم، وگرنه ماههایی که تست نداریم در کوئری نمایش داده نمیشه و ریپورت هم نمیتونه اونهارو پیدا کنه و خطای پیدا نکردن یه ماه رو میده.
موفق باشید.
نقل قول: تهيه گزارش آمار ساليانه
سلام
عزیز در قسمت Filter ریپورت منظورتون هست؟ test1 Is Not Null رو در اون گذاشتم ولی پیغام داد.
در ضمن همونطوری که در تصویر پست 56 (فیلتر کردن ریپورت) گفته بودید، در قسمت Filter ریپورت، address Is Not Null هم هست.
نقل قول: تهيه گزارش آمار ساليانه
نقل قول:
نوشته شده توسط
arman2000
سلام
عزیز در قسمت Filter ریپورت منظورتون هست؟ test1 Is Not Null رو در اون گذاشتم ولی پیغام داد.
در ضمن همونطوری که در تصویر پست 60 (فیلتر کردن ریپورت) گفته بودید، در قسمت Filter ریپورت، address Is Not Null هم هست.
سلام
ببين اين كوئري شماست درسته:
TRANSFORM IIf(Count(Table.address) Is Null,'0',Count(Table.address)) AS Expr1
SELECT Table.address, count(address)
FROM [Table] RIGHT JOIN Tmah ON Mid(Table.date,6,2)=Tmah.mahNum
WHERE (test1) Is Not Null
GROUP BY Table.address
PIVOT Tmah.mahName;
سطر قرمز رنگ داره كوئري شما رو محدود ميكنه و اجازه نميده كه تمام ماهها در كوئري نمايش داده بشن، فيلتر كردن در كوئري اينجا جايز نيست به همون دليلي كه در پست قبلي گفتم.
فيلتر در قسمت Filter ریپورت فقط بايد انجام بشه، تا منظور شما حاصل بشه.
موفق باشيد.
2 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام دوست من
بزرگوار صحيح مي فرمائيد. در مورد كوئري كه مشكلي نيست.
1- منظور من هم همون فيلتر ريپورت بود چون همين كد (WHERE (test1) Is Not Null) رو در قسمت Filter ریپورت گذاشتم ولي جواب نداد. اونو با كد test1 Is Not Null عوض كردم باز هم نشد.
ضمیمه 68917
2- در پست 56 همين تاپيك هم در قسمت فيلتر ريپورت، كد address Is Not Null رو براي حذف صفرهاي رديف اول پيشنهاد داده بوديد. اگه بخوايم شرطي رو اضافه كنيم به فيلتر (مثل شرط فوق: خالي نبودن فيلد test1) با كلمه And اين دو تا رو يكي كنم؟
ضمیمه 68918
نقل قول: تهيه گزارش آمار ساليانه
سلام
بله کلمه ربط AND هستش.
ولی فکر میکنید جواب بگیرید...؟؟
test1 جزو فیلدهای کوئری شما هست؟ که حالا میخواهید اونو در ریپورت فیلتر کنید؟
موفق باشید.
نقل قول: تهيه گزارش آمار ساليانه
سلام دوست من
شما مي فرمائيد كه: "فيلتر در قسمت Filter ریپورت فقط بايد انجام بشه" و "test1 جزو فیلدهای کوئری نيست که اونو در ریپورت فیلتر کنم" پس يا منظورتون رو از "Filter ریپورت" متوجه نمي شم (يعني منظور، Filter در تصوير پست 65 نيست)،:گیج: يا اول بايد در كوئري تغييري بدم بعد در ريپورت، فيلتر كنم. و يا... :گریه::گریه:
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام
اینا دو تا موضوع جدا هستن.
این عکسو ببین:
ضمیمه 68971
اگر در کوئری فیلتر کنی دیگه بعضی از ماهها رو که در ریپورت بهشون نیاز دارى دیده نمیشن و کنارشون یه علامت سبز رنگ دیده میشه که میگه اطلاعاتی برای نمایش ندارن و در نتیجه خطای پست 61 رو میده.
این تمام.
موضوع بعدی
در پست 65 قسمت دوم گفتی:
نقل قول:
(مثل شرط فوق: خالي نبودن فيلد test1)
من یه قدم جلوتر رفتم و از شما سوال کردم:
نقل قول:
ولی فکر میکنید جواب بگیرید...؟؟
test1 جزو فیلدهای کوئری شما هست؟ که حالا میخواهید اونو در ریپورت فیلتر کنید؟
حالا جواب
بله، شما باید کوئری بنویسید که test1 باشه توش، جمعی، تفریقی، نمایشی چیزی روش انجام بدید====> در ریپورت فیلتر کنید.
:کف::افسرده::اشتباه:(کف کردم:چشمک:)
موفق باشید.
1 ضمیمه
نقل قول: تهيه گزارش آمار ساليانه
سلام
عزيز كد زير رو گذاشتم ولي هر شهر به تعدادي كه ركورد داره مي آد نه يكجا مثل دوبار شيراز تكرار مي شه:
ضمیمه 69099
TRANSFORM IIf(Count(Table.test1) Is Null,'0',Count(Table.test1)) AS Expr2
SELECT Table.test1, count(test1), Table.address
FROM [Table] RIGHT JOIN Tmah ON Mid(Table.date,6,2)=Tmah.mahNum
GROUP BY Table.address, Table.test1
PIVOT Tmah.mahName;
https://barnamenevis.org/images/misc/pencil.png
نقل قول: تهيه گزارش آمار ساليانه
نقل قول:
نوشته شده توسط
arman2000
سلام
عزيز كد زير رو گذاشتم ولي هر شهر به تعدادي كه ركورد داره مي آد نه يكجا مثل دوبار شيراز تكرار مي شه:
ضمیمه 69099
TRANSFORM IIf(Count(Table.test1) Is Null,'0',Count(Table.test1)) AS Expr2
SELECT Table.test1, count(test1), Table.address
FROM [Table] RIGHT JOIN Tmah ON Mid(Table.date,6,2)=Tmah.mahNum
GROUP BY Table.address, Table.test1
PIVOT Tmah.mahName;
https://barnamenevis.org/images/misc/pencil.png
سلام
با اینکه از نتیجه کوئری سر در نیاوردم، ولی... تا اینجا، کدی نوشتی که به 1 دردی بخوره .
حالا چرا تعجب میکنی که تکراریه؟
کدی که نوشتید اینو میخواد و کوئری هم دستور شمارو اجرا میکنه
کد شما میگه گروپ بای کن شهری که شیرازه با تعداد تست1 در ماههای مختلف...
انتظار ندارید که تست1 با مقدار 0 و 4 با هم گروپ بای بشن؟
پس میشه دوتا شیراز، یکی با تست1 برابر 0 و یکی برابر 4
موفق باشید.
نقل قول: تهيه گزارش آمار ساليانه
من يك گزارش دارم كه شبيه اينه ولي به جاي ماه هاي سال بايد تعداد روزهاي بين تاريخ قرار بگيره.
و نكته اينجاست كه اگر تعداد ستون بيش از يك صفحه شد برود به صفحه بعد و به همين منوال ادامه پيدا مي كنه.
براي اين گزارش چه روشي ميشه استفاده كرد.