Platform Analytics 7 Dataflow

WI_JOBSBYPENDREASON table

This describes the wi_jobsbypendreason table and how each column of data arises from JOBS_PENDING_REASON table.
The wi_jobsbypendreason get its data from the JOBS_PENDING_REASON table.
The data is grouped into different grouping ("By Pending Reason" or "By Pending Reason Type") across different fields and summed the count of different pending reason across the hour. Then the aggregated record is being put into this table.
This is the column description of each data column of WI_JOBSBYPENDREASON and how each column is filled with data.
Column Name
Description
Key
CLUSTER_CODE
This comes from the CLUSTER_NAME field in the raw table. Once we get the cluster_name, we then look it up in the WI_DIMENSIONCODE table to see if we have already has a record of it in there. If we do, then we'll get the code back, otherwise, we will insert it into the WI_DIMENSIONCODE table and generate the code. The code itself is a positive integer and each new code is equal to the maximum of the existing sequence+1.
Primary key
TIME_STAMP
This is in GMT and is always end in the hour such as 02:00:00. This marks the time that this record is aggregated. For example, 02:00:00 means that all the records between 02:00:00 and 02:59:00 are aggregated into this record.
Primary key
GROUP_NAME
This indicates what kind of grouping this record belongs to. The different group types are: "By Pending Reason Type" or "By Pending Reason".
Primary key
GROUP_CODE
This could comes from different source and it is depends on the group_type. If the group_type is "By Pending Reason Type", then it comes from the "PendReasonType" field from the raw data table. If it is "By Pending Reason", then it comes from the field of "PendReason" of theraw data table. Once we get the fields, we then look it up in the wi_dimensioncode table to see if we have already has a record of it in there by matching the dimension_name. If we do, then we'll get the code back, otherwise, we will insert it into the wi_dimensioncode table and generate the code. The code itself is a positive integer and each new code is equal to the maximum of the existing code+1.
Primary key
PEND_REASON_TYPE_CODE
This comes from the "PendReasonType" field from the raw data table or it may come from each pending reason of the PendReason field. Once we get the fields, we then look it up in the wi_dimensioncode table to see if we have already has a record of it in there by matching the dimension_name. If we do, then we'll get the code back, otherwise, we will insert it into the wi_dimensioncode table and generate the code. The code itself is a positive integer and each new code is equal to the maximum of the existing code+1.

PEND_REASON_CODE
This comes from the "PendReason" field from the raw data table or it may come from each pending reason of the PendReason field. Once we get the fields, we then look it up in the wi_dimensioncode table to see if we have already has a record of it in there by matching the dimension_name. If we do, then we'll get the code back, otherwise, we will insert it into the wi_dimensioncode table and generate the code. The code itself is a positive integer and each new code is equal to the maximum of the existing code+1.
It will be -1 if the grouping is "By Pending Reason Type".
Primary key
TOTAL_JOB_NUMBER
This comes from the result of two aggregation. First, the "Count" field is summed at the same interval for the grouping "CLUSTERNAME", "GROUPNAME" "PENDREASONCODE", "PENDREASONTYPE" AND "TIMEDIFF".
Then the aggregation of the grouping of "ClusterName", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason Type". Or it may comes from the aggregation of the grouping of "ClusterName", "Pendreason", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason". The sum of the sums from the second aggregation will be put into this column.

MIN_JOB_NUMBER
This comes from the result of two aggregation. First, the "Count" field is summed at the same interval for the grouping "CLUSTERNAME", "GROUPNAME" "PENDREASONCODE", "PENDREASONTYPE" AND "TIMEDIFF".
Then the aggregation of the grouping of "ClusterName", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason Type". Or it may comes from the aggregation of the grouping of "ClusterName", "Pendreason", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason". The minimum of the sums from the second aggregation will be put into this column.

MAX_JOB_NUMBER
This comes from the result of two aggregation. First, the "Count" field is summed at the same interval for the grouping "CLUSTERNAME", "GROUPNAME" "PENDREASONCODE", "PENDREASONTYPE" AND "TIMEDIFF".
Then the aggregation of the grouping of "ClusterName", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason Type". Or it may comes from the aggregation of the grouping of "ClusterName", "Pendreason", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason". The maximum of the sums from the second aggregation will be put into this column.

COUNTER
This comes from the result of two aggregation. First, the "Count" field is summed at the same interval for the grouping "CLUSTERNAME", "GROUPNAME" "PENDREASONCODE", "PENDREASONTYPE" AND "TIMEDIFF".
Then the aggregation of the grouping of "ClusterName", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason Type". Or it may comes from the aggregation of the grouping of "ClusterName", "Pendreason", "PendreasonType" and "TimeDiff" for the hour for the group type of "By Pending Reason". The number of the records from the second aggregation will be put into this column.

LOCAL_SERVERTIME
This comes from the "Time_stamp" in this table. This is transformed into local server time.

INSERT_SEQ
This is a system generated sequence number. For each new record inserted, an unique sequence number is being assigned to this column.