Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel3

03/00/2021 - v3.5.20.x

Updated Fields and Field Expressions

The purpose of these Fields and Field Expressions is to improve tracking metrics. Below is an example of the Packages Dashboard after the Fields and Field Expressions below have been applied.

Image RemovedImage Added

{STRATUS.*.TrackingStatusLogBy}

This field returns the list of user names who made each tracking status change. See an example in the TrackingStatusChange() field expression example below.

DateOffset()

The DateOffset() function calculates a new date-time based on the year, day, and hour offset. The DateTime argument is the time to offset fromreturned can be used in other functions that expect a DateTime argument. See the Date Offset in the screen-shot above.

  1. Generic Syntax: DateOffset(DateTime, YearOffset, DayOffset, HourOffset) returns new DateTime

  2. Example will return a 1 or 0: TrackingStatusChange({STRATUS.Package.TrackingStatusLog},'Packaged',{STRATUS.Package.TrackingStatusLogDT},DateOffset(Now(),0-1,-7,0),'',{STRATUS.Package.TrackingStatusLogBy},'Kelly Demo')

DayName()

The DayName() function returns the name of the day for the given date.date. See the Day Name column in the screen-shot above.

Example: DayName({STRATUS.Package.TrackingStatusLogDT})

IndexOf() and LastIndexOf()

The IndexOf() and LastIndexOf() functions provide a way to manipulate strings within field expressions. See the Tracking to Packaged most recent change column in the screen-shot above.

  • IndexOf(String1,String2) - Returns the first character index of a search string within another string value or -1 if not found.

  • LastIndexOf(String1,String2) - Returns the last character index of a search string within another string value or -1 if not found.

Example

To display the date-time for the most recent tracking status change for a package in the Packages Dashboard, create a Field that contains the following Field Expression and then reference the field in a report:


If(LastIndexOf(';',{STRATUS.Package.TrackingStatusLogDT}) > -1, Right({STRATUS.Package.TrackingStatusLogDT}, AsNumber(Len({STRATUS.Package.TrackingStatusLogDT})) - LastIndexOf(';',{STRATUS.Package.TrackingStatusLogDT}) - 1), {STRATUS.Package.TrackingStatusLogDT})

TrackingStatusChange()

The TrackingStatusChange() function can provide report data that answers questions like “How may many feet of pipe cut are cut or spools welded per day, per week, per month?

This function returns a 0 or 1. As a result, it can be determined whether the tracking status has been applied, given the optional filters.  By returning a 0 or 1, it can be multiplied by whatever the desired metric unit is from the part (Ex. Diameter).  By building an integer Field with ‘Is Total’ checked and using an integer field in a package report, totals per package can be summarized.

The following is a list of generic function arguments that provide the following:

  • Tracking status applied

  • Timespan to filter (optional)

  • User to filter (optional)

Generic Syntax: TrackingStatusChange({STRATUS.*.TrackingStatusLog}, TrackingStatus, {STRATUS.*.TrackingStatusLogDT},StartDT, EndDT,{STRATUS.*.TrackingStatusLogBy}, UserName)

Example

Below is an example of a Packages Dashboard report that uses the field expression that will display the total weld inches completed last week (in the last 7 days) by a specific weld station operator (Kelly Demo. 

TrackingStatusChange({STRATUS.Part.TrackingStatusLog},'Fabricated',{STRATUS.Part.TrackingStatusLogDT},DateOffset(Now(),0,-7,0),'',{STRATUS.Part.TrackingStatusLogBy},'Kelly Demo')*{Diameter}

Use Cases

There are 4 possible use cases, depending on optional arguments. See the corresponding Use Cases in the screen-shot above.

  1. Return 1 if TrackingStatus has ever been applied

    1. Generic Syntax: TrackingStatusChange({STRATUS.*.TrackingStatusLog}, TrackingStatus)

    2. Example: TrackingStatusChange({STRATUS.Package.TrackingStatusLog},'Packaged')

  2. Return 1 if TrackingStatus has been applied between StartDT and EndDT. Note: It is acceptable to provide only one of the date arguments, leaving out that date time-bound check.

    1. Generic Syntax: TrackingStatusChange({STRATUS.*.TrackingStatusLog}, TrackingStatus, {STRATUS.*.TrackingStatusLogDT}, StartDT, EndDT)

    2. Example: TrackingStatusChange({STRATUS.Package.TrackingStatusLog},'Packaged',{STRATUS.Package.TrackingStatusLogDT},'09/01/2020','09/30/2020')

  3. Return 1 if TrackingStatus has ever been applied by a particular station or user name.

    1. Generic Syntax: UserNameTrackingStatusChange({STRATUS.*.TrackingStatusLog}, TrackingStatus, '', '', '', {STRATUS.*.TrackingStatusLogBy}, UserName)

    2. Example: TrackingStatusChange({STRATUS.Package.TrackingStatusLog}, 'Packaged', '', '', '', '', {STRATUS.Package.TrackingStatusLogBy}, 'Kelly Demo')

  4. Returns 1 if TrackingStatus has been applied between StartDT and EndDT by UserName

    1. Generic Syntax: TrackingStatusChange({STRATUS.*.TrackingStatusLog}, TrackingStatus, {STRATUS.*.TrackingStatusLogDT}, StartDT, EndDT, {STRATUS.*.TrackingStatusLogBy}, UserName)

    2. Example: TrackingStatusChange({STRATUS.Package.TrackingStatusLog}, 'Packaged', {STRATUS.Package.TrackingStatusLogDT}, '09/01/20','09/30/20', {STRATUS.Package.TrackingStatusLogBy}, 'Kelly Demo')

Remove TimeZoneId from Expression Functions

When running reports based on the following Field Expression functions, the user's timezone will be used. As a result, the TimeZoneId field will not be needed and will be ignored if currently used.

  • HoursInTracking()

  • TrackingStatusChange()


Page Properties
hiddentrue