PDA

View Full Version : مشکل در جمع تجمعی



amp_1356
سه شنبه 05 مرداد 1400, 09:22 صبح
سلام خدمت دوستان
من یه مشکل در جمع تجمعی در کوئری دارم. ببنید جدول من 20 رکورد دارد و همه عدد های فیلد Fi در جدول T1 عدد 180000 هست به جز ردیف 16 که عدد 360000 هست. تا قبل از این عدد یعنی ردیف 15 در کوئری جمع تجمعی درست هست اما وقتی به این ردیف می رسیم عدد جمع تجمعی غیر منطقی هست و رکوردهای بعدی نیز اشتباه می شه.
خواهش می کنم دوستان کمک کنید.
نمونه فایل هم ضمیمه است

mazoolagh
سه شنبه 05 مرداد 1400, 11:33 صبح
سلام و روز خوش
کد کوئری رو اشتباه نوشتین (احتمالا از جایی کپی و ویرایش کردین ولی یک نکته از دستتون در رفته) ،
فقط چون مقادیر یکسان داشتین خودشو نشون نمیداده - همیشه برای تست جمع انباشته مقادیر تست رو 1,2,3,4,... بگذارین.

SELECT FI , (SELECT SUM(FI) FROM T1 AS T2 WHERE T2.ID<=T1.ID) AS MANDEH
FROM T1
ORDER BY ID

mazoolagh
سه شنبه 05 مرداد 1400, 11:37 صبح
البته این روش ارجحیتی از نظر سرعت نسبت به DSUM نداره و میتونین از همون روش هم استفاده کنین:
SELECT FI , DSUM("FI" , "T1" , "[ID]<=" & [ID]) AS MANDEH
FROM T1
ORDER BY ID

mazoolagh
سه شنبه 05 مرداد 1400, 11:39 صبح
و البته هر دو اینها در تعداد رکورد زیاد مشکل پرفورمنس دارن و باید فکر دیگه ای بردارین.

amp_1356
سه شنبه 05 مرداد 1400, 15:20 عصر
سلام
خیلی ممنون از توجه و پاسخگویی تون
مشکل من حل شد.