PDA

View Full Version : جمع یک فیلد خاص با مقادیر همان فیلد در رکوردهای قبلی



Nazir Ahmad
چهارشنبه 25 شهریور 1394, 08:22 صبح
سلام
من یه کویری میخوام درست کنم که مقدار یک فیلد عددی رو با مقادیر همان فیلد در رکوردهای قبلی اون جمع کنه.
اگه خواسته باشم واضح تر بگم، ما یه جدول داریم که چند فیلد عددی داره و هر رکورد یه فیلد تاریخ داره. حالا ما با استفاده از یه کویری مجموع فیلدها رو به صورت هفته وار بدست آوردیم. یعنی مجموع مقادیر یه فیلد در یک هفته برا ما معلومه.
حالا سوال اینجاست: چجوری میشه در همین کویری یا یه کویری دیگه مثلا وقتی ما در هفته 20 مجموع هفته های 1-19 رو با هفته 20 جمع کنیم و همینجور الی آخر؟
فایل نمونه رو هم ضمیمه کردم

ممنون
یا حق

alirezabahrami
چهارشنبه 25 شهریور 1394, 10:11 صبح
سلام
من یه کویری میخوام درست کنم که مقدار یک فیلد عددی رو با مقادیر همان فیلد در رکوردهای قبلی اون جمع کنه.
اگه خواسته باشم واضح تر بگم، ما یه جدول داریم که چند فیلد عددی داره و هر رکورد یه فیلد تاریخ داره. حالا ما با استفاده از یه کویری مجموع فیلدها رو به صورت هفته وار بدست آوردیم. یعنی مجموع مقادیر یه فیلد در یک هفته برا ما معلومه.
حالا سوال اینجاست: چجوری میشه در همین کویری یا یه کویری دیگه مثلا وقتی ما در هفته 20 مجموع هفته های 1-19 رو با هفته 20 جمع کنیم و همینجور الی آخر؟
فایل نمونه رو هم ضمیمه کردم

ممنون
یا حق
سلام
کوئری 1 ایجاد شده نمونه خودت را ملاحظه کن!
یا علی

Nazir Ahmad
چهارشنبه 25 شهریور 1394, 11:40 صبح
سلام
کوئری 1 ایجاد شده نمونه خودت را ملاحظه کن!
یا علی
ممنون از بابت اصلاح فایل
اما یه مشکل داره. این که در صورتیکه سال تغییر کنه جواب نمیده. مثلا اگر تاریخی اضافه بشه که سال 1395 باشه جواب نمیده.

یا حق

Nazir Ahmad
دوشنبه 30 شهریور 1394, 07:24 صبح
ممنون از بابت اصلاح فایل
اما یه مشکل داره. این که در صورتیکه سال تغییر کنه جواب نمیده. مثلا اگر تاریخی اضافه بشه که سال 1395 باشه جواب نمیده.

یا حق
مثل اینکه نشد؟
یعنی با استفاده از کد یا کویری نمیشه کاری کرد؟

alirezabahrami
دوشنبه 30 شهریور 1394, 10:21 صبح
ممنون از بابت اصلاح فایل
اما یه مشکل داره. این که در صورتیکه سال تغییر کنه جواب نمیده. مثلا اگر تاریخی اضافه بشه که سال 1395 باشه جواب نمیده.

یا حق
مثل اینکه نشد؟
یعنی با استفاده از کد یا کویری نمیشه کاری کرد؟

سلام
بنده متوجه منظور شما نشدم ، چون این موضوع در اولین پست (پست 2 ) مطرح نکرده بودید .آیا میخواهید مجموع مقادیر ایام هفته را برای هر سال بطور جداگانه بدست آورید ؟
اگر پاسخ بله است خوب کاری ندارد ، میتوانید شرط سال را در کد مربوطه در کوئری 1 لحاظ نمائید .
کد را بصورت زیر تغییر بده :



EuroPriw: DSum("SumOfBaqiEuro";"table1";"[WeekNum]<=" & [WeekNum] & " and Sal=" & [Sal] & "")

چنانچه نتیجه نگرفتی نمونه جدیدتر را با لحاظ نمودن سال های مختلف در کوئری ضمیمه کن تا انشاء الله نسبت به اصلاح اقدام شود .
یا علی

Nazir Ahmad
سه شنبه 21 مهر 1394, 08:58 صبح
سلام
بنده متوجه منظور شما نشدم ، چون این موضوع در اولین پست (پست 2 ) مطرح نکرده بودید .آیا میخواهید مجموع مقادیر ایام هفته را برای هر سال بطور جداگانه بدست آورید ؟
اگر پاسخ بله است خوب کاری ندارد ، میتوانید شرط سال را در کد مربوطه در کوئری 1 لحاظ نمائید .
کد را بصورت زیر تغییر بده :



EuroPriw: DSum("SumOfBaqiEuro";"table1";"[WeekNum]<=" & [WeekNum] & " and Sal=" & [Sal] & "")

چنانچه نتیجه نگرفتی نمونه جدیدتر را با لحاظ نمودن سال های مختلف در کوئری ضمیمه کن تا انشاء الله نسبت به اصلاح اقدام شود .
یا علی
سلام
یه سوال دیگه: اگر یه شرط دیگه اضافه کنیم که متغیر باشه مثلا سال و ماه و روز (یعنی میخوایم مقدار روزهای قبلی رو محاسبه کنه، درحالیکه هر ماه دوباره از 1 شروع میشه) ، کد چه تغییری میکنه؟
فکر کنم اگر بتونیم برای این شرط ها یه شماره ردیف بسازیم مشکل حل بشه. اما چه چوری؟ (البته من این کار رو به این صورت کار کردم [sal]&[mah]&[rooz] که برای هر روز یه عدد به ما میده و بعدا با استفاده از همون تابع قبلی مقادیر گذشته رو بدست میاریم. اما روش بهتر ..... ؟)

البته این روش برای همون دو شرطی که اعمال شده، کاملا جواب میده اما یه مشکل وجود داره.
اینکه چون تعداد فیلدهایی که قراره طبق این فرمول محاسبه بشه زیاده برای همین زمان زیادی صرف باز شدن کویری میشه.
آیا راه بهتر و سریعتری برای این کار وجو نداره؟ (مثلا کد یا ...)

یا حق

Nazir Ahmad
پنج شنبه 23 مهر 1394, 07:46 صبح
عرض سلام
اگر امکان داره اساتید همکاری کنند که برای افزایش سرعت این موضوع آیا راهی بهتر از این داره یا نه؟

یا حق

Nazir Ahmad
جمعه 24 مهر 1394, 12:49 عصر
عرض سلام
اگر امکان داره اساتید همکاری کنند که برای افزایش سرعت این موضوع آیا راهی بهتر از این داره یا نه؟

یا حق

عرض سلام
اگر امکان داره اساتید همکاری کنند ...

یا حق