 |
مقدمه
نيازمنديهاي
برنامه
طريقه
نصب
راهنماي استفاده
توابع پيكسل
ترسيم محور
زماني
فيلتر و سورت
مرجع
توابع
StatusDate
TimeScale
ListQuery
ListTaskID
ListOfTasksAtLevel
ListOfDetailTasks
UID
مرجع
فيلدها
BP (Baseline
Progress)
AP (Actual
Progress)
PV (Progress
Variance)
Weight
BPS (Baseline
Progress Share)
APS (Actual
Progress Share)
PSV (Progress
Share Variance)
نوار ابزار پيكسل
Status Date
Date
Enter Date
مثالهاي كاربردي
پيوست1- ليست
فيلدها
|

 |
راهنماي
استفاده از نرمافزار پيكسل |
 |
مقدمه
پيكسل نرمافزاري است براي برقراري ارتباط با Microsoft Project در محيط Excel، به
ترتيبي كه كاربر بتواند اطلاعات موجود در پروندههاي مايكروسافت پراجكت را از
طريق توابع اكسل مورد دسترسي قرار دهد. براي مثال ميتوان در يك خانه اكسل از تابع
"=TF("Name";1)" براي نام فعاليت شماره 1 استفاده كرد.
استفاده از پيكسل بسيار ساده است. ابتدا لازم است پرونده مورد نظر در مايكروسافت
پراجكت را از طريق پنجره تنظيم براي پيكسل معرفي كرد. پس از آن ميتوان از توابع
پيكسل كه كاملا متناظر با نام فيلدهاي مايكروسافت پراجكت تنظيم شدهاند براي دسترسي
به مقادير اين فيلدها استفاده كرد. در مواقع لازم پيكسل پرونده مورد نظر را باز
كرده، اطلاعات مورد نياز را محاسبه خواهد كرد.
هر زمان كه لازم باشد كاربر ميتواند با فشار دادن يك كليد اطلاعات را بروزآوري
كند.
به عنوان مثال در شكل زير بخشي از يك صفحه اكسل نمايش داده شده است. دقت كنيد كه
توابع پيكسل چگونه استفاده شدهاند.
| |
|
|
|
|
|
Finish |
Start |
Task Name |
Task No |
|
|
=TF("Finish";B3) |
=TF("Start";B3) |
=TF("Name";B3) |
0 |
|
|
=TF("Finish";B4) |
=TF("Start";B4) |
=TF("Name";B4) |
1 |
|
|
=TF("Finish";B5) |
=TF("Start";B5) |
=TF("Name";B5) |
2 |
|
| |
|
|
|
|
| |
|
|
|
|
اين صفحه پس از محاسبه به شكل زير در ميآيد.
| |
|
|
|
|
|
Finish |
Start |
Task Name |
Task No |
|
|
1384/11/10 |
1383/10/10 |
Pixcel Sample 3 |
0 |
|
|
1383/10/21 |
1383/10/10 |
Task 1 |
1 |
|
|
1384/05/04 |
1383/10/10 |
Task2 |
2 |
|
| |
|
|
|
|
| |
|
|
|
|
در اين شكل مقادير از پرونده مورد نظر در پراجكت گرفته شدهاند.
علاوه بر آن پيكسل امكانات زير را نيز فراهم ميسازد:
1. معرفي فيلدهاي جديد محاسباتي، جهت استفاده دراكسل.
2. ارائه برخي روشهاي كاربردي جهت تهيه گزارشهاي خاص نظير نمودار S
3. فراهم ساختن امكانات خاص جهت استخراج اطلاعات پيچيده نظير اطلاعات وابسته
به زمان (TimePhased)
4. برخي امكانات فرعي جهت استفاده بهينه نظير توابع لازم جهت تشكيل محور
زماني (Time Scale)
5. امكانات خاص زبان فارسي نظير پشتيباني از تقويم شمسي.
|
 |
نيازمنديهاي
برنامه |
|
|
نرمافزارهاي لازم براي استفاده از پيكسل عبارتند از:
1. نرم افزارMicrosoft Excel 2003
2. نرمافزار Microsoft Project 2003
از آنجاييكه نرمافزارهاي فوق فقط برروي Windows XP يا
Windows2000 (با سرويس پك 3 يا بالاتر) نصب ميشوند، براي استفاده از پيكسل
لازم است سيستم عامل شما Windows XP يا Windows2000 (با
سرويس پك 3 يا بالاتر) باشد.
در صورتيكه بخواهيد از امكانات فارسي و تقويم شمسي هم استفاده كنيد لازم است
پرنيان 4 برروي كامپيوتر شما نصب شده
باشد.
|
 |
طريقه نصب |
|
|
پيكسل در واقع يك Add-In براي اكسل است كه طريقه نصب آن همانند Add-In هاي
استاندارد اكسل ميباشد. براي نصب پيكسل:
1. فايل PIXL.XLA را در مسير دلخواه كپي كنيد. در صورتيكه مايليد پيكسل به
صورت خود كار در اكسل اجرا شود لازم است اين فايل را در شاخه XLStart كپي كنيد.

2. از منوي Tools دستور Add-Ins را اجرا كنيد. پنجره زير نمايش داده خواهد
شد.
3. بر روي كليد "Browse" كليك كنيد. و در پنجره بعدي در شاخهاي كه قبلا
PIXEL.XLA را كپي كردهايد، اين پرونده را انتخاب كنيد. پيكسل به ليست Add-Inها
اضافه خواهد شد.
4. با انتخاب Pixel در اين ليست اين برنامه در اكسل Load ميشود.
پس از اجراي Add-In مربوط به پيكسل، Toolbar اين برنامه به محيط اكسل اضافه خواهد
شد.

پروندههاي مربوط به پيكسل:
1. پرونده Pixel.XLA
2. پرونده Jalali32.DLL: كتابخانه توابع مربوط به تقويم شمسي.
|
 |
راهنماي استفاده |
|
|
قبل از آنكه از پيكسل استفاده شود لازم است تنظيم لازم از طريق پنجره تنظيم انجام
شود. براي اينكار بر روي كليد Pixel كليك كنيد پنجره تنظيم به شكل زير ظاهر ميشود:

بر روي اين پنجره ميتوانيد:
در قسمت File Name نام پرونده پراجكت كه اين كاربرگ به آن وصل خواهد شد را وارد
كنيد. از كليد Connect براي آزمايش صحت اتصال به پرونده مورد نظر استفاده كنيد.
در قسمت Default Date Range، تنظيمهاي پيشفرض براي توابع وابسته به زمان و همچنين
محورهاي زماني (Timescale) معرفي ميشود. محدوده تاريخي مورد نظر ميتواند وارد شده
و يا از تاريخهاي شروع و خاتمه پروژه استفاده شود. همچنين در قسمت Timescale
ميتوان مقادير پيشفرض براي واحد زمان و تعداد آنرا معرفي كرد.
با انتخاب Update Charts پيكسل به صورت خودكار نمودارهاي اكسل را تجديد ميكند.
مقدار معرفي شده در Date Format براي فرمت كردن فيلدهاي تاريخ بكار برده ميشود.

توابع پيكسل
اصليترين تابع پيكسل تابع TaskFieldValue يا TF است. اين تابع ميتواند با اتصال
به پراجكت مقدار مربوط به هريك از فيلدهاي فعاليتها را برگرداند. سادهترين شكل
استفاده از TF به اين صورت است:
TF("FieldName")
كه در آن FiledName نام فيلدي است كه اطلاعات آن مورد نظر است. براي مثال تابع :
=TF("Start")
تاريخ شروع را براي پروژه باز ميگرداند. براي آنكه فيلد مورد نظر براي يك فعاليت
خاص محاسبه شود، كافيست شماره فعاليت (ID) آنرا پس از نام فيلد وارد كنيم. به اين
ترتيب:
=TF("Start";1)
تاريخ شروع فعاليت اول را برميگرداند.
برخي از فيلدهاي پراجكت وابسته به زمان (Time Phased) هستند، يعني مقدار آنها را
ميتوان بر حسب زمان محاسبه كرد. براي دسترسي به اين دسته از فيلدها ميتوان تاريخ
مورد نظر را پس از شماره فعاليت وارد كرد. براي مثال
=TF("Cost";0;"1383/5/1")
مقدار فيلد Cost را در تاريخ 5/1/83 براي كل پروژه برميگرداند.
در مواقعي (مثلا در رسم نمودارها) لازم است اطلاعات وابسته به زمان در پريودهاي
مشخصي (مثلا هفتگي يا ماهيانه) محاسبه شوند. در اين حالت پس از تاريخ ميتوان نوع
پريود را مشخص كرد:
=TF("Cost";1;"1383/5/1",1)
مقدار هزينه را براي فعاليت شماره 1 در هفتهاي كه 1/5/83 در آن قرار دارد بر
ميگرداند. براي توضيح بيشتر در خصوص اين تابع به بخش مرجع توابع رجوع كنيد.
علاوه بر فيلدهاي استاندارد پراجكت، پيكسل فيلدهاي كاربردي محاسباتي ويژهاي را نيز
ارائه ميكند. براي مثال فيلد BP (Baseline Progress) كه ميتواند پيشرفت برنامهاي
را براي هر تاريخ خاصي محاسبه كند. اين فيلدها دقيقا مانند فيلدهاي استاندارد
پراجكت مورد استفاده قرار ميگيرند. براي مثال:
=TF("BP";;"1383/5/1")
مقدار پيشرفت برنامهاي تا تاريخ 1/5/83 را براي كل پروژه محاسبه ميكند.
اطلاعات بيشتر در خصوص فيلدهاي پيكسل در بخش مرجع فيلدهاي پيكسل آورده شده است.
قسمت ديگري از توابع پيكسل به منظور كمك به استفاده بهتر و انجام كارهاي كنترلي
اختصاص داده شده است كه توضيح كامل آنها در قسمت توابع خاص در بخش مرجع آورده شده
است.
براي مثال تابع Timescale به شما كمك ميكند تا بتوانيد محورهاي زماني مناسبي براي
ترسيم نمودارهاي زماني ايجاد كنيد.
براي آنكه پيكسل بتواند پشتيباني مناسبي از تقويم شمسي ارائه دهد، برخي امكانات خاص
بدين منظور تدارك ديده شده است كه براي اطلاعات بيشتر در اين زمينه لازم است به
ضميمه "تقويم شمسي در اكسل" مراجعه شود.
ترسيم محور زماني
يكي از كاربردهاي مهم پيكسل به بررسي دادههاي وابسته به زمان (Timephased) اختصاص
دارد. براي استفاده از اين دادهها معمولا لازم است ابتدا نوعي محور زماني
(Timescale) تشكيل شود. اين محور زماني چيزي شبيه به محور زماني پراجكت در نماي
گانت و يا Task Usage ميباشد.
ايده اصلي براي انجام اينكار آنست كه محدودهاي از خانههاي اكسل با تاريخهاي
متوالي پر شوند. به اين ترتيب چيزي نظير شكل زير تشكيل خواهد شد:

در اين شكل خانهها با تاريخهاي متوالي به صورت ماهيانه پر شدهاند. اين خانهها
متناظر با محور زماني در پراجكت خواهند بود.
براي ترسيم محور زماني تابع Timescale ارائه شده است. اين تابع ميتواند براي
پريودهاي مختلف نظير روز، هفته يا ماه تاريخهاي متناسب براي محور زماني را
برگرداند. براي مثال فرمول:
=Timescale(1,"1383/2/1","1383/12/1",2,1)
اولين ماه از محدوده تاريخي 1/2/83 تا 1/12/83 را برميگرداند. و فرمول:
=Timescale(2,"1383/2/1","1383/12/1",2,1)
دومين ماه را محاسبه ميكند. به اين ترتيب ميتوان با استفاده از اين تابع و قرار
دادن متناسب آن در خانههاي متوالي محور زماني مناسبي تشكيل داد.
در پنجره تنظيم پيكسل ميتوان مقادير پيشفرضي براي محدوده تاريخ و نوع محور زماني
تنظيم كرد. همچنين ميتوان تابع Timescale را به سبكي به كاربرد كه از اين تنظيمها
استفاده كند. با اينكار ميتوان براحتي و با تغيير در مقادير پيشفرض در پنجره
تنظيم پيكسل، محورهاي زماني ايجاد شده را تغيير داد.
جهت سهولت پيشتر در نوار ابزار پيكسل (Pixel Toolbar) كليدي براي درج محورهاي زماني
قرار داده شده است. توضيح در خصوص روش استفاده از اين كليد در قسمت نوار بازار
پيكسل آورده شده است. همچنين توضيح كامل درباره تابع Timescale در مرجع توابع پيكسل
آورده شده است.
فيلتر و سورت
يكي از امكانات مهم در پيكسل توانايي آن در سورت و فيلتر كردن است. با اين امكانات
شما ميتوانيد دسته خاصي از فعاليتها را انتخاب كنيد و آنرا به ترتيب دلخواه خود
سورت كنيد. براي مثال شما ميتوانيد با اين روش فعاليتهاي خاتمه يافته را برروي يك
كاربرگ نشان دهيد.
پشتيباني از فيلتر و سورت با استفاده از چند تابع خاص صورت ميگيرد. مهمترين اين
توابع Query است. اين تابع در عمل بر اساس فيلتر انتخاب شده، ليستي از فعاليتهاي
مناسب را انتخاب ميكند و به صورت رشتهاي از شماره فعاليتها بر ميگرداند. براي
باز كردن اين رشته (كه به صورت فشرده برگردانده ميشود) تابع ديگري به نام
ListTaskID در نظر گرفته شده كه ميتواند شماره فعاليتها را به ترتيب برگرداند.
بعد از اينكه شماره فعاليتها برگردانده شد به راحتي ميتوان از توابع عادي پيكسل
براي دسترسي به اطلاعات اين فعاليتها استفاده كرد.
براي مثال فرض كنيد ميخواهيم ليست فعاليتهاي تكميل شده را بدست آوريم. براي
اينكار ميتوانيم فرمولهايي به شكل زير در كاربرگ وارد كنيم:

در اين كاربرگ فرمول مربوط به خانه B1 در واقع فيلتر را تعريف ميكند و شماره
فعاليتهايي كه درصد پيشرفت آنها 100 است را نشان ميدهد. همانطور كه ميبينيد؛ اين
فرمول ليست فعاليتها را به صورت يك رشته با علامت جدا كننده ";" برميگرداند.
فرمولهاي ستون C از اين ليست شماره فعاليتها را استخراج ميكنند. به اين ترتيب
خانه C1 با اولين فعاليت برگردانده شده توسط Query يعني فعاليت شماره 1 پر ميشود.
خانه C2 شماره دومين فعاليت خواهد بود يعني عدد 5. پس از آن ستونهاي D و E به
سادگي نام فعاليت و درصد تكميل آنها را نشان ميدهد.

دستور Query ميتواند كارهاي پپچيدهتري انجام دهد. شكل كامل اين دستور به شكل زير
است:
Query (FieldName, FilterOperator,FilterValue, SortBy,Level)
كه در آن:
FieldName: نام فيلدي است كه ميخواهيم فيلتر و يا سورت بر اساس آن صورت
گيرد.
FilterValue: مقدار فيلتر است.
FilterOperator: اپراتوري كه براي تست فيلتر استفاده خواهد شد. اين اپراتور
ميتواند مقادير "=",">","<",">=", "<=" را داشته باشد.
SortBy: عددي كه نمايانگر نحوه مرتب سازي است. 1 براي سورت صعودي و -1 براي
سورت نزولي.
Level: با اين عدد ميتوانيد خروجي را به يك سطح خاص از فعاليتها محدود
كنيد. براي مثال عدد 1 يعني تمامي فعاليتهاي سطح 1. براي آنكه تنها فعاليتهاي
آخرين سطح (و نه فعاليتهاي خلاصه) را ببينيد ميتوانيد مقدار 100 را براي اين
پارامتر انتخاب كنيد.
مثال:
| |
|
|
=Query("%Complete";"=";100) |
فعاليتهايي كه درصد پيشرفت آنها 100 است. |
|
=Query("%Complete";">";"100";1) |
فعاليتهايي كه درصد پيشرفت آنها بيشتر از 10
است به ترتيب صعودي درصد پيشرفت. |
|
=Query("%Complete";;;-1) |
همه فعاليتها به ترتيب نزولي درصد پيشرفت. |
|
=Query("%Complete";"=";100;1;100) |
همه فعاليتهاي ريز (نه فعاليتهاي خلاصه) كه
درصد پيشرفت آنها 100 است. |
|
 |
مرجع توابع |
|
|
TF يا TaskFieldValue
اين تابع مقدار فيلدهاي پراجكت را براي هر فعاليت دلخواه برميگرداند. شكل كلي
اين تابع بصورت زير است:
TF(FieldName,[TaskID],[AtDate],[Timescale],[Count])
كه در آن:
FiledName: نام فيلد مورد نظر است.
TaskID: شماره فعاليت مورد نظر است. در صورتيكه اين فيلد خالي رها شود و يا
مقدار صفر داشته باشد، فيلد مورد نظر براي كل پروژه محاسبه ميشود. درصورتيكه شماره
مورد نظر درست نباشد (كمتر از صفر يا بيشتر از تعداد فعاليتها باشد) TF رشتهاي
خالي (Blank) را برميگرداند.
AtDate: در مورد فيلدهاي وابسته به زمان تاريخي است كه براي محاسبه فيلد،
مورد نظر است. اين فيلد ميتواند به صورت تقويم شمسي و يا ميلادي معرفي شود. در
صورت استفاده از تقويم شمسي آنرا حتما با شكل yyyy/mm/dd وارد كنيد و حتما سال را
به صورت كامل (1383 و نه 83) معرفي كنيد.
Timescale: در صورتيكه فيلد وابسته به زمان به صورت پريوديك مورد نظر باشد،
اين پارامتر مشخص كننده نوع پريود است. مقادير قابل قبول براي اين فيلد اعداد صفر
براي روزانه، 1 براي هفتگي و 2 براي ماهيانه است. همچنين ميتوان از حروف اختصاري
d,w يا m استفاده كرد. در صورتيكه مقدار منفي يك (-1) به اين پارامتر اختصاص داده
شود، اين تابع از مقدار پيشفرض تنظيم شده در پنجره تنظيمهاي پيكسل استفاده خواهد
كرد.
Count: در صورت تنظيم مقدار براي Timescale با اين پارامتر ميتوان تعداد
دلخواهي از پريود انتخاب شده را مشخص كرد. براي مثال اگر پريود زماني به صورت
روزانه باشد، ميتوان با مقدار 10 براي Count پريود زماني را به صورت 10 روزه تنظيم
كرد.
TF در صورت بروز اشكال ممكن است يكي از مقادير زير را برگرداند:
"": در حالتي كه شماره فعاليت صحيح نباشد (كوچكتر از صفر و يا بيشتر از تعداد
فعاليتهاي پروژه باشد).
#Name: در حالتيكه نام فيلد درست نباشد.
#Value: در صورتيكه اشكالي در پارامترها و يا اتصال به MSP وجود داشته باشد.
#NA: در صورتيكه اطلاعات وابسته به زمان براي تاريخهاي نامناسب درخواست شود. مثلا
فيلد پيشرفت واقعي براي تاريخي بعد از تاريخ وضعيت (Status Date).
مثال:
| |
|
=TF("Start") |
تاريخ شروع پروژه |
|
=TF("Finish";1) |
تاريخ پايان براي فعاليت شماره 1 |
|
=TF("%Complete";;"1383/1/1") |
مقدار پيشرفت تا تاريخ 1/1/83 براي كل پروژه |
=TF("Cost";;"1383/1/1";2) |
مقدار هزينه پروژه براي فروردين ماه 83 |
=TF("BCWS";;"1383/1/1";0;10) |
مقدار BCWS براي ده روزي كه 1/1/83 در آن قرار دارد |
=TF("Name";B4) |
نام فعاليتي كه شماره آن در خانه B4 است. |
=TF("BP";;C4;-1) |
مقدار BP براي كل پروژه در تاريخ مشخص شده در خانه C4 و با اسكيل زماني
پيشفرض (معرفي شده در پنجره تنظيم) |
ترفندها و نكات مهم
• استفاده از شماره فعاليت در تابع TF اين مشكل را دارد كه بعضا در پراجكت با درج و
حذف فعاليتها شماره فعاليتهاي ديگر تغيير ميكند. براي آنكه اطلاعات فعاليت خاصي
را نمايش دهيد و مطمئن باشيد كه با تغيير پروژه و تغيير در شماره فعاليت مشكلي پيش
نخواهد آمد ميتوانيد از تابع UID استفاده كنيد. اين تابع شماره يك فعاليت را
براساس شماره يكتاي آن (Unique ID) بر ميگرداند. از آنجاييكه UID مربوط به يك
فعاليت هرگز تغيير نميكند، دچار مشكل تغيير در شماره فعاليتها نخواهيد شد. براي
مثال
:TF("Name";UID(1))
همواره نام فعاليتي كه Unique ID آن 1 است را برميگرداند.
• براي دسترسي به دسته خاصي از فعاليتها ميتوانيد از تابع ListQuery كه توضيح آن
ذيلا ميآيد استفاده كنيد.
• مقدار برگشتي براي فيلدهاي تاريخ نظير Start و يا Finish از نوع عددي تاريخ است.
براي نمايش مناسب آنها لازم است فرمت خانه براي تاريخ تنظيم شود و يا از توابع فرمت
كردن تاريخ نظير JFormatDate استفاده شود.
• در صورتيكه TF مقدار #Value بر ميگرداند، ابتدا اطمينان حاصل كنيد كه كليه
پارامترها به درستي معرفي شدهاند، پس از آن از طريق پنجره تنظيم اتصال به پرونده
مورد نظر را چك كنيد.
در ضميمه 1 ليست كليه فيلدهايي كه شما ميتوانيد از طريق تابع TF به آنها دسترسي
داشته باشيد آورده شده است. به صورت كلي اين ليست شامل كليه فيلدهاي استاندارد
پراجكت به اضافه فيلدهاي تخصصي پيكسل ميشود.
مايكروسافت پراجكت ميتواند فيلدهاي ارزش بدست آمده را بر حسب هريك از خطوط مبناي
مختلف (Baseline1 – 10) محاسبه كند. اينكار از طريق منوي Tools/Options در قسمت
Calculation و با استفاده از كليد Earned Value انجام ميشود. در پيكسل براي آنكه
دسترسي به اين فيلدها ساده شود قرارداد خاصي اختيار شده است به اين ترتيب كه
اينگونه فيلدها را ميتوان با شمارهي خط مبناي مورد نظر محاسبه كرد. براي مثال:
=TF("BCWS1")
مقدار فيلد BCWS را بر اساس Baseline1 برميگرداند.
StatusDate:
اين تابع تاريخ وضعيت تنظيم شده در پراجكت را بر ميگرداند و بصورت زير استفاده
ميشود.
=StatusDate()
همانطور كه در قسمت معرفي نوارابزار پيكسل توضيح داده شده، براي تنظيم تاريخ وضعيت
پروژه لازم نيست به پرونده پروژه در پراجكت مراجعه نمود و از آنجا اين تغيير را
اعمال نمود و اين كار از داخل Excel هم امكانپذير ميباشد. اما از هر جايي كه اين
تنظيم صورت گرفته باشد؛ تابع StatusDate اين مقدار را برميگرداند.
TimeScale
اين تابع براي آنكه كاربر بتواند يك Range از خانههاي اكسل را شبيه به محور زمان
(TimeScale) در پراجكت در آورد، استفاده ميشود. تعريف اين تابع به شكل زير است:
Timescale(No,Date1,Date2,Units,Count)
كه در آن
No: شماره خانه مورد نظر است.
Date1و Date2: محدوده تاريخ را مشخص ميكند. در صورت معرفي نشدن اين محدوده
از محدوده تنظيم شده در پنجره تنظيم استفاده ميشود.
Units: مقدار عددي كه مشخص كننده نوع پريود است. در صورت معرفي نشدن از
مقدار پيشفرض در پنجره تنظيم استفاده خواهد شد.
Count: تعداد پريود را مشخص ميكند. در صورت معرفي نشدن از مقدار پيشفرض در
پنجره تنظيم استفاده خواهد شد.
براي مثال براي آنكه در سه خانه متوالي اكسل ماههاي فروردين ارديبهشت و خرداد را
نمايش دهيم ميتوانيم از فرمولهاي زير استفاده كنيم:
=Timescale(1,"1383/1/1","1383/3/1",3,1)
=Timescale(2,"1383/1/1","1383/3/1",3,1)
=Timescale(3,"1383/1/1","1383/3/1",3,1)
براي توضيح بيشتر به صفحه زير دقت كنيد:
|
5 |
4 |
3 |
2 |
1 |
|
=Timescale(H10) |
=Timescale(G10) |
=Timescale(F10) |
=Timescale(E10) |
=Timescale(D10) |
در اينجا در سطر اول اعداد 1 تا 5 قرار داده شده و در پايين مقدار تاريخ براي اين
شمارهها (با استفاده از پيشفرضهاي تنظيم شده محاسبه ميشوند.) درصورتيكه اين
تنظيمها به شكل زير انجام شود:

كه در آن محدوده تاريخ از 1/1/1383 تا 1/4/1383 و پريود زماني ماهيانه و تعداد آن 1
است پس از محاسبه صفحه زير حاصل ميشود:
|
5 |
4 |
3 |
2 |
1 |
|
|
1383/04/01 |
1383/03/01 |
1383/02/01 |
1383/01/01 |
از آنجاييكه تاريخ تا 1/4/83 محدود شده است،خانه پنجم خالي است.
حال اگر تنظيم به شكل زير انجام شود:

كه در آن پريود زماني هفته است، نتيجه به شكل زير درميآيد:
|
5 |
4 |
3 |
2 |
1 |
|
1383/01/23 |
1383/01/16 |
1383/01/09 |
1383/01/02 |
1382/12/24 |
كه در آن تاريخها به صورت هفتههاي متوالي آورده شدهاند.
ListQuery
تابع ListQuery به منظور فيلتر كردن و مرتب سازي فعاليتها طراحي شده است. شكل كامل
اين تابع به صورت زير است.
ListQuery (FieldName, FilterOperator,FilterValue, SortBy,Level)
كه در آن:
FieldName: نام فيلدي است كه ميخواهيم فيلتر و يا سورت بر اساس آن صورت
گيرد.
FilterValue: مقدار فيلتر است. در صورت خالي بودن فيلتري تنظيم نخواهد شد.
(مثلا براي فقط سورت كردن).
FilterOperator: اپراتوري كه براي تست فيلتر استفاده خواهد شد. اين اپراتور
ميتواند مقادير "=",">","<",">=", "<=" را داشته باشد.
SortBy: عددي كه نمايانگر نحوه مرتب سازي است. 1 براي سورت صعودي و -1 براي
سورت نزولي.
Level: با اين عدد ميتوانيد خروجي را به يك سطح خاص از فعاليتها محدود
كنيد. براي مثال عدد 1 يعني تمامي فعاليتهاي سطح 1. براي آنكه تنها فعاليتهاي
آخرين سطح (و نه فعاليتهاي خلاصه) را ببينيد ميتوانيد مقدار 100 را براي اين
پارامتر انتخاب كنيد.
نتيجه تابع ListQuery يك رشته است كه شماره فعاليتهاي مورد نظر (فيلتر و مرتب شده)
در آن با ";" از هم جدا شدهاند. براي دسترسي به اين رشته لازم است از تابع
ListTaskID كه در پايين توضيح داده ميشود، استفاده شود.
مثال:
| |
|
= ListQuery ("%Complete";"=";100) |
فعاليتهايي كه درصد پيشرفت آنها 100 است. |
|
= ListQuery ("%Complete";">";"100";1) |
فعاليتهايي كه درصد پيشرفت آنها بيشتر از 10
است به ترتيب صعودي درصد پيشرفت. |
|
= ListQuery ("%Complete";;;-1) |
همه فعاليتها به ترتيب نزولي درصد پيشرفت. |
= ListQuery ("%Complete";"=";100;;100) |
همه فعاليتهاي ريز (نه فعاليتهاي خلاصه) كه درصد پيشرفت آنها 100 است. |
Query نام ديگر همان ListQuery است.
ListTaskID
اين تابع همراه با تابع Query مورد استفاده قرار ميگيرد. با استفاده از اين
تابع ميتوان فهرست فعاليتهايي كه توسط تابع ListQuery محاسبه شده است را به
صورت ترتيبي مورد استفاده قرارداد. شكل كلي اين تابع به صورت زير است:
ListTaskID(ListSting,No)
كه در آن:
ListString: رشتهاي است كه توسط تابع Query محاسبه شده است.
No: شماره رديف در رشته است.
در صورتيكه No مقداري بزرگتر از تعداد فعاليتهاي موجود در ليست را داشته باشد،
اين تابع مقدار 1- را برميگرداند.
ListOfTasksAtLevel
اين تابع ليست فعاليتها را در هر سطح دلخواهي برميگرداند. شكل كامل اين
تابع به صورت زير است:
ListOfTasksAtLevel(LevelNo,UpTo)
كه در آن:
LevelNo: شماره سطح مورد نظر است.
UpTo: اگر مقدار 1 داده شود، همه فعاليتها تا سطح مورد نظر برگردانده
ميشود، در غير اين صورت فقط فعاليتهاي در سطح LevelNo محاسبه ميشود.
| |
|
=ListOfTasksAtLevel(1) |
تمامي فعاليتهاي سطح اول. |
|
=ListOfTasksAtLevel(3,1) |
تمامي فعاليتهاي تا سطح 3 |
خروجي اين تابع مانند تابع ListQuery به صورت يك رشته است كه با تابع
ListTaskID قابل دسترسي ميشود.
ListOfDetailTasks
اين تابع ليست تمامي فعاليتهاي ريز (غير Summary) را بر ميگرداند. شكل اين
تابه به صورت زير است:
ListOfDetalTasks()
خروجي اين تابع مانند تابع ListQuery به صورت يك رشته است كه با تابع
ListTaskID قابل دسترسي ميشود.
UID
اين تابع شماره فعاليت را بر حسب شماره يكتاي فعاليت (Unique ID)
برميگرداند. از آنجاييكه شماره فعاليتها در پراجكت ممكن است با حذف و درج
فعاليتهاي ديگر تغيير كند از اين تابع ميتوان براي حصول اطمينان از بروز
اشكالهاي اينگونه اجتناب كرد.
براي مثال فرمول
=TF("Name",1)
نام فعاليت شماره 1 را برميگرداند. حال اگر فعاليتي در بالاي اين فعاليتي
درج شود، شماره اين فعاليت به 2 تغيير مييابد و مشخصا فرمول فوق نام فعاليت
جديد را برميگرداند. در صورتيكه فرمول:
=TF("Name";UID(1))
همواره نام فعاليتي كه شماره يكتا (Unique ID) آن 1 است را محاسبه ميكند. |
 |
مرجع فيلدها |
|
|
به صورت كلي فيلدهايي كه در پيكسل مورد استفاده قرار ميگيرند به 4 بخش
تقسيم ميشوند:
1. فيلدهاي ساده: فيلدهاي سادهي فعاليتها مانند Name يا Duration.
2. فيلدهاي وابسته به زمان: فيلدهايي نظير Cost كه ميتوانند به صورت
وابسته به زمان (با قيد تاريخ) استفاده شوند. اين دسته از فيلدها ميتوانند در
كاربردهايي نظير TF("Cost";1;"1383/1/1") در تاريخ مشخصي محاسبه شوند. البته
كليه فيلدهاي وابسته به زمان به صورت ساده نيز قابل استفاده هستند. در واقع
فرمول TF("Cost") براي مثال هزينه كل پروژه را نمايش ميدهد.
3. فيلدهاي ارزش بدست آمده (Earned Value): اين فيلدها مانند فيلدهاي
وابسته به زمان ميباشند با اين تفاوت كه معمولا وقتي به شكل ساده محاسبه
ميشوند، مقدار آنها تا تاريخ وضعيت (Status Date) محاسبه ميشود. براي مثال
فرمول =TF("BCWS") مقدار BCWS را در تاريخ وضعيت نشان ميدهد. روشن است كه به
اين ترتيب مقدار اين فيلدها به تاريخ وضعيت بستگي دارد. اين فيلدها بعد از
تاريخ وضعيت نامعين هستند. پيكسل در اين وضعيت مقدار #NA را نشان ميدهد.
در محاسبه فيلدهاي ارزش بدست آمده اطلاعات خطوط مبنا (Baseline) استفاده
ميشود. در پراجكت ميتوان هر يك از خطوط مبنا را براي انجام اين محاسبات
انتخاب كرد. براي سهولت دسترسي به اين فيلدها در پيكسل قرار داد خاصي رعايت
ميشود. به اين ترتيب كه شماره خطمبناي مورد نظر بعد از نام فيلد آورده
ميشود. به اين ترتيب BCWS1 يعني فيلد BCWS در صورتيكه Baseline1 براي محاسبات
ارزش بدست آمده استفاده شود.
4. فيلدهاي خاص پيكسل: پيكسل فيلدهاي محاسباتي خاصي را نيز به مجموعه
فيلدهاي پراجكت ميافزايد. اين فيلدها عموما براي انجام برخي محاسبات پيشرفته
طراحي شدهاند. مباحث نظري در خصوص اين فيلدها را ميتوانيد در مقاله پيوست
پيدا كنيد.
فيلدهاي خاص پيكسل از نوع فيلدهاي ارزش بدست آمده ميباشند، چرا كه عمدتا بر
اساس اين فيلدها محاسبه ميشوند. به اين ترتيب اين فيلدها وابسته به زمان محسوب
شده، مقدار آنها بستگي به تاريخ وضعيت دارد و همچنين با قرارداد خاص فيلدهاي
ارزش بدست آمده ميتوان آنها را بر اساس هريك از خطوط مبنا محاسبه كرد. به اين
ترتيب مثلا فرمول TF("BP1";;"1383/1/1") مقدار BP را براي پروژه در 1/1/83 بر
اساس Baseline1 محاسبه ميكند.
در اين قسمت فيلدهاي خاص پيكسل توضيح داده ميشوند. در پيوست 1 ميتوانيد
فهرست كليه فيلدهاي قابل استفاده را به تفكيك نوع آن پيدا كنيد.
BP(Baseline Progress)
اين فيلد از دسته فيلدهاي ارزش بدست آمده (Earned Value) است
و پيشرفت مورد نظر مطابق برنامه زمانبندي اوليه را نشان ميدهد:
P = BCWS / Baseline Cost
| |
|
=TF("BP") |
درصد پيشرفت برنامهاي براي كل پروژه را تا
تاريخ وضعيت محاسبه ميكند. |
|
=TF("BP1",3,"1383/10/2") |
درصد پيشرفت برنامهاي فعاليت شماره 3 را
براساس Baseline1 تا تاريخ 2/10/1383 بر ميگرداند. |
|
=TF("BP",,1383/11/1") |
درصد پيشرفت برنامهاي كل پروژه را براساس
Baseline تا تاريخ 1/11/1383 بر ميگرداند. |
=TF("BP1",5) |
درصد پيشرفت برنامهاي فعاليت شماره 5 را براساس Baseline1 تا تاريخ وضعيت
تنظيم شده در پراجكت بر ميگرداند. |
اين فيلد از نوع فيلدهاي خاص پيكسل ميباشد. براي توضيح بيشتر در
خصوص استفاده از اينگونه فيلدها به مقدمه مرجع فيلدها رجوع كنيد. همچنين مباني
نظري اين روش محاسباتي در مقاله پيوست آورده شده است.
AP (Actual Progress)
اين فيلد از دسته فيلدهاي ارزش بدست آمده (Earned Value) است و پيشرفت واقعي
را نشان ميدهد:
AP = BCWP / Baseline Cost
| |
|
=TF("AP") |
درصد پيشرفت واقعي پروژه را تا تاريخ وضعيت
محاسبه ميكند. |
|
=TF("AP2",5,"1383/7/15") |
درصد پيشرفت واقعي فعاليت5 را براساس Baseline2
تا تاريخ 15/7/1383 بر ميگرداند. |
|
=TF("AP",,"1383/4/10") |
درصد پيشرفت واقعي پروژه را براساس Baseline تا
تاريخ 10/4/1383 بر ميگرداند. |
=TF("AP",2) |
درصد پيشرفت واقعي فعاليت 2 را براساس Baseline تا تاريخ وضعيت تنظيم شده
در پراجكت بر ميگرداند. |
اين فيلد از نوع فيلدهاي خاص پيكسل ميباشد، براي توضيح بيشتر در خصوص
استفاده از اينگونه فيلدها به مقدمه مرجع فيلدها رجوع كنيد. همچنين مباني نظيري
اين روش محاسباتي در مقاله پيوست آورده شده است.
PV (Progress Variance)
انحراف پيشرفت از برنامه را نشان ميدهد:
PV = AP – BP
مثال:
| |
|
=TF("PV") |
انحراف پيشرفت از برنامه را براي كل پروژه تا
تاريخ وضعيت نشان ميدهد. |
|
=TF("PV",1)
|
انحراف پيشرفت از برنامه را براي فعاليت شماره
1 تا تاريخ وضعيت نشان ميدهد. |
|
=TF("PV",,"1383/1/1") |
انحراف پيشرفت از برنامه را براي كل پروژه تا
تاريخ 1/1/83 نشان ميدهد. |
=TF("PV",,"1383/1/1",2,1) |
انحراف پيشرفت از برنامه را براي كل پروژه در فروردين ماه 83 محاسبه
ميكند. |
اين فيلد از نوع فيلدهاي خاص پيكسل ميباشد، براي توضيح بيشتر
در خصوص استفاده از اينگونه فيلدها به مقدمه مرجع فيلدها رجوع كنيد. همچنين
مباني نظيري اين روش محاسباتي در مقاله پيوست آورده شده است.
Weight
اين فيلد وزن هر فعاليت را بر اساس ميزان هزينهاش نشان
ميدهد:
Weight = BaselineCost/ Project Baseline Cost
مثال:
| |
|
=TF("Weight",1) |
وزن فعاليت شماره 1 بر اساس Baseline Cost |
|
=TF("Weight2",1)
|
وزن فعاليت شماره 1 بر اساس Baseline2 Cost |
اين فيلد از نوع فيلدهاي خاص پيكسل ميباشد. براي توضيح بيشتر
در خصوص استفاده از اينگونه فيلدها به مقدمه مرجع فيلدها رجوع كنيد. همچنين
مباني نظيري اين روش محاسباتي در مقاله پيوست آورده شده است.
BPS (Baseline Progress Share)
BPS سهم هر فعاليت در پيشرفت برنامهاي پروژه را محاسبه
ميكند:
BPS = BP * Weight
اين فيلد بر اساس وزن (Weight) فعاليت محاسبه شده و نمايانگر
ميزان پيشرفتي است كه يك فعاليت خاص مطابق برنامه بايستي در كل پروژه بوجود
آورد. براي مثال اگر پيشرفت برنامهاي يك فعاليت 50 درصد باشد و وزن آن 10
درصد، ميزان پيشرفتي كه اين فعاليت در كل پروژه (مطابق برنامه) بايستي توليد
كند 5 درصد است.
مثال:
| |
|
=TF("BPS",1) |
سهم پيشرفت برنامهاي فعاليت شماره 1 تا تاريخ
وضعيت. |
=TF("BPS",1,"1383/1/1") |
سهم پيشرفت برنامهاي فعاليت شماره 1 تا تاريخ
1/1/83 |
|
=TF("BPS1",1)
|
سهم پيشرفت برنامهاي فعاليت شماره 1 بر مبناي
Baseline1 |
APS (Actual Progress Share)
APS سهم هر فعاليت در پيشرفت واقعي پروژه را نشان ميدهد:
APS = AP * Weight
اين فيلد بر اساس وزن (Weight) فعاليت محاسبه شده و نمايانگر ميزان پيشرفتي
است كه يك فعاليت خاص در كل پروژه توليد كرده است. براي مثال اگر پيشرفت واقعي
يك فعاليت 50 درصد باشد و وزن آن 10 درصد، ميزان پيشرفتي كه اين فعاليت در كل
پروژه توليد كرده 5 درصد است.
مثال:
| |
|
=TF("APS",1) |
سهم پيشرفت واقعي فعاليت شماره 1 تا تاريخ
وضعيت بر اساس Baseline. |
=TF("APS",1,"1383/1/1") |
سهم پيشرفت واقعي فعاليت شماره 1 تا تاريخ
1/1/83 بر اساس Baseline |
|
=TF("APS1",1)
|
سهم پيشرفت واقعي فعاليت شماره 1 تا تاريخ
وضعيت بر مبناي Baseline1
|
PSV(Progress Share Variance)
انحراف سهم پيشرفت واقعي فعاليت را از برنامه محاسبه ميكند:
SV = APS – BPS
مثال:
| |
|
=TF("PSV",1) |
انحراف سهم پيشرفت واقعي فعاليت شماره 1 را تا
تاريخ وضعيت نشان ميدهد. |
=TF("PSV",1,"1383/1/1") |
انحراف سهم پيشرفت واقعي فعاليت شماره 1 را تا
تاريخ 1/1/83 محاسبه ميكند. |
|
 |
نوار ابزار پيكسل |
|
|
نوار ابزار پيكسل (Pixel Toolbar) براي دسترسي سادهتر كاربر به امكانات
پيكسل طراحي شده است:

براي مشاهده اين نوار، از دستور View/Toolbars استفاده كنيد.
كليدهاي زير برروي اين نوار وجود دارند:
Pixel :
از آن كليد براي مشاهده پنجره اصلي تنظيم پيكسل استفاده ميشود.
Update :
با استفاده از اين كليد، كاربرگ با اتصال مجدد به پرونده پراجكت بروزآوري
ميشود.
Show MSP :
با استفاده از اين كليد مايكروسافت پراجكت و پرونده باز شده در آن نمايش داده
ميشود.
Timescale :
از اين كليد براي درج يك محور زماني (Timescale) در محدودهاي از خانههاي
انتخاب شده استفاده ميشود. براي اينكار ابتدا محدوده مورد نظر را انتخاب كنيد
و اين كليد را فشار دهيد. با اينكار پنجره زير ظاهر ميشود:

برروي اين پنجره و براي درج محور زماني لازم است تاريخ شروع، پايان، نوع
(روز يا ماه يا سال) و تعداد آن مشخص شود. براي اينكار ميتوانيد از تنظيمهاي
پيش فرض انجام شده در پنجره تنظيم استفاده كنيد و يا مقادير جديدي را وارد
كنيد. استفاده از مقادير پيشفرض اين حسن را خواهد داشت كه اگر چند جا محور
زماني داريد، با تغيير در مقادير پيشفرض، تمامي اين محلها تصحيح خواهد شد.
براي مثال با تنظيمهاي زير:

محدوده مورد نظر به شكل زير پر ميشود:

Status Date
بسياري از پارامترهاي محاسباتي (بخصوص پارامترهاي Earned Value) به تاريخ وضعيت
بستگي دارند. تاريخ وضعيت ميتواند از طريق باز كردن پرونده در مايكروسافت
پراجكت تنظيم شود. براي اينكه كاربر بتواند اين تنظيم را با سهولت بيشتري و
بدون مراجعه به مايكروسافت پراجكت انجام دهد؛ اين كليد تعبيه شده است. براي
تنظيم تاريخ وضعيت در MSP، ميتوانيد از اين كليد استفاده كنيد. با فشار دادن
اين كليد، برروي پنجره زير ميتوانيد تاريخ وضعيت را تغيير دهيد:

Date
اين كليد براي تبديل فرمت يك خانه به شكل تاريخ استفاده ميشود و فقط براي
سهولت كار تدارك ديده شده است. بديهي است كاربر ميتواند همچنان از منوي
Format/Cell بدين منظور استفاده كند.
Enter Date
از آنجاييكه امكان ورود اطلاعات تاريخ به صورت تاريخ شمسي در كاربرگهاي اكسل
امكان پذير نيست، از اين كليد براي اينكار استفاده ميشود:

|
 |
مثالهاي كاربردي |
|
|
مثال 1
در اين مثال سعي داريم يك گزارش از ارزش بدست آمده پروژه تهيه نماييم و
راحتي انجام اين كار را با استفاده از پيكسل تجربه كنيم.
در يك صفحه گسترده، عناوين و فرمولهاي زير را وارد ميكنيم:
|
|
|
|
|
|
|
|
B |
C |
D |
E |
|
3 |
|
|
|
|
|
4 |
|
Status Date |
=StatusDate() |
|
|
5 |
|
BaselineCost |
=TF("BaselineCost",) |
|
|
6 |
|
ActualCost |
=TF("ActualCost",) |
|
|
7 |
|
BCWS |
=TF("BCWS",) |
|
|
8 |
|
BCWP |
=TF("BCWP",) |
|
|
9 |
|
ACWP |
=TF("ACWP",) |
|
|
10 |
|
|
|
|
|
11 |
|
|
|
|
سپس با انتخاب pixel از نوار ابزار Pixel اين صفحه گسترده را با فايل پروژه
مورد نظر مرتبط ميكنيم. (نحوه برقراري اين ارتباط در قسمت راهنماي استفاده
توضيح داده شده است). همچنين براي تنظيم تاريخ وضعيت پروژه، از گزينه Status
Date در نوار ابزار Pixel استفاده مينماييم. با استفاده از اين ابزار تنظيم
تاريخ وضعيت پروژه بدون نياز به رفتن به پراجكت و اصلاح آن از منوي
Project/Project Information امكان پذير ميگردد. در اينصورت صفحه گسترده ما به
شكل زير در ميآيد.
|
|
|
|
|
|
|
|
B |
C |
D |
E |
|
3 |
|
|
|
|
|
4 |
|
Status Date |
1383/11/23 |
|
|
5 |
|
BaselineCost |
1000 |
|
|
6 |
|
ActualCost |
600 |
|
|
7 |
|
BCWS |
800 |
|
|
8 |
|
BCWP |
600 |
|
|
9 |
|
ACWP |
800 |
|
|
10 |
|
|
|
|
|
11 |
|
|
|
|
درصورتيكه چند وقت يكبار مجبور به تهيه اين گزارش باشيد؛ با استفاده از
پيكسل، براي دفعات بعدي ديگر نيازي به تهيه يك صفحه گسترده ديگر نداريد. بلكه
فقط كافي است تاريخ وضعيت پروژه را براي گزارش جديد تنظيم نماييد. با اين كار
كليه اطلاعات شما به روز ميشوند. اين كار را با هم امتحان ميكنيم. براي تاريخ
وضعيت 29/11/1383 داريم:
|
|
|
|
|
|
|
|
B |
C |
D |
E |
|
3 |
|
|
|
|
|
4 |
|
Status Date |
1383/11/29 |
|
|
5 |
|
BaselineCost |
1000 |
|
|
6 |
|
ActualCost |
600 |
|
|
7 |
|
BCWS |
1000 |
|
|
8 |
|
BCWP |
600 |
|
|
9 |
|
ACWP |
600 |
|
|
10 |
|
|
|
|
|
11 |
|
|
|
|
مثال 2:
در اين مثال سعي داريم يك نمودار S_Curve رسم نماييم. براي اين كار علاوه
بر استفاده از امكانات پيكسل، از ايده جديدي استفاده ميكنيم كه ربطي به پيكسل
ندارد و توضيح آن در مقاله ارايه شده در انتهاي راهنما آمده است. در تهيه اين
نمودار از دو تابع بنامهاي Baseline Progress و Actual Progress استفاده
ميكنيم كه توضيح چيستي و چگونگي مجاسبه آنها در قسمت توابع مخصوص پيكسل آمده
است.
مطابق جدول زير، فرمولها را وارد صفحه گسترده ميكنيم.
|
B |
C |
D |
E |
2 |
Status Date |
BaselineProgress |
ActualProgress |
|
3 |
Timescale(1) |
=TF("BP",,B3,-1) |
=TF("AP",,B3,-1) |
|
4 |
Timescale(2) |
=TF("BP",,B4,-1) |
=TF("AP",,B4,-1) |
|
5 |
Timescale(3) |
=TF("BP",,B5,-1) |
=TF("AP",,B5,-1) |
|
6 |
Timescale(4) |
=TF("BP",,B6,-1) |
=TF("AP",,B6,-1) |
|
7 |
Timescale(5) |
=TF("BP",,B7,-1) |
=TF("AP",,B7,-1) |
|
8 |
Timescale(6) |
=TF("BP",,B8,-1) |
=TF("AP",,B8,-1) |
|
9 |
Timescale(7) |
=TF("BP",,B9,-1) |
=TF("AP",,B9,-1) |
|
10 |
|
|
|
|
11 |
|
|
|
|
درباره نحوه استفاده از تابع TimeScale ميتوانيد به قسمت معرفي توابع كمكي
پيكسل مراجعه نماييد. با متصل كردن فايل پروژه به اين صفحه گسترده، اطلاعات زير
بدست ميآيند.
|
B |
C |
D |
E |
2 |
Status Date |
BaselineProgress |
ActualProgress |
|
3 |
1383/10/12 |
6% |
6% |
|
4 |
1383/11/13 |
22% |
15% |
|
5 |
1383/12/11 |
41% |
22% |
|
6 |
1384/01/12 |
58% |
36% |
|
7 |
1384/02/11 |
75% |
40% |
|
8 |
1384/03/11 |
93% |
#N/A |
|
9 |
1384/04/10 |
100% |
#N/A |
|
10 |
|
|
|
|
11 |
|
|
|
|
و با استفاده از آن ميتوان نمودار S_Curve مورد نظر را رسم نمود.

مثال 3:
دست اندركاران اغلب پروژهها علاقمند هستند مقايسهاي ميان اوزان فعاليتهاي
مختلف پروژهشان انجام دهند تا از اين طريق به اهميت فعاليتهاي مختلف نسبت به
يكديگر آگاه شوند. در بسياري از پروژهها ميزان وزن فعاليتها بر اساس هزينه
آنها بدست ميآيد. در اين تمرين اقدام به تهيه اين گزارش با استفاده از تابع
Weight كه از توابع مخصوص پيكسل است و توضيح آن در قسمت توابع مخصوص پيكسل آمده
است؛ مينماييم.
طبق معمول ابتدا يك صفحه گسترده جديد در Excel باز مينماييم و مطابق جدول زير،
فرمول وارد ميكنيم.
|
B |
C |
D |
E |
2 |
ID |
Name |
Weight |
|
3 |
1 |
=TF("NAME",B3) |
=TF("WEIGHT",B3) |
|
4 |
2 |
=TF("NAME",B4) |
=TF("WEIGHT",B4) |
|
5 |
3 |
=TF("NAME",B5) |
=TF("WEIGHT",B5) |
|
6 |
4 |
=TF("NAME",B6) |
=TF("WEIGHT",B6) |
|
7 |
5 |
=TF("NAME",B7) |
=TF("WEIGHT",B7) |
|
8 |
|
|
|
|
9 |
|
|
|
|
با مرتبط كردن صفحه گسترده با فايل پروژه، اطلاعات زير بدست ميآيد.
|
B |
C |
D |
E |
2 |
ID |
Name |
Weight |
|
3 |
1 |
تهيه ابزار و رنگ |
0.3 |
|
4 |
2 |
زير سازي و بتونه |
0.2 |
|
5 |
3 |
رنگ آميزي اوليه |
0.1 |
|
6 |
4 |
لكه گيري |
0.15 |
|
7 |
5 |
رنگ آميزي نهايي |
0.25 |
|
8 |
|
|
|
|
9 |
|
|
|
|
نمودار زير بصورت گرافيكي اطلاعات مورد نظر را در اختيار قرار ميدهد.

مثال 4:
در برخي پروژهها بعلت وجود محصولات مشابه هم، مسئولين تمايل دارند نموداري از
درصد پيشرفت مجصولات مشابه را جهت مقايسه آنها با يكديگردر دست داشته باشند.
مثلا در يك پروژه قرار است 6 كانال احداث شود كه 6 تيم بصورت مجزا روي آنها كار
ميكنند. با استفاده از دو تابع Query و ListTaskID ميتوان گزارش مورد نظر را
تهيه نمود. نحوه عملكرد اين توابع در قسمت توابع كمكي پيكسل آمده است.
در يك صفحه گسترده مطابق زير فرمول وارد ميكنيم.
|
B |
C |
D |
E |
G |
2 |
=Query("%complete",,,-1) |
|
|
|
|
3 |
|
شماره كمكي |
ID |
Name |
% Complete |
4 |
|
1 |
=ListTaskID(B$2,C4) |
=TF("Name",D4) |
=TF("PercentComplete",D4) |
5 |
|
2 |
=ListTaskID(B$2,C5) |
=TF("Name",D5) |
=TF("PercentComplete",D5) |
6 |
|
3 |
=ListTaskID(B$2,C6) |
=TF("Name",D6) |
=TF("PercentComplete",D6) |
7 |
|
4 |
=ListTaskID(B$2,C7) |
=TF("Name",D7) |
=TF("PercentComplete",D7) |
8 |
|
5 |
=ListTaskID(B$2,C8) |
=TF("Name",D8) |
=TF("PercentComplete",D8) |
9 |
|
6 |
=ListTaskID(B$2,C9) |
=TF("Name",D9) |
=TF("PercentComplete",D9) |
10 |
|
|
|
|
|
11 |
|
|
|
|
|
سپس آنرا به فايل پروژه مورد نظر متصل ميكنيم. جدول به شكل زير ظاهر
ميشود.
|
B |
C |
D |
E |
G |
2 |
=Query("%complete",,,-1) |
|
|
|
|
3 |
|
شماره كمكي |
ID |
Name |
% Complete |
4 |
|
1 |
4 |
كانال 4 |
50 |
5 |
|
2 |
1 |
كانال 1 |
40 |
6 |
|
3 |
5 |
كانال 5 |
30 |
7 |
|
4 |
2 |
كانال 2 |
10 |
8 |
|
5 |
6 |
كانال 6 |
5 |
9 |
|
6 |
3 |
كانال 3 |
0 |
10 |
|
|
|
|
|
11 |
|
|
|
|
|
و از روي اين جدول ميتوان نمودار زير را تهيه كرد.

مثال 5:
دست اندركاران پروژهها علاقمند هستند بدانند گردش مالي پروژهشان طي
دورههاي گذشته چگونه بوده است. در اين مثال سعي ميكنيم اين گزارش را كه
معمولا Cash Flow مينامند؛ تهيه نماييم.
در يك صفحه گسترده مطابق زير فرمول وارد ميكنيم
|
B |
C |
D |
E |
| |
|
|
|
|
| |
|
|
|
|
3 |
Dates |
BaselineCost |
ActualCost |
|
4 |
=Timescale(1) |
=TF("BaselineCost",,B4,-1) |
=TF("ActualCost",,B4,-1) |
|
5 |
=Timescale(2) |
=TF("BaselineCost",,B5,-1) |
=TF("ActualCost",,B5,-1) |
|
6 |
=Timescale(3) |
=TF("BaselineCost",,B6,-1) |
=TF("ActualCost",,B6,-1) |
|
7 |
=Timescale(4) |
=TF("BaselineCost",,B7,-1) |
=TF("ActualCost",,B7,-1) |
|
8 |
=Timescale(5) |
=TF("BaselineCost",,B8,-1) |
=TF("ActualCost",,B8,-1) |
|
9 |
=Timescale(6) |
=TF("BaselineCost",,B9,-1) |
=TF("ActualCost",,B4,-1) |
|
10 |
=Timescale(7) |
=TF("BaselineCost",,B20,-1) |
=TF("ActualCost",,B20,-1) |
|
22 |
|
|
|
|
سپس آنرا به فايل پروژه مورد نظر متصل ميكنيم. جدول به شكل زير ظاهر
ميشود.
|
B |
C |
D |
E |
| |
|
|
|
|
| |
|
|
|
|
3 |
Dates |
BaselineCost |
ActualCost |
|
4 |
1383/10/12 |
64000 |
41290.3226 |
|
5 |
1383/11/13 |
160000 |
103225.806 |
|
6 |
1383/12/11 |
184000 |
118709.677 |
|
7 |
1384/01/12 |
168000 |
108387.097 |
|
8 |
1384/02/11 |
176000 |
28387.0968 |
|
9 |
1384/03/11 |
176000 |
#N/A |
|
10 |
1384/04/10 |
72000 |
#N/A |
|
11 |
|
|
|
|
نمودار زير بصورت گرافيكي اطلاعات مورد نظر را در اختيار قرار ميدهد.

مثال 6:
در اين مثال نموداري تهيه ميشود كه با استفاده از آن ميتوان به مقايسه
وضعيت برنامه و اجراي فعاليتهاي پروژه پرداخت. در اين مثال از دو تابع
BaselineProgress(BP) و ActualProgress(AP) استفاده نماييم.
در يك صفحه گسترده مطابق زير فرمول وارد مينماييم.
|
B |
C |
D |
E |
2 |
ID |
Name |
BP |
AP |
3 |
1 |
=TF("NAME",B3) |
=TF("BP",B3) |
=TF("AP",B3) |
4 |
2 |
=TF("NAME",B4) |
=TF("BP",B4) |
=TF("AP",B4) |
5 |
3 |
=TF("NAME",B5) |
=TF("BP",B5) |
=TF("AP",B5) |
6 |
4 |
=TF("NAME",B6) |
=TF("BP",B6) |
=TF("BP",B6) |
7 |
5 |
=TF("NAME",B7) |
=TF("BP",B7) |
=TF("AP",B7) |
8 |
|
|
|
|
9 |
|
|
|
|
با متصل نمودن صفحه گسترده به فايل پروژه، جدول زير ايجاد ميشود.
|
B |
C |
D |
E |
2 |
ID |
Name |
BP |
AP |
3 |
1 |
تهيه ابزار و رنگ |
100% |
100% |
4 |
2 |
زير سازي و بتونه |
100% |
100% |
5 |
3 |
رنگ آميزي اوليه |
100% |
80% |
6 |
4 |
لكه گيري |
100% |
0% |
7 |
5 |
رنگ آميزي نهايي |
0% |
0% |
8 |
|
|
|
|
9 |
|
|
|
|
نمودار زير بصورت گرافيكي اطلاعات مورد نظر را در اختيار قرار ميدهد.

|
 |
پيوست1- ليست
فيلدها |
|
|
ActualCost *
ActualDuration
ActualFinish
ActualFixedCost *
ActualOvertimeCost *
ActualOvertimeWork *
Actual Progress +
ActualStart
ActualWork *
ACWP **
AssignmentDelay
Assignment
AssignmentUnits
BaselineCost *
BaselineDuration
BaselineFinish
BaselineProgress +
BaselineStart
BaselineWork *
BCWS **
BCWP **
CompleteThrough
CumulativeCost *
CumulativeWork *
CumulativePercentComplete *
Confirmed
ConstraintDate
Constraint Type
Contact
Cost *
CostRateTable
CostVariance
Cost1-10
CPI **
Created
Critical
CV **
CV%
Date1-10
Deadline
Duration
DurationVariance
Duration1-10
EAC
EarlyFinish
EarlyStart
EarnedValueMethod
EffortDriven
Estimated
ExpectedDuration
ExpectedFinish
ExpectedStart
ExternalTask
Finish
FinishSlack
FinishVariance
Finish1-10 fields
FixedCost *
Flag1-20
FreeSlack
GroupBySummary
HideBar
Hyperlink
HyperlinkAddress
HyperlinkHref
HyperlinkSubAddress
ID
IgnoreResourceCalendar
Indicators
LateFinish
LateStart
LevelAssignments
LevelingCanSplit
LevelingDelay
LinkedFields
ListOfTaskAtLevel ++
ListTaskID ++
Marked
Milestone
Name
NegativeSlack
Notes
Number1-20
Objects
OptimisticDuration
OptimisticFinish
OptimisticStart
OutlineCode1-10
OutlineLevel
OutlineNumber
Overallocated *
OvertimeCost
OvertimeWork *
PercentComplete *
PercentWorkComplete
PessimisticDuration
PessimisticFinish
PessimisticStart
PhysicalPercentComplete
Predecessors
PreleveledFinish
PreleveledStart
Priority
Project
Query ++
Recurring
RegularWork *
RemainingCost
RemainingDuration
RemainingOvertimeCost
RemainingOvertimeWork
RemainingWork
ResourceGroup
ResourceInitials
ResourceNames
ResourcePhonetics
ResourceType
ResponsePending
Resume
Rollup
SPI **
Start
StartSlack
StartVariance
Start1-10
Status
StatusIndicator
Stop
SubprojectFile
SubprojectReadOnly
Successors
Summary
SummaryProgress
SV **
SVPercent
TaskCalendar
TCPI
TeamStatusPending
TextAbove
Text1-30
TimeScale ++
TotalSlack
Type
UniqueID
UniqueIDPredecessors
UniqueIDSuccessors
UpdateNeeded
VAC
WBS
WBSPredecessors
WBSSuccessors
Weight +
WorkContour
Work *
WorkVariance
|
 |
 |
|