Standard Data Elements

Most standard data elements begin with the three character identifier of the file to which the data element belongs.
micsrm140
Required roles: systems programmer, security administrator, database administrator
For example, the data element NCPMNFBL begins with NCP, showing that it belongs to the NPANCP file.

Deleting Data Elements

Two facilities are available to delete a data element from a file:
  • The timespan indicators on the
    MICS Component Generator
    (MCG) NAME statement can be used to delete a data element from one or more timespans.
  • If a data element belongs to a selectable cluster of data elements, the entire selectable cluster can be deleted from all timespans of all files within a component by modifying the MCG OPTION statement.
NAME Statement Modifications
The example file definition contains the Component Generator Definition Statements:
... TYPE N 3 . 3 . 3 . NAME NCPMNFBL 00 0 0 0 0 0 Free Buffer Low Water Mark ...
Assume that the Free Buffer Low Water Mark had no useful purpose at your site. If this was the case, this data element could be eliminated from the file by changing its NAME statement to:
... TYPE N 3 . 3 . 3 . NAME NCPMNFBL 00 N N N N N Free Buffer Low Water Mark ...
This would remove the data element from all timespans in which the file appears. However, in the case of the NPANCP file, on which this data element appears, the FILE itself is not active in the YEARS timespan. In this case,
... TYPE N 3 . 3 . 3 . NAME NCPMNFBL 00 N N N N 0 Free Buffer Low Water Mark ...
would accomplish the same end, because the whole file does not exist in the YEARS timespan, and the data element is not on any timespan in which the file does exist.
In fact, the data element could be deleted from any timespan at all. This is based on the timespan indicators on the NAME statement. For example, there are cases when
... TYPE N 3 . 3 . 3 . NAME NCPMNFBL 00 0 N 0 N 0 Free Buffer Low Water Mark ...
would be valid and would produce the desired results. There are cases in which such a specification would cause timespans other than DETAIL to contain spurious data for NCPMNFBL, also.
The timespan indicators on the NAME statement for each data element must consider the timespan indicators on the FILE statement. If the following combination exists,
FILE ... Y N Y N Y ... ... NAME ... 0 N 0 N 0 ...
the data element would be summarized properly. The file's WEEKS timespan would be constructed from summarized DETAIL data, and the YEARS would be constructed from summarized DETAIL data. However, the following construction creates problems:
FILE ... Y Y Y Y Y ... ... NAME ... 0 N 0 N 0 ...
Code that is generated by the MCG would cause summarization for the WEEKS timespans to be driven (summarized) from the DAYS timespan. The summarization to the YEARS timespan is driven from the MONTHS timespan of the file.
The DAYS timespan is used as the source of WEEKS and MONTHS summarization because the DAYS timespan has fewer observations than the DETAIL timespan, and the summarization process is more efficient. The same principle causes MONTHS to be the source of YEARS.
However, if the data element has been dropped from the timespan from which the new timespan is being summarized, and the data element is any type other than CALCULATED, the summarization is based on SAS missing values, and do not produce the desired results.
The following combinations of FILE and NAME statement combinations are valid for data elements that are not calculated:
FILE timespan indicators
NAME timespan indicators
Y N - Y Y
0 - - 0 - where "-" can be any
0 - - N N valid indicator.
N N N N N
Y N - N N
0 - - - -
N N N N N
Y Y - Y Y
0 0 - 0 -
0 0 - N N
0 N N N N
N N N N N
Y Y - N N
0 0 - - -
0 N N N N
N N N N N
N E - - -
- 0 - - -
- N N N N
N N N N N
- - - - -
Data elements that are calculated are identified by the data element type code in the TYPE statement for the type group to which the data element belongs. Our example is:
... TYPE N 3 . 3 . 3 . NAME NCPMNFBL 00 0 0 0 0 0 Free Buffer Low Water Mark ...
And the data element is noted as a type N, for minimum. Calculated data element types are type C, CN, XC, or XCN. These standard data elements can be dropped from any timespan by modifying the timespan indicators on the NAME statement IF the data elements necessary to calculate the data element's value in its active timespans are present on those timespans. See the MCG statement section of this document for more information.
There is one other way to delete a data element. If a data element is ESSENTIAL, it is active (as marked by the timespan indicators) even if the ESSENTIAL option is set to INITIAL or ONLY. See the MCG statement section COMPOPT and FOPT for more information about the values of the ESSENTIAL option.
If a data element is ESSENTIAL, it can be made nonessential by changing the NAME statement keyword to NAMX, as follows,
NAME NCPMNFBL 00 0 0 0 0 0 Free Buffer Low Water Mark
becomes
NAMX NCPMNFBL 00 0 0 0 0 0 Free Buffer Low Water Mark
This change causes the data element to be inactive if the ESSENTIAL options INITIAL or ONLY were used. For more information about, the NAME statement in description, and coding NAMX. OPTION Statement Modifications, see Name Statement (NAME or NAMX).
The original form of the NPA component's definition that is shown earlier began:
* * NPA Component generator statements * GEN GENFILES COMP NPA 050 32000 VBS NOACCT NPA Component TYPE XR 3 . 3 . 3 . NAME NPANRRLS Receiving Line Speed (line/link) NAME NPANRSLS Sending Line Speed (line/link) TYPE XA 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NPATMAOT Actual Observation Time TYPE XR 4 TIME8. 4 TIME8. 4 TIME8. NAME NPATSEIS Expected Interval Time NAME NPATSFRU Forward RU Send Time NAME NPATSLOG Time Record Logged To SMF AREA NPA NPA Activity Information Area FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length NAME NCPNRHQL 00 0 0 0 0 0 NCP Channel Hold Queue Length NAME NCPNRIQL 00 0 0 0 0 0 NCP Channel Intrmd Queue Len. NAME NCPNRSFB 00 0 0 0 0 0 Free Buffer Count At Slowdown TYPE A 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NCPTMFCT 00 0 0 0 0 0 Free Cycle Time NAME NCPTMTIS 00 0 0 0 0 0 Time In Slowdown ...
This component has no selectable data element clusters, and therefore the standard generator statements do not include an OPTION statement.
Assume that there is a valid cluster ID named NET1 and its cluster number is 47. The OPTION statement would be included in the NPA definition member, and data elements belonging to the cluster would have a cluster code of 47 coded in their NAME statements, as follows:
* * NPA Component generator statements * GEN GENFILES -->OPTION NET1 COMP NPA 050 32000 VBS NOACCT NPA Component TYPE XR 3 . 3 . 3 . NAME NPANRRLS Receiving Line Speed (line/link) NAME NPANRSLS Sending Line Speed (line/link) TYPE XA 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NPATMAOT Actual Observation Time TYPE XR 4 TIME8. 4 TIME8. 4 TIME8. NAME NPATSEIS Expected Interval Time NAME NPATSFRU Forward RU Send Time NAME NPATSLOG Time Record Logged To SMF AREA NPA NPA Activity Information Area FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length -->NAME NCPNRHQL 47 0 0 0 0 0 NCP Channel Hold Queue Length -->NAME NCPNRIQL 47 0 0 0 0 0 NCP Channel Intrmd Queue Len. NAME NCPNRSFB 00 0 0 0 0 0 Free Buffer Count At Slowdown ...
Deleting the entire cluster can be accomplished by changing the OPTION keyword NET1 to NONET1. All data elements that belong to the cluster (including NCPNRHQL and NCPNRIQL) would be deleted from all timespans of all files in the NPA Component:
* * NPA Component generator statements * GEN GENFILES -->OPTION NONET1 COMP NPA 050 32000 VBS NOACCT NPA Component ...
See the individual Product Analyzers for a list of cluster names that are used in a specific cccGENIN member.
Making the Modifications
To delete a data element from one or more timespans, if the data element is not a sequence data element in the file, follow these steps:
  1. Modify the timespan indicators on the NAME statement for that data element, if necessary.
  2. Modify the option selection codes on the OPTION statement, if necessary.
  3. Run the component generation for the component in question.
  4. Drop the data element from the file in the desired timespans because the next daily update for any database unit in which the component has been installed reflects the change.
To delete a data element from one or more timespans if the data element IS a sequence data element in the file, see the sections in this chapter on modifying the sequence of a file. Modify the sequence, and follow the previous stated instructions to delete the data element.

Adding New Data Elements

Two facilities are available to add a data element to a file:
  • If a data element belongs to a selectable cluster of data elements, the entire selectable cluster can be activated in all timespans of all files within a component by modifying the MCG OPTION statement.
  • New data elements can be added to individual files within a component by coding
    MICS Component Generator
    (MCG) TYPE group statements to describe the data elements for each file in which they are to appear.
OPTION Statement Modifications
The original form of the NPA Component's definition that is shown earlier began as follows:
* * NPA Component generator statements * GEN GENFILES COMP NPA 050 32000 VBS NOACCT NPA Component TYPE XR 3 . 3 . 3 . NAME NPANRRLS Receiving Line Speed (line/link) NAME NPANRSLS Sending Line Speed (line/link) TYPE XA 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NPATMAOT Actual Observation Time TYPE XR 4 TIME8. 4 TIME8. 4 TIME8. NAME NPATSEIS Expected Interval Time NAME NPATSFRU Forward RU Send Time NAME NPATSLOG Time Record Logged To SMF AREA NPA NPA Activity Information Area FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length NAME NCPNRHQL 00 0 0 0 0 0 NCP Channel Hold Queue Length NAME NCPNRIQL 00 0 0 0 0 0 NCP Channel Intrmd Queue Len. NAME NCPNRSFB 00 0 0 0 0 0 Free Buffer Count At Slowdown TYPE A 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NCPTMFCT 00 0 0 0 0 0 Free Cycle Time NAME NCPTMTIS 00 0 0 0 0 0 Time In Slowdown ...
This component has no selectable data element clusters, and therefore the standard generator statements do not include an OPTION statement.
Assume that there is a valid NPA Component cluster ID named NET1, and its cluster number is 47. The OPTION statement might be included in the NPA definition member, and data elements belonging to the cluster would have a cluster code of 47 coded in their NAME statements, as follows:
* * NPA Component generator statements * GEN GENFILES -->OPTION NONET1 COMP NPA 050 32000 VBS NOACCT NPA Component TYPE XR 3 . 3 . 3 . NAME NPANRRLS Receiving Line Speed (line/link) NAME NPANRSLS Sending Line Speed (line/link) TYPE XA 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NPATMAOT Actual Observation Time TYPE XR 4 TIME8. 4 TIME8. 4 TIME8. NAME NPATSEIS Expected Interval Time NAME NPATSFRU Forward RU Send Time NAME NPATSLOG Time Record Logged To SMF AREA NPA NPA Activity Information Area FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length -->NAME NCPNRHQL 47 0 0 0 0 0 NCP Channel Hold Queue Length -->NAME NCPNRIQL 47 0 0 0 0 0 NCP Channel Intrmd Queue Len. NAME NCPNRSFB 00 0 0 0 0 0 Free Buffer Count At Slowdown ...
To activate the entire cluster, change the cluster keyword NONET1 to NET1. All data elements that belong to the cluster (including NCPNRHQL and NCPNRIQL) would be added to all timespans of all files for which they are defined in the NPA Component:
* * NPA Component generator statements * GEN GENFILES -->OPTION NET1 COMP NPA 050 32000 VBS NOACCT NPA Component ...
See the individual product documentation for a list of cluster names that are used in a specific product's cccGENIN member.
TYPE Statement Group Additions
The example file definition contains the component generator definition statements:
... TYPE A 5 TIME11.2 6 TIME15.2 6 TIME15.2 NAME NCPTMFCT 00 0 0 0 0 0 Free Cycle Time ...
Assume that your NPA Component does not have a data element for percentage of time the 3705 was busy in the measurement interval. Such a data element could be calculated from the duration of the measurement interval and the free cycle time that is measured in the interval.
Adding this data element to the file can be done by adding a TYPE group of MCG statements to the file's existing statements in cccGENIN. The TYPE statement itself can be configured from scratch or can be patterned after a TYPE statement for a similar data element in this or another cccGENIN member. For the percent data element, use the following:
TYPE C 3 MAPCT. 3 MAPCT. 3 MAPCT. - ---------- ---------- ---------- | | | | | | | +- MONTHS/YEARS length/fmt | | +------------ DAYS/WEEKS length/format | +----------------------- DETAIL length/format +----------------------------- type: computed Code the NAME statement as follows: TYPE C 3 MAPCT. 3 MAPCT. 3 MAPCT. NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy -------- -- --------- ----------------- | | | | | | | +- data element label | | +-------------- active in all timespans | +-------------------- no associated cluster +--------------------------- name of data element; begins with file name (NCP)
Assume that such user-added data elements are to be documented in the
MICS Data Dictionary
. In fact, all such user-added NPA percentage data elements can be documented in the same member of the Data Dictionary. Such a Data Dictionary member can be named USRPCNPA. To gain access to that member through the Document Access online browse function, add an ALIAS statement to the type group,
TYPE C 3 MAPCT. 3 MAPCT. 3 MAPCT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy
This feature is used in
MICS
for closely related data elements, such as a set of counters. Thus a set of counter-data elements COUNT01-COUNT08 could all be described in a Data Dictionary entry named COUNTXX.
Since this is a calculated data element, we also need to add statements that describe the calculation necessary to put a value in NCPPCBSY. The value should be
busy time percent busy = ----------------- interval duration
Where busy time is the interval duration minus the free time. Thus, the type group has the expression added:
TYPE C 3 MAPCT. 3 MAPCT. 3 MAPCT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy EXP 01 IF NPATMAOT GT 0 THEN EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; EXP 03 ELSE NCPPCBSY = 0;
Also, the calculation of this data element's value depends on other data elements existing in the timespans in which NCPPCBSY is to be active. So, a DEPEND statement has to be added:
TYPE C 3 MAPCT. 3 MAPCT. 3 MAPCT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy EXP 01 IF NPATMAOT GT 0 THEN EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; EXP 03 ELSE NCPPCBSY = 0; DEPEND NCPTMFCT NPATMAOT
The definition of the data element in the MCG Component definition statements is complete. These statements are to be added at a TYPE group break, such as:
... FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File -->TYPE C 3 PERCENT. 3 PERCENT. 3 PERCENT. -->ALIAS USRPCNPA -->NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy -->EXP 01 IF NPATMAOT GT 0 THEN -->EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; -->EXP 03 ELSE NCPPCBSY = 0; -->DEPEND NCPTMFCT NPATMAOT TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length NAME NCPNRHQL 00 0 0 0 0 0 NCP Channel Hold Queue Length ...
However, the data element is specified to exist in the DETAIL timespan of the file. The EXP statements generate the code to recalculate the data element at each level of summarization, but no calculation is made at the DETAIL level, because the MCG does not modify the component's daily format routine.
To store a value in the data element in the DETAIL timespan, modify logic in the component's daily format routine using standard
MICS
file exits. (See the User Exit Facilities section in chapter 4 for more information.)
For this NPA example, the file exit for the NPANCP File is _USRSNCP, in sharedprefix.MICS.SOURCE(#NPAEXIT). The calculation must be added to the stub exit macro that currently exists. The current macro is coded as:
MACRO _USRSNCP %
And should be modified to:
MACRO _USRSNCP IF NPATMAOT GT 0 THEN NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; ELSE NCPPCBSY = 0; %
This code is executed immediately before the format routine writes a DETAIL observation of the NPANCP File and the data element value is set when the OUTPUT occurs.
Making the Modifications
To add a data element to one or more timespans if the data element is not a sequence data element in the file, follow these steps:
  1. Modify the option selection codes on the OPTION statement, if necessary.
  2. Code the MCG TYPE group statements for the data element to be added, if necessary.
  3. Add initial calculations for the data element's DETAIL timespan value to the standard file exit in the component's standard exit member on the
    MICS
    source library.
  4. Run the component generation for the component in question.
  5. Add the data element to the file in the desired timespans because the next daily update for any database unit in which the component has been installed reflects the change.
To add a data element to one or more timespans if the data element IS a sequence data element in the file, see the sections in this chapter on modifying the sequence of a file. Modify the sequence, and follow the instructions above to add the data element.

Changing Existing Data Element Definitions

Changing the attributes of a data element involves making modifications to the
MICS Component Generator
(MCG) type group that includes the data element.
According to the definition in the MCG section of this document, a type group is made up of a TYPE statement, followed by one or more NAME statements. Each NAME statement defines a data element. The NAME statement might be preceded optionally by an ALIAS statement, and might be followed by one or more EXP statements (if it is a computed data element) and one or more DEPEND statements (if the data element depends on other data elements in the file in the same timespans).
The example constructed in the previous section was a TYPE group that added a data element called NCPPCBSY to the NPANCP file. This information refers to that data element for an example.
* * NPA component generator statements * GEN GENFILES COMP NPA 050 32000 VBS NOACCT NPA Component AREA NPA NPA Activity Information Area FILE NCP 00 1 Y Y Y Y N N Y Y NCP Activity File -->TYPE C 3 PERCENT. 3 PERCENT. 3 PERCENT. -->ALIAS USRPCNPA -->NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy -->EXP 01 IF NPATMAOT GT 0 THEN -->EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; -->EXP 03 ELSE NCPPCBSY = 0; -->DEPEND NCPTMFCT NPATMAOT TYPE R 3 . 3 . 3 . NAME NCPNRFBQ 00 0 0 0 0 0 Free Buffer Queue Length NAME NCPNRHQL 00 0 0 0 0 0 NCP Channel Hold Queue Length ...
TYPE Statement Modifications
Changing the TYPE statement of the type group to which the data element belongs change the type code, length, or format specification for the data element.
Changing the length or format can be done by changing the parameters on the TYPE statement.
TYPE C 4 Z3.2 . . . .
is a valid length/format specification. See the MCG section of this document on the TYPE statement.
However, changing the type code might require more thought. In the example, having a type code of "C" requires EXP statements to be included after the data element. Changing the type code to other than calculated, such as "A" for accumulated, would require removal of the EXP statements.
ALIAS Statement Modifications
If the name of the data dictionary member that documents the data element ever changes, modify or remove the ALIAS statement. The data element in the example was documented in the member USRPCNPA, and the statement was:
ALIAS USRPCNPA
If the documentation for all user data elements were moved to a single member, such as one named USRMICS, the statement would be changed to:
ALIAS USRMICS
If the documentation for this data element was moved to a member of its own, and named identically to the data element (NCPPCBSY), then the ALIAS statement can be removed.
NAME Statement Modifications *
The previous two sections of this document showed how to use the cluster and timespan indicators on the NAME statement to modify a data element's location on the file and timespans. Changing the data element tag (short name) actually constitutes dropping one data element and adding another. This is because all identification of the data element is done through the NAME statement tag parameter.
The only element that is left on the NAME statement to modify is the data element label. This parameter on the statement can be modified in free form, according to the rules of coding the NAME statement. If coded in lower case letters with initial capitals, the label is translated to upper case by the MCG where necessary. For example,
NAME NCPPCBSY 00 0 0 0 0 0 Percent of 3705 Busy -------------------- new label
EXP Statement Modifications
EXP statements are only present if the type code from the TYPE statement is C or XC. These statements are used in recalculating the data element's value in summarization.
Let us assume the original calculation for the example were incomplete, such as:
TYPE C 3 PERCENT. 3 PERCENT. 3 PERCENT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy EXP 01 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; DEPEND NCPTMFCT NPATMAOT
This expression could produce a zero-divide condition and SAS termination if the value of NPATMAOT were ever zero. Changing the calculation to take this into account is a matter of rearranging the expression, as
TYPE C 3 PERCENT. 3 PERCENT. 3 PERCENT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy -->EXP 01 IF NPATMAOT GT 0 THEN -->EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; -->EXP 03 ELSE NCPPCBSY = 0; DEPEND NCPTMFCT NPATMAOT
Computed data elements of the type code CN and XCN do not have EXP statements following their name statements. Rather, calculations for these data elements are usually performed as defined by EXP statements that follow two special NAME statements, @@FIRST or @@LAST. These NAME statements do not define data elements that reside on the file. Their only purpose is to enter calculations that must be performed before (or after, respectively) normally-defined EXP calculations are performed.
Data elements of these types can have their expressions that are changed by modifying the EXP statements that calculate the data elements' value. These data elements are located in the @@FIRST or @@LAST group.
Name Statement (NAME or NAMX) Statement Modifications
DEPEND statements define the relationships between the data element in question and other data elements. Reasons for modifying DEPEND statements are rare, but the DEPEND statement can contain any combination of one or more data element names. Each data element that is named in a DEPEND statement must exist on the file in all the same timespans as the data element in question.
Our original example included
DEPEND NCPTMFCT NPATMAOT
to ensure that the NCP file could not be generated if NCPPCBSY was in a timespan without either NCPTMFCT or NPATMAOT. Either case would define an invalid construction of the summarization for NCPPCBSY. If some other data element were identified as being required for the calculation of the data element, it would be added to the DEPEND list for that element.
For example, if you want NCPPCIDL, the percent of 3705 idle time, to be on the file in every timespan as NCPPCBSY, code:
TYPE C 3 PERCENT. 3 PERCENT. 3 PERCENT. ALIAS USRPCNPA NAME NCPPCBSY 00 0 0 0 0 0 3705 Percent Busy EXP 01 IF NPATMAOT GT 0 THEN EXP 02 NCPPCBSY = 100 * (NPATMAOT - NCPTMFCT) / NPATMAOT; EXP 03 ELSE NCPPCBSY = 0; -->DEPEND NCPTMFCT NPATMAOT NCPPCIDL
Making the Modifications
To change the data element's description in the previous manner, follow these steps:
  1. Modify the MCG control statements explained previously for each data element to be modified.
  2. Run the component generation for the component in question.
  3. The next daily update for any database unit in which the component has been installed reflect the change, and add the data element to the file in the desired timespans.
A Change to the definition of a data element does not necessarily reflect accurately in timespans greater than DAYS. Accumulating data to the WEEKS, MONTHS, and YEARS timespans takes some time to complete. Also, the accumulation of to-date data in these timespans might result in combining unlike data. Changing data elements from accumulated to maximum or minimum, for example, always produces spurious results in these timespans. This problem is resolved by itself only after the modification has been in effect long enough that unlike data is not being combined.
It is therefore necessary to examine the need for retrofitting existing data in such situations. If the need for a retrofit exists, see the section of this document on database maintenance techniques.