Diagram 1
The diagram above is a cross diagram which is made by crossing 2 axes together:
- The x-axis has 4 options: Custom Service, Product, Web site and Brand.
- The y-axis has 3 options: Same Quarter Last Year, Last Quarter and This Quarter. Calculations for these options are based on values stored in a custom column in the data cache. These values, which are calculated on corresponding values in the EndDate column, indicate whether an RPQ was finished in this quarter, last quarter, or the same quarter last year.
The following steps show you how to create the above diagram
Step 1. Create a new axis set in DCS list based on the EndDate column.
1. Open the Data Cache in Data Cache list (Tools/ Data / Data Caches).
2. In the Data Cache tab:
2.1 Select Column’s type then click “Add Column” button to insert a new Custom column
- The new Custom column is used to define the Quarter which this record is related to the current day in the system.
- Data type: Number
- Save numbers: 0,1,4 and null.
0: if the date of the EndDate column is in the same quarter of current date in the system.
1: if the date of the EndDate column is in the previous quarter of current date in the system.
4: if the date of the EndDate column is in the same quarter but in the last year of current date in the system.
Null: if the date of the EndDate column is in other quarters.
2.2 Put the CGScript which defines Current Quarter, Last Quarter and the Same Quarter Last Year
- Input Name of the Custom column, this name will be an option of the axis set.
- Insert the CGSript.
// CGScript
array a = stringSplit(EndDate, " "); // get value of the EndDate column
string s = a[0];
a = stringSplit(s, "/"); // omit character “/”
number endDateYear = convertToNumber(a[2]); // get the year of the date in the EndDate column
number endDateMonth = convertToNumber(a[0]); // get the month of the date in the EndDate column
number endDateDay = convertToNumber(a[1]); // get the day of the date in the EndDate column
array today = getDateTime(); // get the current date
number todayYear = today[DateTime_Year]; // get the year of the current date
number todayMonth = today[DateTime_Month]; // get the month of the current date
number TodayQuarter = 1; // save the quarter which the current date related to
number endDateQuarter = 1; // save the quarter which the day in the EndDate column related to
number IsLastQuarter = 1;
number IsThisQuarter = 0;
number IsSameQuarterLastYear = 4;
if (todayMonth == 1 || todayMonth == 2 || todayMonth == 3)
TodayQuarter = 1;
else if (todayMonth == 4 || todayMonth == 5 || todayMonth == 6)
TodayQuarter = 2;
else if (todayMonth == 7 || todayMonth == 8 || todayMonth == 9)
TodayQuarter = 3;
else TodayQuarter = 4;
if (endDateMonth == 1 || endDateMonth == 2 || endDateMonth == 3)
endDateQuarter = 1;
else if (endDateMonth == 4 || endDateMonth == 5 || endDateMonth == 6)
endDateQuarter = 2;
else if (endDateMonth == 7 || endDateMonth == 8 || endDateMonth == 9)
endDateQuarter = 3;
else endDateQuarter = 4;
if (endDateYear == todayYear && endDateMonth == todayMonth)
return IsThisQuarter;
else if (endDateYear == todayYear && TodayQuarter - endDateQuarter == 1)
return IsLastQuarter;
else if (todayYear - endDateYear == 1 && endDateMonth == todayMonth)
return IsSameQuarterLastYear;
//End Script
3. Go to the Axis set tab: Create a new axis set
3.1 Create a new axis set