GPA Calculations
On this page:
Before running a grade-related report, such as a report card, set up the correct parameters to calculate your school's grade point average. Some schools also choose to factor into the GPA calculation the number of times a student takes a course. Since GPAs are calculated on the fly, any changes take effect immediately and affect all schools on the server.
GPA Calculation Methods
Create GPA calculation methods to define the formula and criteria for GPA calculations. PowerSchool includes four standard calculation methods: Simple, Simple Percent, Weighted, and Weighted Percent. You can modify the standard methods to meet your needs or create an unlimited number of additional calculation methods.
Any changes or additions to the list of calculation methods affect all schools on your server. To share a method with schools on other servers, export the method as a template. If you have the proper permissions, you can remove a calculation method using DDA/DDE.
Once GPA is calculated, the GPA code is used to present GPA information on reports, exports, and student pages. This code always starts with *gpa and is followed by optional parameters that include pairs of names and values.
Examples of the GPA code include:
- ~(*gpa) returns the cumulative weighted GPA for a student for all years at the school
- ~(*gpa method=weighted type=cumulative grade=12 credittypeCORE) returns a weighted GPA for core classes for the student's senior year
The following table lists the parameters and values. All parameters except for "method" are overridden by any settings in the calculation method. Parameters and values can be included in the code in any sequence.
Parameter | Description | Example |
---|---|---|
method | Specifies the name of the specific calculation method that should be used when performing this calculation. If omitted, a method called "weighted" will be used. | method=weighted method=simple method=honors |
type | Specifies the type of the calculation. Valid options are:
If omitted, "cumulative" is used. | type=cumulative |
term | One or more term abbreviations. Only grades whose store codes match the specified abbreviations will be used in the calculation. Separate multiple terms with commas. If omitted, any store code is permitted. If one or more term abbreviations are specified but no grade or year, only grades from the current school year are used. | term=S1 |
grade | One or more grade levels. Only grades stored at the specified grade levels will be used in the calculation. Separate multiple grade levels with commas. If omitted, the historical grade range for the school is used. | grade=12 grade=7,8,9 |
year | One or more four-digit school years. Only grades stored during the specified school years will be used in the calculation. Specify the start year of a school year that spans multiple calendar years. For example, use 2003 for the 2003-2004 school year. Separate multiple years with commas. If omitted, all school years are used. | year=1999 year=1998,1999,2000 |
credittype | One or more credit types. Only grades that match one or more of the specified credit types will be used in the calculation. Separate multiple credit types with commas. If omitted, grades with any credit type, including no credit type, are used. | credittype=English |
scale | The name of the grade scale to use for this calculation. If a particular letter grade is not present in the specified grade scale, that grade will not be included in the calculation. If the name of the grade scale specified is unrecognized, a scale called Default is used. If omitted, the GPA points from the grade itself are used. | scale=Default scale=Standard scale=Honors |
Add GPA Calculation Methods
Note: As an example of how to set up a GPA Calculation Method, consider a school that is currently in the middle of Quarter 4. It is the school's policy to not store grades until after class has ended, but this year's seniors need a projection of their cumulative GPAs to get an early start on their college applications. To accomplish this, you would set Projected Grades are to Current final grades, Do not add grade if to A grade for the course exist in this term and enter Q4, and Stored Credit Hours to Get potential credit from course.
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Calculation Methods.
- Click New.
- Enter the name of the calculation method. This is the name that will be referred to in GPA codes on other pages in PowerSchool.
- Enter a description of the calculation method. This description appears on the GPA Calculation Methods page.
- Enter the formula for the method used to determine the result of the calculation. Formulas can include functions, such as average, round, and sum. Use standard operators, such as + (addition) and * (multiplication), or use logical operators such as = (equal to) and > (greater than).
- Choose a Calculation Type.
- Cumulative: Uses historical grades in the calculation that match the query options specified.
- Current: Uses current final grades in the calculation, as determined in the School Setup area. A current calculation type uses the current final grades from the PowerSchool SIS Teacher. Terms, grade levels, and school years are ignored with this calculation type.
- Projected: Uses historical grades and additional grades as defined in the Projected GPA Options area of the GPA Calculation Method page. A projected calculation type uses historical grades that match the query options specified, plus additional grades determined by any Projected GPA Options.
- To override the GPA points used in the calculation with a single grade scale, choose a grade scale. If a grade scale is specified, the scale parameter of the GPA code is ignored.
- Specify one or more term abbreviations, such as Q1 or S2, to use in the calculation. If the calculation type is Current, terms are ignored. If terms are specified, the term parameter of the GPA code is ignored.
- Specify one or more grade levels to use in the calculation. Use the numeric grade level, such as 11 for the eleventh grade or 0 for kindergarten. If the calculation type is Current, grade levels are ignored. If grade levels are specified, the grade parameter of the GPA code is ignored.
- Specify one or more four-digit school years to use in the calculation. For example, enter 2003 for the 2003-2004 school year. Separate multiple values with commas. Only grades recorded during the specified school years will be included in the calculation. If the calculation type is Current, school years are ignored. If school years are specified, the year parameter of the GPA code is ignored.
- Specify one or more credit types to use in the calculation. Separate multiple values with commas. Only grades whose credit type matches one of the types specified will be included in the calculation. If a historical grade does not have a credit type or if the calculation type is Current, the course's credit type is used. If credit types are specified, the credittype parameter of the GPA code is ignored.
- Select an option for Only include grades if needed:
- That count in GPA: Includes only historical grades that are specified to be included in the GPA. If the calculation type is Current, only grades from courses and sections that have been flagged to be included in GPA will be included in the calculation.
- That count in class rank: Includes only historical grades that are specified to be included in the class rank. If the calculation type is Current, only grades from courses and sections that have been flagged to be included in class rank will be included in the calculation.
- That count in honor roll: Includes only historical grades that are specified to be included in the honor roll. If the calculation type is Current, only grades from courses and sections that have been flagged to be included in honor roll will be included in the calculation.
- With potential credit: Includes only historical grades that have a potential credit that is not zero. If the calculation type is Current, the potential credit is determined by referring to the corresponding course record.
- If the calculation type is Projected, choose the type of grades used for projected GPA calculations.
- If the calculation type is Projected, choose the term for the grade to use in projected GPA calculations. A grade will not be added to the calculation if there already exists a historical grade for the current school year with the same course number for any store code or for the specified store code.
- If the calculation type is Projected, choose the credit hours option used in projected GPA calculations. If projected grades are historical grades, specify whether to use the actual potential and earned credit stored with the grade or to use the potential credit hours from the corresponding course.
- Click Submit.
Edit GPA Calculation Methods
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Calculation Methods.
- Click the name of the calculation method you want to edit.
- Edit the information as needed.
- Click Submit.
Export GPA Calculation Methods
After you create and save a calculation method, you can export the calculation method for use on another PowerSchool server. The option to export the calculation method is available only for saved methods.
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Calculation Methods.
- Click the name of the calculation method to be exported.
- Click Export as template. Save the file as a PowerSchool Template file (*.pst).
Formulas for Calculation Methods
Like a formula in a spreadsheet, create formulas for calculation methods in PowerSchool. Formulas consist of functions and arguments, in most cases. Functions are used to perform operations on values, such as calculating a sum or an average, including a grade point average.
There are five categories of functions:
- Numeric: Such as rounded, truncated by specified number of places
- Logical: Such as "if," "and," "or"
- Statistical: Such as average, max, min, median, product, sum
- Text: Such as ASCII characters, uppercase, repeat text by specified number of times
- GPA functions: Such as number of grades counted in GPA, course numbers, GPA calculation
Results of GPA functions may be arrays of values, which are in braces and separated by commas. For example, the function gpa_percent() may return the result {95.5,83.2,67.8,92} for a student. When you combine the gpa_percent() function with the statistical function average, the formula average(gpa_percent()) returns the result of 84.625 for those four grades.
Embed functions within each other to return the exact result you want. When appending the Round function to the example above to create the formula round(average(gpa_percent()),2), the result is 84.63. The value 2 in the formula indicates the number of digits to round from the decimal point.
You can also use any standard numeric or text operators in a formula, such as + (addition), - (subtraction), *** (multiplication), / (division), * (integer division), *^ (exponentiation), % (modulo), and & (concatenation). The following comparison operators may be used in logical functions: < (less than), <= (less than or equal to), > (greater than), >= (greater than or equal to), = (equal to), and <> (not equal to). For example, use the formula if((average(gpa_percent()))>90,Outstanding Academic Achievement,) to return the phrase Outstanding Academic Achievement if a student's average percentage for the grades exceeds 90 percent. If not, the formula returns nothing.
GPA Attempt Types
When calculating a student's GPA, you may want to consider the number of times he or she attempts to take a course. An attempt is a numerical expression to determine the length of the term. The name of the attempt type is the first letter of the term abbreviation, such as Y for year or S for semester. The corresponding number is the numeric expression, using decimals for fragments of the term.
Attempt types are used by the gpa_attempts() function. Attempts for a grade are determined by looking up the first character of the store code or term abbreviation, which is listed with the attempt type. If a match is found, the value specified for the attempt type is returned. If a match is not found, zero is returned as a result of that function.
Add GPA Attempt Types
If you are using the gpa_attempts() function, set up GPA attempt types to factor the number of times a student takes a course in GPA calculations. Otherwise, it is not necessary to create attempt types.
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Attempt Types.
- Click New.
- Enter the name of the attempt type, which is the first letter of the term abbreviation.
- Enter the value of the attempt type.
Enter a description for the attempt.
- Click Submit.
Edit GPA Attempt Types
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Attempt Types.
- Click the name of the attempt type you want to edit.
- Click Submit.
Delete GPA Attempt Types
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Attempt Types.
- Click the name of the attempt type you want to delete.
- Click Delete.
- Click Confirm Delete.
Set Other GPA Settings
Modify other global settings related to GPA calculations, including the number of decimal places used in credit hours and the ability to prevent modifications of grade scales.
- On the start page, choose District under Setup in the main menu.
- Under Grading, click GPA Calculations.
- Click Miscellaneous.
- Enter the number of places from the decimal point to display for the credit hours.Use the following table to enter information in the fields.
- Click Submit.
Functions
Formulas consist of functions and arguments, in most cases. Functions are used to perform operations on values, such as calculating a sum or an average, including a grade point average (GPA).
There are five categories of functions:
- Numerical functions: Such as rounded, truncated by specified number of places
- Logical functions: Such as "if," "and," "or"
- Statistical functions: Such as average, max, min, median, product, sum
- Text functions: Such as ASCII characters, uppercase, repeat text by specified number of times
- GPA functions: Such as number of grades counted in GPA, course numbers, GPA calculation
Functions must always include the parentheses, even if no arguments are specified. When specifying arguments to functions, be sure to enclose text values in quotation marks.
GPA Samples
Sample GPA formulas are listed below to illustrate the options available.
PowerSchool's traditional cumulative weighted GPA, rounded to 3 decimal places:
round((gpa_sum(gpa_gpapoints()*gpa_potentialcredit()/sum(gpa_potentialcredit()),3)
PowerSchool's traditional cumulative simple GPA, truncated to 2 decimal places:
trunc((average(gpa_gpapoints()),2)
A value added GPA:
average(gpa_gpapoints())+sum(gpa_addedvalue())
The number of A grades received:
countof(A,gpa_grade())+countof(A+,gpa_grade())+countof(A-,gpa_grade())
Total of all earned credit:
sum(gpa_earnedcredit())
The text "You are a star student!" if the student received more than 3 A+ grades:
if(countof(A+,gpa_grade())>=3,You are a star student!,)
The list of all letter grades, GPA points, and potential credit values used by the calculation:
gpa_grade()&&gpa_gpapoints()&&gpa_potentialcredit()
The result of one GPA calculation if the student has any grades with added value, or the result of another if not:
if(sum(gpa_addedvalue())>0,gpa_calculation(honors),gpa_calculation(standard))
Numerical Functions
Functions are used to perform operations on values, such as rounding numbers to a specified number of digits. The functions in this category are listed alphabetically.
Most functions have at least one required argument, though some do not accept any arguments. Optional arguments are surrounded by braces { }. A brief description and one or more examples follow each function.
Function name or alternate function | Function | Description | Examples |
---|---|---|---|
Abs (Absolute Value) | abs(number) | Returns the absolute value of the number. The result is either a positive number or zero. | abs(-4) returns 4 abs(78) returns 78 abs(0) returns 0 |
Dec (Decimal) or Frac (Fraction) | dec(number) | Returns the decimal (fractional) part of a real number. The result is always positive. | dec(22.575) returns 0.575 dec(-4.12) returns 0.12 |
Exp (Exponent) | exp(number) | Returns e raised to the power of the number. The constant e equals 2.718281828459, the base of the natural logarithm. | exp(1) returns 2.71828... exp(0.707) returns 2.02811... |
Fact (Factorial) | fact(number) | Returns the factorial of the number, equal to 1*2*3*...*number. If the number is negative, returns the #NUM! error value. | fact(5) returns 120 fact(7) returns 5040 |
Int (Integer) | int(number) | Rounds the number down to the nearest integer. If the number is positive, returns the integer equal to or less than the number. If the number is negative, rounds down to the next lowest whole number. | int(5.76) returns 5 int(-42.123) returns -43 |
Ln (Natural Log) | ln(number) | Returns the natural logarithm of the number. If the number is negative, returns the #NUM! error value. | round(ln(2.71828),3) returns 1 ln(4) returns 1.3863... |
Log2 (Log to Base 2) | log2(number) | Returns the logarithm of the number to base 2. If the number is negative, returns the #NUM! error value. | log2(43) returns 5.4263... |
Log10 (Log to Base 10) | log10(number) | Returns the logarithm of the number to base 10. This is the inverse of the number E in scientific notation. If the number is negative, returns the #NUM! error value. | log10(100000) returns 5 |
Log | log(number{,base}) | Returns the logarithm of the number to a base. If the base is omitted, uses 10. If the number or base is negative, returns the #NUM! error value. | log(10000) returns 4 log(10000,6) returns 5.1404... |
Mod (Modulo) | mod(number,divisor) | Returns the remainder when the number is divided by the divisor. The result has the same sign as the value of the number being divided. If the number or divisor is a real number, it will be rounded before calculating the modulo. | mod(5,-2) returns 1 mod(23,7) returns 2 |
Pi | pi() | Returns pi, the ratio of a circle's circumference to its diameter. | pi() returns 3.141592653589793116 |
Power | power(number,power) | Returns the result of the number raised to a power. | power(2,8) returns 256 power(14,0.5) returns 3.7417... |
Rand (Random) | rand({number}) | Returns a random number between 0 and the number. If the number is omitted, the returned value is between 0 and 1. | rand() returns 0.8462... rand(50) returns 31.4896... |
Round | round(number,digits) | Returns a number rounded to the specified number of digits from the decimal point. If digits is positive, it specifies the number of digits to the right of the decimal point. If negative, it specifies the number of digits to the left of the decimal point. | round(59.72893,3) returns 59.729 round(115925.45,-3) returns 116000 |
Sign | sign(number) | Returns 1 when the number is positive, -1 when it is negative, and 0 when it is zero. | sign(42) returns 1 sign(-827.32) returns -1 sign(0) returns 0 |
Sqrt (Square Root) | sqrt(number) | Returns the positive square root of the number. If the number is negative, returns the #NUM! error value. | sqrt(25) returns 5 sqrt(86) returns 9.2736... |
Trunc (Truncate) | trunc(number{,digits}) | Truncates the number by removing the decimal (fractional) part of the number. If digits is specified, it specifies the precision (number of decimal places) to truncate. | trunc(548.14687) returns 548 trunc(3.4583,2) returns 3.45 |
Logical Functions
Functions are used to perform operations on values, such as returning a specified number if certain conditions are met. The functions in this category are listed alphabetically.
Most functions have at least one required argument, though some do not accept any arguments. Optional arguments are surrounded by braces { }. A brief description and one or more examples follow each function.
Function name or alternate function | Function | Description | Examples |
---|---|---|---|
And | and(logical1{,logical2,...}) | Returns 1 if all of the arguments are true (not zero), or 0 if any argument is false (zero). | and(1,0,1,43) returns 0 and((5=5),1) returns 1 |
If | if(logical,true_value,false_value) | Returns the true_value if the logical argument is true (not zero), or the false_value if the logical argument is false (zero). | if(1,100,0) returns 100 if(gpa_count()>20,Lots,Few) returns Few |
IsBlank | isblank(text) | Returns 1 if the text is blank or 0 if it is a number or contains text. | isblank(83.2) returns 0 isblank(test) returns 0 isblank() returns 1 |
IsEven | iseven(number) | Returns 1 if the number is zero or evenly divisible by 2, or 0 if it is not. | iseven(42) returns 1 iseven(-17) returns 0 |
IsLogical | islogical(value) | Returns 1 if the argument can be interpreted as a logical value (0 or 1), or 0 if it cannot. | islogical(0) returns 1 islogical(gpa) returns 0 |
IsNumber | isnumber(value) | Returns 1 if the argument is a number, or 0 if it is text. | isnumber(3.412) returns 1 isnumber(A+) returns 0 |
IsOdd | isodd(number) | Returns 1 if the number is not zero or evenly divisible by 2, or 0 if it is. | isodd(42) returns 0 isodd(-17) returns 1 |
IsText | istext(value) | Returns 1 if the argument is text, or 0 if it is a number. | istext(0) returns 0 istext(gpa) returns 1 |
Not | not(logical) | Reverses the logic of the logical value: Returns 1 if logical is false (zero), or 0 if logical is true (not zero). | not(1) returns 0 not(5=4) returns 1 |
Or | or(logical1{,logical2,...}) | Returns 1 if any of the arguments are true (not zero), or 0 if all are false (zero). | or(0,0,1,0) returns 1 or((5=4),0) returns 0 |
Statistical Functions
Functions are used to perform operations on values, such as calculating a sum or an average. The functions in this category are listed alphabetically.
Most functions have at least one required argument, though some do not accept any arguments. Optional arguments are surrounded by braces { }. A brief description and one or more examples follow each function.
Function name or alternate function | Function | Description | Examples |
---|---|---|---|
Average or Avg or Mean | average(number1{,number2,...}) | Returns the average (arithmetic mean) of the numeric arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. | average(12,18,25,15) returns 17.5 average(gpa_percent()) returns 80.5 |
Count | count(value1{,value2,...}) | Returns the number of arguments given. The arguments may be individual values or results of functions that return arrays of values. | count(12,18,25,15) returns 4 count(gpa_percent()) returns 5 |
CountOf | countof(search_value,value1 | Returns the number of occurrences of search_value in the remaining arguments. The arguments may be individual values or results of functions that return arrays of values. | countof(3.5,4,3.75,3.5,3,3, 4,3,2,3.5,2.5,3) returns 2 countof(A,gpa_grade()) returns 1 |
Distinct | distinct(value1{,value2,...}) | Returns an array of the unique values found in the arguments. The arguments may be individual values or results of functions that return arrays of values. | distinct(4,3.75,3.5,3,3, 4,3,2,3.5,2.5,3) returns {4,3.75,3.5,3,2,2.5} distinct(gpa_grade()) returns {A,B+,B,C+,F} |
Geomean (Geometric Mean) | geomean(number1 | Returns the geometric mean of the positive numeric arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. If any argument is negative, returns the #NUM! error value. | geomean(12,18,25,15) returns 16.8702... geomean(gpa_percent()) returns 79.0972... |
Harmean (Harmonic Mean) | harmean(number1 | Returns the harmonic mean of the positive numeric arguments, the reciprocal of the arithmetic mean of reciprocals. The arguments may be individual numbers or results of functions that return arrays of numbers. If any argument is negative, returns the #NUM! error value. | harmean(12,18,25,15) returns 16.2896... harmean(gpa_percent()) returns 77.5126... |
Max (Maximum) | max(number1 | Returns the largest number in the list of arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. | max(12,18,25,15) returns 25 max(gpa_percent()) returns 96.2 |
Maxa (Maximum Alphabetic) | maxa(value1 | Sorts the arguments alphabetically, then returns the last value. The arguments may be individual values or results of functions that return arrays of values. | maxa(red,white,blue,green) returns white |
Median | median(number1 | Returns the median of the numeric arguments. The median is the number in the middle; half of the numbers are greater than the median, half are less. If there is an even number of arguments, returns the average of the two numbers in the middle. | median(1,2,3,4,5) returns 3 median(1,2,3,4,5,6) returns 3.5 median(gpa_gpapoints()) returns 3.333 |
Min (Minimum) | min(number1 | Returns the smallest number in the list of arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. | min(12,18,25,15) returns 12 min(gpa_percent()) returns 54.8 |
Min (Minimum Alphabetic) | mina(value1 | Sorts the arguments alphabetically, then returns the first value. The arguments may be individual values or results of functions that return arrays of values. | mina(red,white,blue,green) returns blue |
Mode | mode(value1 | Returns the mode of the arguments. The mode is the most frequently occurring, or repetitive, value. If no value repeats, returns #N/A. In the case of a uniform distribution, or multiple modes, returns only one value. The arguments may be individual values or results of functions that return arrays of values. | mode(12,18,25,15) mode(12,18,25,15,19, 14,18,9,16,20) returns 18 mode(gpa_gpagrade()) returns B |
Product | product(number1 | Multiplies all the numeric arguments and returns the result. The arguments may be individual numbers or results of functions that return arrays of numbers. | product(12,18,25,15) returns 8100 |
Range | range(number1 | Returns the difference between the largest and smallest numeric arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. | range(12,18,25,15) returns 13 range(gpa_gpapoints()) returns 4 |
Stdev (Standard Deviation) | stdev(number1,number2 | Calculates the standard deviation of a population based on a sample given as a list of arguments using the nonbiased or n-1 method. A standard deviation is a measure of how widely values are dispersed from the average value (arithmetic mean). The arguments may be individual numbers or results of functions that return arrays of numbers. If your data represents the entire population, use Stdevp. | stdev(12,18,25,15) returns 5.56778... stdev(gpa_percent()) returns 15.6962... |
Stdevp (Standard Deviation Population) | stdev(number1,number2 | Calculates the standard deviation of an entire population given as a list of arguments using the biased or n method. A standard deviation is a measure of how widely values are dispersed from the average value (arithmetic mean). The arguments may be individual numbers or results of functions that return arrays of numbers. If your data represents a sample of the population, use Stdev. | stdev(12,18,25,15) returns 4.8218... stdev(gpa_percent()) returns 14.0391... |
Sum | sum(number1 | Adds all the numeric arguments and returns the result. The arguments may be individual numbers or results of functions that return arrays of numbers. | sum(12,18,25,15) returns 70 sum(gpa_potentialcredit()) returns 4 |
Var (Variance) | var(number1,number2 | Returns the variance of a population based on a sample given as a list of arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. If your data represents the entire population, use Varp. | var(12,18,25,15) returns 31 var(gpa_gpapoints()) returns 2.5138... |
Varp (Variance Population) | var(number1,number2 | Returns the variance of an entire population given as a list of arguments. The arguments may be individual numbers or results of functions that return arrays of numbers. If your data represents a sample of the population, use Var. | varp(12,18,25,15) returns 23.25 varp(gpa_gpapoints()) returns 2.0110... |
Text Functions
Functions are used to perform operations on values, such as joining two strings of text together. The functions in this category are listed alphabetically.
Most functions have at least one required argument, though some do not accept any arguments. Optional arguments are surrounded by braces { }. A brief description and one or more examples follow each function.
Function name or alternate function | Function | Description | Examples |
---|---|---|---|
Char (Character) | char(number) | Returns the ASCII character corresponding to the number. The ASCII set used is the Macintosh extended ASCII set. | char(65) returns A char(92) returns \ |
Code (ASCII Code) | code(text) | Returns the numeric ASCII code of the first character in the text. The ASCII set used is the Macintosh extended ASCII set. | code(A) returns 65 code(gpa is fun) returns 103 |
Concatenate or Concat | concatenate(text1{,text2,...}) | Joins several strings of text into one string of text. | concatenate(gpa,is,fun) returns gpaisfun concatenate(gpa_count(),,grades) returns 29 grades |
Exact | exact(text1,text2) | Returns 1 if both arguments are identical in case and characters, or 0 if different. | exact(GPA,gpa) returns 0 exact(Mr. Smith,Mr. Smith) returns 1 |
Left | left(text{,num_characters}) | Returns the first (leftmost) character or characters in the text. If num_characters is omitted, returns 1 character. | left(GPA) returns G left(Mr. Smith,3) returns Mr. |
Len (Length) | len(text) | Returns the number of characters in the text, including spaces, numbers, and special characters. | len(GPA) returns 3 len(Mr. Smith) returns 8 |
Lower | lower(text) | Converts any uppercase characters in the text to lowercase. | lower(GPA) returns gpa lower(Mr. Smith) returns mr. smith |
Mid (Middle) | mid(text,start_position, | Returns a specific number of characters from the text starting at the position you specify. | mid(GPA,1,1) returns P mid(Mr. Smith,3,4) returns . Smi |
Proper | proper(text) | Capitalizes the first letter and any letter following a non-letter in the text. | proper(GPA) returns Gpa proper(2-cent's worth) returns 2-Cent'S Worth |
Replace | replace(text,start_position, | Replaces num_characters characters of text with the new_text starting at the position you specify. | replace(gpa codes,4,5,is fun) returns gpa is fun replace(Mr. Smith,1,3,Mrs.) returns Mrs. Smith |
Rept (Repeat) | rept(text,number_times) | Repeats the text the specified number of times. | rept(gpa is fun ,5) returns gpa is fun gpa is fun gpa is fun gpa is fun gpa is fun rept(-,average(gpa_gpapoints())*4) returns ----------- |
Right | right(text{,num_characters}) | Returns the last (rightmost) characters in the text. If num_characters is omitted, returns 1 character. | right(GPA) returns A right(Mr. Smith,4) returns mith |
Trim | trim(text) | Removes leading, trailing, and extra spaces from the text. | trim( gpa is fun ) returns gpa is fun |
Upper | upper(text) | Converts any lowercase characters in the text to uppercase. | upper(gpa is fun) returns GPA IS FUN upper(Mr. Smith) returns MR. SMITH |
GPA Functions
Functions are used to perform operations on values, such as returning the number of grades used to determine a student's GPA. The functions in this category are listed alphabetically. For more information about GPA functions, see the PowerSchool Community.
Most functions have at least one required argument, though some do not accept any arguments. Optional arguments are surrounded by braces { }. A brief description and one or more examples follow each function.
Function name or alternate function | Function | Description | Examples |
---|---|---|---|
GPA_AddedValue | gpa_addedvalue() | Returns a numeric array listing the added value for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_addedvalue() |
GPA_Attempts | gpa_attempts() | Returns a numeric array listing the attempts for each grade used in the GPA calculation. The attempts are determined by comparing the first character of the store code to a lookup table defined in District Setup. If the character is not found in the lookup table, a zero is used. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_attempts() |
GPA_Calculation | gpa_calculation(text) | Returns the result of the GPA calculation method whose name is specified. | gpa_calculation(weighted) |
GPA_Concat | gpa_concat(formula) | Evaluates the formula once for every grade used in the GPA calculation and returns a concatenated string of the results.
Note: A gpa_concat() or gpa_sum() function cannot be used within the formula. | gpa_concat(if(left |
GPA_Count | gpa_count() | Returns the number of grades used in the GPA calculation. Functionally equivalent to count(gpa_grade()), but faster. | gpa_count() returns 8 |
GPA_CountSchoolYears | gpa_countschoolyears() | Returns the number of unique school years (not grade levels) for the grades used in the GPA calculation. | gpa_countschoolyears() |
GPA_CountUniqueCourses | gpa_countuniquecourses() | Returns the number of unique courses (based on course number) for the grades used in the GPA calculation. | gpa_countuniquecourses() returns 6 |
GPA_CountYearTerms | gpa_countyearterms() | Counts the number of unique store codes in each school year, then returns a grand total. | gpa_countyearterms() |
GPA_CourseNumber | gpa_coursenumber() | Returns a text array listing the course numbers for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_coursenumber() |
GPA_EarnedCredit | gpa_earnedcredit() | Returns a numeric array listing the earned credit hours for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_earnedcredit() |
GPA_GPAPoints | gpa_gpapoints() | Returns a numeric array listing the gpa points for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_gpapoints() |
GPA_Grade | gpa_grade() | Returns a text array listing the letter grade for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_grade() |
GPA_GradeLevel | gpa_gradelevel() | Returns a numeric array listing the grade level for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_gradelevel() |
GPA_Percent | gpa_percent() | Returns a numeric array listing the percentage for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_percent() |
GPA_PotentialCredit | gpa_potentialcredit() | Returns a numeric array listing the potential credit hours for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_potentialcredit() |
GPA_StoreCode | gpa_storecode() | Returns a text array listing the store code for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_storecode() returns {Q1,Q2,S1,S1,S2} |
GPA_Sum | gpa_sum(formula) | Evaluates the formula once for every grade used in the GPA calculation and returns the numeric total of the results.
Note: A gpa_concat() or gpa_sum() function cannot be used within the formula. | gpa_sum(gpa_gpapoints() |
GPA_TermID | gpa_termid() | Returns a numeric array listing the term ID for each grade used in the GPA calculation. If used within gpa_concat() or gpa_sum(), returns a single value. See the note in gpa_sum(). | gpa_termid() returns |