PERCENT RANK() در sql server چیست و چه کاری انجام می دهد
با سلام و خسته نباشید خدمت شما
اگر زحمت نیست می توانید PERCENTRANK در sql server را توضیح دهید البته من با ranking function ها آشنا هستم این PERCENTRANK را نمی دانم چه کاری انجام می دهد
ممنون می شوم راهنمایی بکنید
با تشکر
7 پاسخ
در مثال زیر حقوق های کارمندان یک دپارتمان مورد مقایسه قرار میگیره و میزان درصد و ارزش حقوقی و جایگاه حقوقی افراد با این تابع لیست میشه
کوئیری
USE AdventureWorks2012; GO SELECT Department, LastName, Rate, CUME_DIST () OVER (PARTITION BY Department ORDER BY Rate) AS CumeDist, PERCENT_RANK() OVER (PARTITION BY Department ORDER BY Rate ) AS PctRank FROM HumanResources.vEmployeeDepartmentHistory AS edh INNER JOIN HumanResources.EmployeePayHistory AS e ON e.BusinessEntityID = edh.BusinessEntityID WHERE Department IN (N'Information Services',N'Document Control') ORDER BY Department, Rate DESC;
خروجی
Department LastName Rate CumeDist PctRank ---------------------- ---------------------- --------------------- ---------------------- ---------------------- Document Control Arifin 17.7885 1 1 Document Control Norred 16.8269 0.8 0.5 Document Control Kharatishvili 16.8269 0.8 0.5 Document Control Chai 10.25 0.4 0 Document Control Berge 10.25 0.4 0 Information Services Trenary 50.4808 1 1 Information Services Conroy 39.6635 0.9 0.888888888888889 Information Services Ajenstat 38.4615 0.8 0.666666666666667 Information Services Wilson 38.4615 0.8 0.666666666666667 Information Services Sharma 32.4519 0.6 0.444444444444444 Information Services Connelly 32.4519 0.6 0.444444444444444 Information Services Berg 27.4038 0.4 0 Information Services Meyyappan 27.4038 0.4 0 Information Services Bacon 27.4038 0.4 0 Information Services Bueno 27.4038 0.4 0 (15 row(s) affected)
بله نسبت به بالا بودن میزان حقوق جایگاه طرف هم در PctRank بالا رفته
با سلام و خسته نباشید خدمت شما دوست عزیز
ممنونم از جواب شما ببخشید یک سئوالی داشتم :
جناب آقای مهندس در آخرین سئوالی که من در بالا از شما پرسیدم جواب شما مثبت بود اما به غیر از سئوالی که من از شما پرسیدم تابع PERCENTRANK دیگر چه استفاده هایی دارد چون خود شما می دانید که تابع PERCENTRANK بین عدد صفر تا یک را برای ما برگشت می زند چون در کوئری بالا می شود در فیلد rate در هر گروه مثلا بزرگترین عدد را بدست آورد و با تابع PERCENTRANK هم می شود کلا خواستم بدونم که بیشترین استفاده PERCENTRANK در چه قسمتهایی هست و در کجاها استفاده می شود اگر برای شما ممکن هست یک مثال دیگر هم بزنید ممنون می شوم.
با سلام و خسته نباشید خدمت شما دوست عزیز و گرامی
جناب آقای مهندس ممنونم از توجه شما
جناب آقای مهندس ببینید درست متوجه شدم در هر گروه مثلا در گروه Document Control بیشترین حقوق 17.7885 هست و در فیلد PctRank بیشترین عدد را گرفته است و در گروه Information Services بالاترین حقوق 50.4808 هست و مشخص هست که در فیلد PctRank بالاترین نمره را گرفته و برای حقوق های بعد هم در حقیقت عددها در فیلد PctRank کمتر می شود آیا من درست متوجه شدم؟
ممنونم مهندس عزیزم
در یک مجموعه ای از دیتاهای موجود در dataset میتونه ارزش و جایگاه دیتای موجود رو در بین دیتاهای دیگه نشون بده مثلا فرض کنید نمره های امتحانی دانشجو ها تو یه دیتاستی هستن میتونید جایگاه و ارزش نمره دانشجوی خاصی رو در مقایسه با دیگر نمره های موجود بدست بیارید
با سلام و خسته نباشید خدمت شما
جناب مهندس عزیزم می توانید این توضیحی که شما در بالا فرمودید با یک مثال انجام دهید و بیشتر بازش کنید
ممنون می شوم از شما
با تشکر