dt = Current Data Table(); diadata = Column Dialog( namey = ColList( "Select Analysis Column", MaxCol( 1 ), MinCol( 1 ), DataType( Numeric ) ), namex = ColList( "Select Grouping Columns", MaxCol( 5 ), MinCol( 1 ), DataType( Nominal ) ), hlist( "Alpha Level", Alpha = edit number( 0.05 ) ) ); namex = diadata["namex"]; Alpha = diadata["Alpha"]; namey = diadata["namey"]; factorcount = N Items( namex ); varname = Column( namey ); If( diadata["Button"] == 1, dtv = dt << Summary( Group( Eval( namex ) ), //group Mean( Eval( namey ) ), Std Dev( Eval( namey ) ), Variance( Eval( namey ) ), CV( Eval( namey ) ), Std Err( Eval( namey ) ), output tablename( "Confidence Intervals" ) ); Column( 1 + factorcount ) << set name( "N" ); Column( 2 + factorcount ) << set name( "Mean" ); Column( 3 + factorcount ) << set name( "StDev" ); Column( 4 + factorcount ) << set name( "Variance" ); Column( 5 + factorcount ) << set name( "CV" ); Column( 6 + factorcount ) << set name( "Std Err" ); Eval( Substitute( Expr( dtv << New Column( "1-Alpha", Formula( 1 - a ) ) ), Expr( a ), alpha ) ); dtv << New Column( "Lower Mean CI", Formula( :Name( "Mean" ) - :Name( "Std Err" ) * t Quantile( (1 - (1 - :Name( "1-Alpha" )) / 2), :Name( "N" ) - 1 ) ), EvalFormula ); dtv << New Column( "Upper Mean CI", Formula( :Name( "Mean" ) + :Name( "Std Err" ) * t Quantile( (1 - (1 - :Name( "1-Alpha" )) / 2), :Name( "N" ) - 1 ) ), EvalFormula ); dtv << New Column( "Lower StDev CI", Formula( Root( ((:Name( "N" ) - 1) * :Name( "Variance" )) / ChiSquare Quantile( 1 - ((1 - :Name( "1-Alpha" )) / 2), :Name( "N" ) - 1 ), 2 ) ) ); dtv << New Column( "Upper StDev CI", Formula( Root( ((:Name( "N" ) - 1) * :Name( "Variance" )) / ChiSquare Quantile( ((1 - :Name( "1-Alpha" )) / 2), :Name( "N" ) - 1 ), 2 ) ) ); dtv << New Column( "Lower CV CI", Formula( 100 * :Name( "Lower StDev CI" ) / :Name( "Upper Mean CI" ) ) ); dtv << New Column( "Upper CV CI", Formula( 100 * :Name( "Upper StDev CI" ) / :Name( "Lower Mean CI" ) ) ); vc = varname << get name; Eval( Substitute( Expr( dtv << New Column( "Analysis Variable", Character, formula( v ) ) ), Expr( v ), vc ) ); );