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.