The NETDRAW Procedure |
By default, PROC NETDRAW uses the topological ordering
of the activity network to determine the coordinates
of the nodes. As a project progresses, you may want
to display the activities arranged according to their time
of occurrence. Using the TIMESCALE option,
you can draw the
network with a time axis at the top and the nodes aligned
according to their early start times, by default. You can
use the ALIGN= option to specify any of the
other start or finish
times in the Network data set.
In fact, PROC NETDRAW enables
you to align the nodes according to any numeric variable in
the data set.
If the TIMESCALE option is specified without any ALIGN= specification, the procedure chooses one of the following variables as the ALIGN= variable: E_START, L_START, S_START, or A_START, in that order. The first of these variables that is found is used to align the nodes. The minimum and maximum values of the ALIGN= variable are used to determine the time axis. The format of this variable is used to determine the default value for the MININTERVAL= option. The value of the MININTERVAL= option (or the default value) is used to determine the format of the time axis. You can override the format based on mininterval by specifying the desired format for the ALIGN= variable (using the FORMAT statement to indicate a standard SAS format or a special user-defined format) and the USEFORMAT option in the ACTNET statement. Table 7.16 lists the valid values of mininterval corresponding to the type of the ALIGN= variable and the default format corresponding to each value of mininterval. For each value in the first column, the first value of mininterval listed is the default value of the MININTERVAL= option corresponding to that type of the ALIGN= variable.
Several options are available in PROC NETDRAW to control the spacing of the nodes and the scaling of a time-scaled network diagram:
ALIGN Variable Type | MININTERVAL | Axis Label Format |
---|---|---|
number | numeric format | |
SAS time | HOUR | HHMM5. |
MINUTE | HHMM5. | |
SECOND | TIME8. | |
SAS date | DAY | DATE7. |
WEEKDAY | DATE7. | |
WEEK | DATE7. | |
MONTH | MONYY5. | |
QTR | MONYY5. | |
YEAR | MONYY5. | |
SAS datetime | DTDAY | DATE7. |
WORKDAY | DATE7. | |
DTWRKDAY | DATE7. | |
DTSECOND | DATETIME16. | |
DTMINUTE | DATETIME16. | |
DTHOUR | DATETIME13. | |
DTWEEK | DATE7. | |
DTMONTH | MONYY5. | |
DTQTR | MONYY5. | |
DTYEAR | MONYY5. |
The node-placement algorithm described in
the section "Layout of the Network" is modified slightly for time-scaled
network diagrams.
The coordinate of each node is determined by the value of the
ALIGN= variable. The scaling options just described are used
to determine the tick mark corresponding to the node. The
coordinate
is determined as before. Once the node placement is completed,
the arc routing algorithm is the same as described earlier.
Note: Since the node placement for time-scaled networks
is determined by the
ALIGN= variable, it is possible that some of
the arcs between the nodes may have to be routed from right to left
instead of from left to right; in other words, there may be some
backward arcs. Note also that, if the ALIGN= variable is used to
determine the coordinates of the nodes, the procedure can also draw
networks that contain cycles (see the second part of Example 7.12).
Several other options are available to control the appearance of time-scaled network diagrams: AUTOREF, BRKCHAR=, CAXIS=, CREF=, CREFBRK=, FRAME, LREF=, LREFBRK=, NOREPEATAXIS, NOTIMEAXIS, REFBREAK, REFCHAR=, and SHOWBREAK. These options are described in the section "Syntax: NETDRAW Procedure".
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.