Vous êtes sur la page 1sur 40

Formulas & Functions

KiSSFLOW Formulas and Functions


KiSSFLOW holds certain predefined functions that helps you
populate the default information such as, Email ID of the initiator,
department ID of the user and so on. You do not have to perform
any special configuration to display or manipulate a system field
that is using KiSSFLOW functions.
These functions are defined for all work item types to track the
information for a type of work item.
You can use these functions specific to KISSFLOW in the formula
section of the fields of a form in Design Form stage of the process
creation wizard.

System Fields & Formulas


In KiSSFLOW, there is a default user process that holds the basic
information of all the users in the organization such as: user ID,
the department, location, department head, and the location
head of the user. When you go live before using the KiSSFLOW
product, you have to upload all the required basic information.
This information is stored in the user management. The specific
data is retrieved by the KiSSFLOW functions from this particular
process whenever required.

The following are the different types of system fields/ formula


available in KiSSFLOW:

System Fields & Formulas


KiSSFLOW Function
createdby
createdby.fullname
createdat

Format
Text
Text
Date

Modifiedat

Date

createdby.manager
department.departmentname

Text
Text

department.departmenthead

Text

location.locationname

Text

location.locationhead

Text

SequenceNo

Number

Description
Returns the email ID of the initiator
Returns the full name of the initiator
Returns the date when the record was
created by initiator
Returns the date when the record was last
updated
Returns the manager of the initiator
Returns the department name of the initiator
Returns the department head of the
initiator's department
Returns the location information of the
initiator
Returns the location head of the initiator's
location
Returns the running sequence number
generated for every item.

LOGICAL FUNCTIONS

IF function
The logical functions to return one value if a condition
is true and another value if it is false.
Syntax: IF(logical_test, value_if_true, [value_if_false])
For example:
=IF(Budget_Available<RequestedAmount,"Over Budget","OK")
=IF(A4=500,B4-A4,"")
Argument name

Description

logical_test (required) The condition you want to test.

value_if_true(require The value that you want returned if the result of logical_test is
d)
TRUE.
value_if_false
(optional)

The value that you want returned if the result of logical_test is


FALSE.

AND
The AND function returns TRUE if all its arguments
evaluate to TRUE; returns FALSE if one or more arguments
evaluate to FALSE. One common use for the AND function
is to expand the usefulness of other functions that
perform logical tests.
For example, the IF function performs a logical test and
then returns one value if the test evaluates to TRUE and
another value if the test evaluates to FALSE. By using the
AND function as the logical_test argument of the IF
function, you can test many different conditions instead of
just one.

AND function syntax


Syntax
AND(logical1, [logical2], ...)
The AND function syntax has the following arguments:
logical1 Required. The first condition that you want to test that can evaluate
to either TRUE or FALSE.
logical2, ... Optional. Additional conditions that you want to test that can
evaluate to either TRUE or FALSE, up to a maximum of 255 conditions.
Remarks
The arguments must evaluate to logical values, such as TRUE or FALSE,
or the arguments must be arrays or references that contain logical
values.
If an array or reference argument contains text or empty cells, those
values are ignored.
If the specified range contains no logical values, the AND function
returns the #VALUE! error value.

OR function
The OR function returns TRUE if any argument is TRUE;
returns FALSE if all arguments are FALSE.
Syntax
OR(logical1, [logical2], ...)
The OR function syntax has the following arguments:
Logical1, logical2, ... Logical1 is required, subsequent
logical values are optional. 1 to 255 conditions you want
to test that can be either TRUE or FALSE.
Remarks
The arguments must evaluate to logical values such as
TRUE or FALSE, or in arrays or references that contain
logical values.
If an array or reference argument contains text or empty
cells, those values are ignored.

D FUNCTIONS

D functions
KiSSFLOW supports commonly used spreadsheet formulas, to perform the
business logic in the app, such as, identifying the length of a text field using
Len(), getting the month & year from a date using Month() & Year()
respectively, calculating the difference between dates excluding the
weekends using Networkdays() and using the If() to calculate either this or
that etc All of these formulas are very helpful and easy to use if the
results are based on the fields available in the parent form.
Now, the question is, how do you perform an aggregate function based on
the fields in a table in the form? Such as, identifying the total sum of the
sub cost of each Line Item in a Purchase Request app. How do you, prepopulate a value from a master or another process without using a Lookup
field? Such as, pre-populating the Employee Department & Employee DOJ
from the Employee master while initiating an app.
The answer to the above question, using the D Functions in KiSSFLOW.

DSUM function
This function is used to calculate the totals of the field from a
table in a form. (refer figure 1)
Syntax DSUM(<tableName>.<field_name>,<criteria>)
The DSUM function has the following arguments
<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table

<criteria>
It's optional. The criteria can be used to sum a specific set of item cost. For
example, to sum all the item cost of the category IT. The syntax would be
<tableName>.<field_name> = <value or field_name>

Example DSUM(PR_Line_Items.Item_Total)
Result $6250.00

Figure-1

DCOUNT function
This function is used to count the number of items based on a number field, in a
table. For example, to get the count of total items based on the Quantity from the Line Item
table. (refer figure 1)
Syntax DCOUNT(tableName.field)
The DCOUNT function has the following arguments

<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table
<criteria>
It's optional. The criteria can be used to count a specific set of item. For example, to
count all the item where the quantity is more than 10. The syntax would be
<tableName>.<field_name> = <value or field_name>
Example DCOUNT(PR_Line_Items.Quantity)
Result 3

Example with Criteria DCOUNT(PR_Line_Items.Quantity,PR_Line_Items.Quantity>=10)


Result 2

DCOUNTA function
This function is used to calculate the count the number of items based on a text
field, in a table. For example, to get the count of total items based on the Item Description
from the Line Item table. (refer figure 1)

Syntax DCOUNTA(tableName.field)
The DCOUNTA function has the following arguments
<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table
<criteria>
It's optional. The criteria can be used to count a specific set of item. For example, to
count all the item where the quantity is more than 10. The syntax would be
<tableName>.<field_name> = <value or field_name>
Example DCOUNTA(PR_Line_Items.Item_Description)
Result 3
Example with Criteria DCOUNTA(PR_Line_Items.Quantity,PR_Line_Items.Quantity>=10)
Result 2

DMIN function
This function is used to determine the minimum value of item in a table. For
example, get the minimum unit price of an item from the Line Item table. (refer figure 1)
Syntax DMIN(tableName.field)
The DMIN function has the following arguments
<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table
<criteria>
It's optional. The criteria can be used to determine the minimum value among the
specific set of item. For example, to count all the item where the quantity is more than
10. The syntax would be <tableName>.<field_name> = <value or field_name>

Example DMIN(PR_Line_Items.Unit_Price)
Result 150
Example with Criteria DMIN(PR_Line_Items.Unit_Price,PR_Line_Items.Quantity>=10)
Result 150

DMAX function
This function is used to determine the maximum value of item in a table. For
example, get the maximum unit price of an item from the Line Item table.
(refer figure 1)
Syntax DMAX(tableName.field)

The DMAX function has the following arguments


<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table

<criteria>
It's optional. The criteria can be used to determine the Maximum value among the
specific set of item. For example, to count all the item where the quantity is more
than 10. The syntax would be <tableName>.<field_name> = <value or field_name>

Example DMAX(PR_Line_Items.Unit_Price)
Result 450

DLOOKUP function
This function is used to lookup and fetch a field value from another KiSSFLOW
process or Master. For example, to get the value of Item Rate field from Item Master you
can use this function.

Syntax
DLOOKUP(<lookup_process/master_name>.<fetching field>, <criteria>, <orderby cell>,
<order>)
The DLOOKUP function has the following arguments

<lookup_Process / master_name >.<fetching field> (Required)

<lookup_Process / master_name > - Name of the process or master


<fetching_field> - Field Name in the Process / Master

<Criteria> (Required)- Condition to fetch the data. You can also use AND, OR or If
condition here. The syntax for the criteria should be <Master/Process.Field Name>
<Condition> <Field in the Current Process>.
Eg. "Item_Master.Description = Item_Name".
<orderby cell> Optional - The field on which the data will be sorted . If not mentioned
then the sorting will be done on the <fetching_field>
<order> Optional - the value for this argument could be asc or desc. This determines
the sorting order. By default it is desc. Also you can write a formula that returns either
asc or desc to make it more dynamic

Figure 2

DLOOKUP contd
To lookup Price from Item Master, the formula looks like this
DLOOKUP(Item_Master.Price,Item_Master.Description = Item_Name)

In the above example the Item_Name is a field in the current


process and the value will be passed from the current form.
Note
If you need to fetch the value from the same app currently
working, then just replace the table name with Self.
That is, if you want to calculate the total PR Value in the purchase
request , then the formula will be

DSUM(self.PR_value)

DCONCATENATE functions
This function is used to concatenate a text field in a table.

Syntax : DCONCATENATE(tablename.field)
The DCONCATENATEfunction has the following arguments
<tableName>.<field_name>
<tableName> - Name of the table
<field_name> - Field Name in the table

<criteria>
It's optional. The criteria can be used to count a specific set of item. For example, to
count all the item where the quantity is more than 10. The syntax would be
<tableName>.<field_name> = <value or field_name>

Example DCONCATENATE(PR_Line_Items.Item_Description)
Result KeyboardMouseWebcam

Example with Criteria


DCONCATENATE(PR_Line_Items.Item_Description,PR_Line_Items.Quantity>=10)
Result KeyboardMouse

TEXT FUNCTIONS

TEXT function
The TEXT function converts a numeric value to text and lets you specify
the display formatting by using special format strings. This function is
useful in situations where you want to display numbers in a more
readable format, or you want to combine numbers with text or symbols.
For example, suppose field A1 contains the number 23.5.
To format the number as a dollar amount, you can use the following
formula:=TEXT(A1,"$0.00")In this example, Excel displays $23.50.You can
also format numbers by using the commands in the Number group on the
Home tab of the Ribbon. However, these commands work only if the value
is numeric. If you want to format a number and combine it with other
text, the TEXT function is the best option.
For example, you can add text to the preceding
formula:=TEXT(A1,"$0.00") & " per hour"Excel displays $23.50 per hour.

TEXT Function - Syntax


Syntax
TEXT(value, format_text)
The TEXT function syntax has the following arguments:
Value Required. A numeric value, a formula that evaluates to a numeric
value, or a reference to a field containing a numeric value.
Format_text Required. A numeric format as a text string enclosed in
quotation marks, for example "m/d/yyyy" or "#,##0.00". See the following
sections for specific formatting guidelines. Guidelines for number formats
Display decimal places and significant digits To format fractions or
numbers that contain decimal points, include the following digit
placeholders, decimal points, and thousand separators in the format
text argument.

More options in TEXT function


Placeholder

Description

0 (zero)

Displays insignificant zeros if a number has fewer digits than there are zeros in the
format. For example, if you type 8.9, and you want it to be displayed as 8.90, use the

format #.00.
#

Follows the same rules as the 0 (zero). However, Excel does not display extra zeros
when the number that you type has fewer digits on either side of the decimal than
there are # symbols in the format. For example, if the custom format is #.##, and you

type 8.9 in the cell, the number 8.9 is displayed.


?

Follows the same rules as the 0 (zero). However, Excel adds a space for insignificant
zeros on either side of the decimal point so that decimal points are aligned in the
column. For example, the custom format 0.0? aligns the decimal points for the

numbers 8.9 and 88.99 in a column.


. (period)

Displays the decimal point in a number.

CONCATENATE function
The CONCATENATE function combines up to 255
text strings into one text string. The combined items
can be text, numbers, field references, or a
combination of all items.
=CONCATENATE(A1," ",B1)
The second argument in this example (" ") is a space
character. You must specify any spaces or
punctuation that you want to appear in the results
as an argument that is enclosed in quotation marks.

CONCATENATE Syntax
Syntax
CONCATENATE(text1, text2, ...)
The CONCATENATE function syntax has the following
arguments:
text1(Required argument): This is the first text item to
be concatenated.
text2(Optional argument):This is the additional text
items which can go up to a maximum of 255 items.
The items must be separated by commas.
Example
Let us assume that the fields A1, A2 contain texts
'Orange', 'Scape'. Then CONCATENATE(A1," ",A2)is 'Orange
Scape'.

MID function
MID returns a specific number of characters from a text, starting at the position you
specify, based on the number of characters you specify.
MID always counts each character, whether single-byte or double-byte, as 1, no
matter what the default language setting is.
Syntax
MID(text, start_num, num_chars)The MID function syntax has the following
arguments:
Text (Required) The text string containing the characters you want to extract.
Start_num (Required) The position of the first character you want to extract in
text. The first character in text has start_num 1, and so on.
Num_chars (Required)Specifies the number of characters you want MID to
return from text.
Remarks
If start_num is greater than the length of text, MID returns "" (empty text).
If start_num is less than the length of text, but start_num plus num_chars
exceeds the length of text, MID returns the characters up to the end of text.
If start_num is less than 1, MID returns the #VALUE! error value.
If num_chars is negative, MID returns the #VALUE! error value.

LEN function
LEN returns the number of characters in a text
string.
Syntax
LEN(text)
E.g: LEN(kissflow) returns 8

LEFT function
LEFT returns the first character or characters in a text
string, based on the number of characters you specify.
Syntax
LEFT(text, [num_chars])
The function syntax has the following arguments:
Text Required. The text string that contains the
characters you want to extract.
Num_chars Optional. Specifies the number of
characters you want LEFT to extract.

Num_chars must be greater than or equal to zero.


If num_chars is greater than the length of text, LEFT
returns all of text.
If num_chars is omitted, it is assumed to be 1.

DATE AND TIME FUNCTIONS

MONTH function
MONTH function returns the month of a date represented by a serial number.
The month is given as an integer, ranging from 1 (January) to 12 (December).
Syntax
MONTH(serial_number)
The MONTH function syntax has the following arguments:
Serial_number Required. The date of the month you are trying to find. Dates must
be entered by using the DATE function, or as results of other formulas or
functions. For example, use DATE(2008,5,23) for the 23rd day of May, 2008.
Problems can occur if you enter dates as text.

Remarks
KiSSFLOW stores dates as sequential serial numbers so they can be used in
calculations. By default, January 1, 1900 is serial number 1, and January 1, 2008 is
serial number 39448 because it is 39,448 days after January 1, 1900. Values
returned by the YEAR, MONTH and DAY functions will be Gregorian values
regardless of the display format for the supplied date value. For example, if the
display format of the supplied date is Hijri, the returned values for the YEAR,
MONTH and DAY functions will be values associated with the equivalent Gregorian
date.

YEAR function
YEAR function returns the year corresponding to a date.
The year is returned as an integer in the range 19009999.
Syntax
YEAR(serial_number)
The YEAR function syntax has the following arguments:
Serial_number Required. The date of the year you want to
find. Dates should be entered by using the DATE function, or
as results of other formulas or functions. For example, use
DATE(2008,5,23) for the 23rd day of May, 2008. Problems
can occur if dates are entered as text.

DAY function
DAY function returns the day of a date, represented by
a serial number. The day is given as an integer ranging
from 1 to 31.
Syntax
DAY(serial_number)
The DAY function syntax has the following argument:
Serial_number Required.
The date of the day you are trying to find. Dates should be
entered by using the DATE function, or as results of other
formulas or functions. For example, use DATE(2008,5,23) for
the 23rd day of May, 2008. Problems can occur if dates are
entered as text.

NETWORKDAYS function
NETWORKDAYS function returns the number of whole working days between start date and
end date. Working days exclude weekends and any dates identified in holidays. Use
NETWORKDAYS to calculate employee benefits that accrue based on the number of days
worked during a specific term.
Syntax
NETWORKDAYS(start_date, end_date, [holidays])
The NETWORKDAYS function syntax has the following arguments:

Start_date Required. A date that represents the start date.

End_date Required. A date that represents the end date.

Holidays Optional. An optional range of one or more dates to exclude from the working
calendar, such as state and federal holidays and floating holidays. The list can be either a
range of cells that contains the dates or an array constant of the serial numbers that
represent the dates.
NOTE: Dates should be entered by using the DATE function, or as results of other formulas or
functions. For example, use DATE(2012,5,23) for the 23rd day of May, 2012. Problems can occur
if dates are entered as text.
Remarks
KiSSFLOW stores dates as sequential serial numbers so they can be used in calculations. By
default, January 1, 1900 is serial number 1, and January 1, 2012 is serial number 40909
because it is 40,909 days after January 1, 1900.
If any argument is not a valid date, NETWORKDAYS returns the #VALUE! error value

NETWORKHOURS function
NETWORKHOURS function returns the number of working hours between
start_datetime and end_datetime excluding weekends.
Recommended field type is Number with 2 decimal places.
Syntax
NETWORKHOURS(start_datetime, end_datetime)

The NETWORKHOURS function syntax has the following arguments:


Start_datetime Required.
End_datetime Required.
Example
Let us assume that you need working hours between 2 dates
NETWORKHOURS(Start_Date_time, end_datetime) excludes Saturday and
Sunday by default and includes only work hours and days defined in the
admin settings.

WORKDAY function
WORKDAY function returns the working day after the specified
number of days.
Recommended field type is Date
Syntax
WORKDAY(start_date, No_of_days)
The WORKDAY function syntax has the following arguments:
Start_date Required.
No_of_days Required.
Example
Let us assume that you need 6th working day after a date ,
then WORKDAY(Startday,6) excludes Saturday and Sunday by
default and holidays defined in the admin settings. Calculates
according to the working days defined in admin settings.

WORKHOUR function
WORKHOUR function returns the working date with time after
the specified number of hours.
Recommended field type is DateTime
Syntax
WORKHOUR(start_datetime, No_of_hours)
The WORKHOUR function syntax has the following arguments:
Start_date timeRequired.
No_of_hours Required.
Example
Let us assume that you need working date with time after 12
hours , then WORKHOUR(Start_Date_time,12) excludes
Saturday and Sunday by default and includes only work hours
and days defined in the admin settings.

How to do math ?
You can use math operators to do your calculations

+ , - , *, /, %,>,<,<=,>=,<>
For example to calculate sum of all expenses
claimed in a travel claim, you can write a
formula like this
FoodExpense+TravelExpense+Parking+Accomodation

To check if Created employee is not equal to


department head , then
Createdby<>DepartmentheadEmail

Thats All Folks !

Vous aimerez peut-être aussi