MACRO TWO BOCA: Unterschied zwischen den Versionen

Aus phenixxenia.org
Zur Navigation springen Zur Suche springen
Wolf-Dieter Batz (Diskussion | Beiträge)
Die Seite wurde neu angelegt: „Kategorie:zazy 200px|thumb == Type == '''User module''' from Phase-III Macro System based on '''''[[Frakta…“
 
Wolf-Dieter Batz (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:zazy]]
[[Kategorie:zazy]]
{{SeitenNavigation1
|links=xx_left.png
|rechts=xx_right.png
|hoch=FRAKTAL_MACRO_ARCHITECTURE.png
|zurück=MACRO TWO CATV
|vorwärts=MACRO TWO BOBO
|übersicht=User Modules (from Phase-III Macro System)
}}


[[Datei:FRAKTAL_MACRO_ARCHITECTURE.png|200px|thumb]]  
{| class="wikitable"
! Workflow Graph
! Module Type
|-
| [[Datei:MACRO_TWO_BOCA.png|thumb|100px]]
| '''User module''' from [[Phase-III Macro System]] based on '''''[[Fraktal SAS Programming|Fractal System Architecture]]''. Build super row (=block) from categorial variable nested in boolean selection'''.
|}


== Type ==
== Source ==


'''User module''' from [[Phase-III Macro System]] based on '''''[[Fraktal SAS Programming|Fractal System Architecture]]'''''.
=== Start Definition with Parameters and Defaults ===


== Workflow ==
%MACRO TWO_BOCA(dsn=,use=,row=,row2=,col=,indent=0,num=,total=T,stat=Y,weight=Y,space=3,condense=,struct=,struct2=,head=Y,head2=Y,misslin2=,indinc=2) / store;


[[Datei:MACRO_TWO_BOCA.png]]
=== Declares and Upper Level Processing ===
 
%LOCAL n_grp v_grp n name;
%LET name=TWO_BOCA;
%IF &STRUCT  eq %THEN %LET struct =&DSN;
%IF &STRUCT2 eq %THEN
%TOP_FILT(dsn=&DSN,grp=&ROW,grp2=&ROW2,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE);
                %ELSE
%TOP_FILT(dsn=&DSN,grp=&ROW,grp2=,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE);
%TOP_FREQ(dsn=top_filt,struct=&STRUCT,grp=&ROW,by=&COL);
%TOP_OUTC(dsn=top_freq,head=&HEAD,total=&TOTAL,stat=&STAT,indent=&INDENT,grp=&ROW,rev=n,use=&USE,by=&COL);
%GRP_DESC(dsn=&DSN,grp=&ROW,miss=n);
%IF &STRUCT2 eq %THEN %LET struct2=top_filt;
 
=== Loop for Lower Level Processing ===
 
%DO n=1 %TO &N_GRP;
  %IF %SCAN(&V_GRP,&N) eq &USE %THEN %DO;
    %ROW_FILT(dsn=&DSN,context=&ROW,subgrp=&N,grp=&ROW2,by=&COL,var=,miss=n);
    %ROW_FREQ(dsn=row_filt,sum=top_freq,struct=&STRUCT2,context=&ROW,grp=&ROW2,by=&COL,weight=&WEIGHT);
    %ROW_OUTC(dsn=row_freq,sum=,head=&HEAD2,stat=&STAT,indent=%EVAL(&INDENT+&INDINC),context=&ROW,grp=&ROW2,by=&COL,missline=&MISSLIN2);
  %END;
%END;
 
=== Care for Naming and Send Completion Mail ===
 
%IF &TAB_NAME ne %THEN %DO;
  data &TAB_DEF&NUM%SUBSTR(&TAB_NAME,5,4);
    set
    %IF &SPACE eq 1                  %THEN dummy ;
      row&NUM._0
    %IF &SPACE eq 2                  %THEN dummy ;
      row&NUM._&CURSUB
    %IF &SPACE eq 2                  %THEN dummy ;
    %IF &SPACE eq 3                  %THEN dummy ;
    ;
  run;
%END;
%GEN_MAIL(name=&NAME);
 
=== Close Definition ===
 
%MEND TWO_BOCA;
 
== Parameters ==
 
{| class="wikitable"
|-
!Name !! Values !!Description
|-
|dsn || string || input dataset name
|-
|row, row2 || string || categorial variable name, 2=nested variable
|-
|use || string || decode for selected group from &ROW
|-
|weight || Y/N || multiply percentages for &ROW and &ROW2
|-
|col || string || categorial variable name used for columns
|-
|total || T/I/B/O/N/TC/IC/BC/OC/NC || define totals vertical position
|-
|head, head2 || Y/N || block header, 2=nested variable
|-
|indent, indinc || n || number of indent columns and increment for nested variable
|-
|num || n || sequence number of output
|-
|stat || Y/N || column with statistics names
|-
|space || 1/2/3 || blank line before or after output and between nesting levels
|-
|struct, struct2 || string || name of reference dataset used for full decode structure, 2=nested variable
|-
|condense || var#value || non-distinct variable and true value for &ROW
|-
|misslin2 || Y/N || force missing line for nested variable
|}

Aktuelle Version vom 28. Oktober 2014, 15:47 Uhr

Zurück

Übersicht

Vorwärts

Workflow Graph Module Type
User module from Phase-III Macro System based on Fractal System Architecture. Build super row (=block) from categorial variable nested in boolean selection.

Source

Start Definition with Parameters and Defaults

%MACRO TWO_BOCA(dsn=,use=,row=,row2=,col=,indent=0,num=,total=T,stat=Y,weight=Y,space=3,condense=,struct=,struct2=,head=Y,head2=Y,misslin2=,indinc=2) / store;

Declares and Upper Level Processing

%LOCAL n_grp v_grp n name;
%LET name=TWO_BOCA;
%IF &STRUCT  eq %THEN %LET struct =&DSN;
%IF &STRUCT2 eq %THEN 
%TOP_FILT(dsn=&DSN,grp=&ROW,grp2=&ROW2,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE);
                %ELSE 
%TOP_FILT(dsn=&DSN,grp=&ROW,grp2=,by=&COL,grplvl=&NUM,var=,condense=&CONDENSE);
%TOP_FREQ(dsn=top_filt,struct=&STRUCT,grp=&ROW,by=&COL);
%TOP_OUTC(dsn=top_freq,head=&HEAD,total=&TOTAL,stat=&STAT,indent=&INDENT,grp=&ROW,rev=n,use=&USE,by=&COL);
%GRP_DESC(dsn=&DSN,grp=&ROW,miss=n);
%IF &STRUCT2 eq %THEN %LET struct2=top_filt;

Loop for Lower Level Processing

%DO n=1 %TO &N_GRP;
  %IF %SCAN(&V_GRP,&N) eq &USE %THEN %DO;
    %ROW_FILT(dsn=&DSN,context=&ROW,subgrp=&N,grp=&ROW2,by=&COL,var=,miss=n);
    %ROW_FREQ(dsn=row_filt,sum=top_freq,struct=&STRUCT2,context=&ROW,grp=&ROW2,by=&COL,weight=&WEIGHT);
    %ROW_OUTC(dsn=row_freq,sum=,head=&HEAD2,stat=&STAT,indent=%EVAL(&INDENT+&INDINC),context=&ROW,grp=&ROW2,by=&COL,missline=&MISSLIN2);
  %END;
%END;

Care for Naming and Send Completion Mail

%IF &TAB_NAME ne %THEN %DO;
  data &TAB_DEF&NUM%SUBSTR(&TAB_NAME,5,4);
   set
    %IF &SPACE eq 1                  %THEN dummy ;
     row&NUM._0
    %IF &SPACE eq 2                  %THEN dummy ;
     row&NUM._&CURSUB
    %IF &SPACE eq 2                  %THEN dummy ;
    %IF &SPACE eq 3                  %THEN dummy ;
   ;
  run;
%END;
%GEN_MAIL(name=&NAME);

Close Definition

%MEND TWO_BOCA;

Parameters

Name Values Description
dsn string input dataset name
row, row2 string categorial variable name, 2=nested variable
use string decode for selected group from &ROW
weight Y/N multiply percentages for &ROW and &ROW2
col string categorial variable name used for columns
total T/I/B/O/N/TC/IC/BC/OC/NC define totals vertical position
head, head2 Y/N block header, 2=nested variable
indent, indinc n number of indent columns and increment for nested variable
num n sequence number of output
stat Y/N column with statistics names
space 1/2/3 blank line before or after output and between nesting levels
struct, struct2 string name of reference dataset used for full decode structure, 2=nested variable
condense var#value non-distinct variable and true value for &ROW
misslin2 Y/N force missing line for nested variable