لغات البرمجة : لغة الفيجوال دوت نت (VB.NET)

مساعدة في تحويل معادلة في اكسل الى كود sql

مساعدة في تحويل معادلة في اكسل الى كود sql

السلام عليكم

ممكن مساعدة في تحويل معادلة في اكسل الى كود sql

حسب المرفق
=IF(DATE(YEAR(TODAY());MONTH(G21);DAY(G2 1))>TODAY();DATE(YEAR(TODAY())-1;MONTH(G21);DAY(G21));DATE(YEAR(TODAY() );MONTH(G21);DAY(G21)))


=ROUNDDOWN((((1+G23)^YEARFRAC(G21;G22))-1)*G20;2)



لدعم قناة وسام الحمد على اليوتيوب


المواضيع المشابهه
طلب مساعدة في معادلة لشيت اكسيل
طلب مساعدة في برنامج اكسل
تحويل ملف قاعدة rps الى XLS اكسل
طلب معادلة اكسل
تحويل PDF الى اكسل Lighten PDF to Excel Converter v5


فسر هذا الكود اخي ... ما الاستعلام الذي يقوم بتنفيذه؟؟


السلام عليكم اسف على عدم التوضيح سابقا

بخصوص الكود الاول
يقوم بتحديد تاريخ استحقائق العلاوة الدوية (السنوية )

=IF(DATE(YEAR(TODAY());MONTH(B2);DAY(B2) )>TODAY();DATE(YEAR(TODAY())-1;MONTH(B2);DAY(B2));DATE(YEAR(TODAY()); MONTH(B2);DAY(B2)))

اما الكود الثاني يقوم بحساب العلاوة السنوية
وهو عملية تراكمية

=ROUNDDOWN((((1+0.0125)^YEARFRAC(B2;B3))-1)*B1;2)

-------------

للتوضيح

B2 هي تاريخ التعيين

B3 تاريخ استحقاق اخر علاوة وهو الكود الاول الذي يقوم بتحديهها



مثال :



اذا كان تاريخ التعيين 01/06/2000 تاريخ استحقاق العلاوة السنوية 01/06/2018


الراتب الاساسي نسبة العلاوة
2570 0.0125 اجمالي العلاوة التراكمية
01/07/1995 2570 0.0125 0 اول سنة لايوجد علاوة
01/07/1996 2570 0.0125 32.125
01/07/1997 2602.125 0.0125 32.5265625
01/07/1998 2634.651563 0.0125 32.93314453
01/07/1999 2667.584707 0.0125 33.34480884
01/07/2000 2700.929516 0.0125 33.76161895
01/07/2001 2734.691135 0.0125 34.18363919
01/07/2002 2768.874774 0.0125 34.61093468
01/07/2003 2803.485709 0.0125 35.04357136
01/07/2004 2838.52928 0.0125 35.481616
01/07/2005 2874.010896 0.0125 35.9251362
01/07/2006 2909.936032 0.0125 36.3742004
01/07/2007 2946.310233 0.0125 36.82887791
01/07/2008 2983.139111 0.0125 37.28923888
01/07/2009 3020.428349 0.0125 37.75535437
01/07/2010 3058.183704 0.0125 38.2272963
01/07/2011 3096.411 0.0125 38.7051375
01/07/2012 3135.116138 0.0125 39.18895172
01/07/2013 3174.305089 0.0125 39.67881362
01/07/2014 3213.983903 0.0125 40.17479879
01/07/2015 3254.158702 0.0125 40.67698377
01/07/2016 3294.835685 0.0125 41.18544607
01/07/2017 3336.021132 0.0125 41.70026414
01/07/2018 3377.721396 0.0125 42.22151745
849.9429132


السلام عليكم اسف على عدم التوضيح سابقا

بخصوص الكود الاول
يقوم بتحديد تاريخ استحقائق العلاوة الدوية (السنوية )

=IF(DATE(YEAR(TODAY());MONTH(B2);DAY(B2) )>TODAY();DATE(YEAR(TODAY())-1;MONTH(B2);DAY(B2));DATE(YEAR(TODAY()); MONTH(B2);DAY(B2)))

اما الكود الثاني يقوم بحساب العلاوة السنوية
وهو عملية تراكمية

=ROUNDDOWN((((1+0.0125)^YEARFRAC(B2;B3))-1)*B1;2)

-------------

للتوضيح

B2 هي تاريخ التعيين

B3 تاريخ استحقاق اخر علاوة وهو الكود الاول الذي يقوم بتحديهها



مثال :



اذا كان تاريخ التعيين 01/06/2000 تاريخ استحقاق العلاوة السنوية 01/06/2018


الراتب الاساسي نسبة العلاوة
2570 0.0125 اجمالي العلاوة التراكمية
01/07/1995 2570 0.0125 0 اول سنة لايوجد علاوة
01/07/1996 2570 0.0125 32.125
01/07/1997 2602.125 0.0125 32.5265625
01/07/1998 2634.651563 0.0125 32.93314453
01/07/1999 2667.584707 0.0125 33.34480884
01/07/2000 2700.929516 0.0125 33.76161895
01/07/2001 2734.691135 0.0125 34.18363919
01/07/2002 2768.874774 0.0125 34.61093468
01/07/2003 2803.485709 0.0125 35.04357136
01/07/2004 2838.52928 0.0125 35.481616
01/07/2005 2874.010896 0.0125 35.9251362
01/07/2006 2909.936032 0.0125 36.3742004
01/07/2007 2946.310233 0.0125 36.82887791
01/07/2008 2983.139111 0.0125 37.28923888
01/07/2009 3020.428349 0.0125 37.75535437
01/07/2010 3058.183704 0.0125 38.2272963
01/07/2011 3096.411 0.0125 38.7051375
01/07/2012 3135.116138 0.0125 39.18895172
01/07/2013 3174.305089 0.0125 39.67881362
01/07/2014 3213.983903 0.0125 40.17479879
01/07/2015 3254.158702 0.0125 40.67698377
01/07/2016 3294.835685 0.0125 41.18544607
01/07/2017 3336.021132 0.0125 41.70026414
01/07/2018 3377.721396 0.0125 42.22151745
849.9429132
قبل لا اتعب حالي سؤال ؟؟
انت بتقصد SQL Server
او
تقصد MySQL


اخي الكريم اقصد

SQL Server




اخي الكريم اشكرك وتم اضافة رابط للمثال


https://gulfupload.com/7p24m9zvw3a9


اقصد

SQL Server


اخي الكريم اشكرك وتم اضافة رابط للمثال

https://gulfupload.com/7p24m9zvw3a9
اقصد
SQL Server
تفضل اخي :



كود PHP:
create proc calSalary
as
select SUM((year(GETDATE()) - year(HiringDate)) * (MainSalary PremiumPercent)) OVER ORDER BY empid) AS PreTotal
FROM Employees
where year
(DATEADD(year, -1getdate())) >= year(HiringDate
حيث ان :
- year(GETDATE()) تمثل رقم السنة الحالية
- year(HiringDate) تمثل رقم السنة لتاريخ التعيين
- year(DATEADD(year, -1, getdate())) >= year(HiringDate) :
وهو شرط اذا كان تاريخ السنة الحالية (ناقص سنة) اكبر من تاريخ التعيين (حتي يقبل تنفيذ الاجراء)

الحصيلة :
اجمالي العلاوة = (رقم السنة الحالية - رقم السنة لتاريخ التعيين) x (الراتب الاساسي x نسبة العلاوة)

-


اشكرك اخي الكريم وبارك الله فيك
والله يعطيك الف عافيه

بخصوص الموضوع العلاوة هي عبارة عن عملية تراكمية حسب الصورة المرفقة
وهي ان الراتب الاساسي كل سنة عندما تحين العلاوة السنوية بتاريخها يضاف عليه مقدار العلاوة السنوية

حسب الصورة المرفقة





https://u.damasgate.com/001a/5/f87u60tyvr5bhuettl5p.jpg