사용 가능한 모든 공간을 채우기 위해 GB를 늘리는 방법은 무엇입니까?일부 디스플레이 상자가 있는 3열의 정렬 상자가 있고 두 번째 행으로 내부에 그래프 빌더가 있는 정렬 해제 상자가 있다고 가정해 보겠습니다.
이 스크립트를 실행하여 예를 볼 수 있습니다.
dt = New Table( "DEMO",
Add Rows( 10 ),
New Column( "Category",
Character,
"Nominal",
Set Values( {"A", "A", "A", "A", "A", "B", "B", "B", "B", "B"} )
),
New Column( "X",
Character,
"Nominal",
Set Values( {"AA", "AD", "AC", "AD", "AC", "BD", "BF", "BF", "BD", "BS"} )
),
New Column( "Y_veryLongName_toMake_Tabulat_Large",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values( [12, 32, 42, 23, 21, 12, 34, 53, 23, 12] )
)
);
tab = dt << Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table(
Analysis Columns( :Y_veryLongName_toMake_Tabulat_Large ),
Statistics( Sum, Mean )
),
Row Table( Grouping Columns( :Category, :X ) )
)
);
gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Category ),
X( :X, Position( 1 ) ),
Y( :Y_veryLongName_toMake_Tabulat_Large ),
Color( :Category )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 9 ) ) )
);
rtab = tab << Report;
rgb = gb << Report;
lb = LineUp Box(NCol(3), rtab, rtab, rtab, Unlineup Box(rgb) );
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);다음과 같이 보입니다.

이제 그래프 빌더가 모든 수평 공간을 채우길 원합니다. 그 공간의 크기를 모르므로 직접 지정하고 싶지는 않습니다. 사용 가능한 모든 공간을 채우고 싶을 뿐입니다.
rgb에서 Set Auto Stretching(1,0)을 사용해 보았지만 별로 도움이 되지 않았습니다.
실험적으로, 속성으로 이동하여 X의 Stretching을 Neutral에서 Fill for EACH AND EVERY BOX로 변경하면 Frame Box에서 Outline Box까지 다음과 같이 변경됩니다.

내가 원하는 것처럼 보입니다.

질문:
1. 이것이 유일한 방법입니까?
2. 그렇다면 - 스크립트를 작성하는 방법은 무엇입니까?
스크립팅Re: 사용 가능한 모든 공간을 채우기 위해 GB를 늘리는 방법은 무엇입니까?좋아, 나는 더 많은 것을 시도했다:
rgb << Fit To Window("On");이것은 작동하지 않았습니다.
rgb[FrameBox(1)] << Set Auto Stretching(1,0);
전체 보고서가 아닌 FrameBox에 Auto Stretching을 적용한 이 보고서가 작동했습니다.
이 과정에서 내가 부딪힌 질문은 여전히 남아 있습니다. XPath Axes에 대한 적절한 구문은 무엇입니까? 예를 들어, 조상, 자식, 조상 또는 자기 등....
Re: 사용 가능한 모든 공간을 채우기 위해 GB를 늘리는 방법은 무엇입니까?다른 옵션은 새 창 내에서 직접 그래프 빌더를 만드는 것입니다.
Names Default To Here(1);
dt = New Table("DEMO",
Add Rows(10),
New Column("Category", Character, "Nominal", Set Values({"A", "A", "A", "A", "A", "B", "B", "B", "B", "B"})),
New Column("X", Character, "Nominal", Set Values({"AA", "AD", "AC", "AD", "AC", "BD", "BF", "BF", "BD", "BS"})),
New Column("Y_veryLongName_toMake_Tabulat_Large",
Numeric,
"Continuous",
Format("Best", 12),
Set Values([12, 32, 42, 23, 21, 12, 34, 53, 23, 12])
)
);
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:Y_veryLongName_toMake_Tabulat_Large), Statistics(Sum, Mean)),
Row Table(Grouping Columns(:Category, :X))
)
);
gb_expr = Expr(
gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel(0),
Variables(X(:Category), X(:X, Position(1)), Y(:Y_veryLongName_toMake_Tabulat_Large), Color(:Category)),
Elements(Points(X(1), X(2), Y, Legend(9)))
)
);
rtab = tab << Report;
lb = Lineup Box(N Col(3), rtab, rtab, rtab, Unlineup Box(gb_expr));
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);
gb << Auto Stretching("On");Re: 사용 가능한 모든 공간을 채우기 위해 GB를 늘리는 방법은 무엇입니까?글쎄요, 제 사용 사례에서 이 스크립트는 사용자가 연속적으로 로드하는 많은 테이블에서 실행되고 이 창은 해당 Line Up Boxes가 차례로 추가되는 것을 제외하고는 좋은 방법입니다. 이전 테이블이 닫힐 때마다 다음 테이블이 닫히므로 라이브 그래프를 가질 수 없으므로 rtable이 닫힌 후에도 유지될 보고서가 있어야 합니다.
이 표현식을 실행해 보았습니다.
gb_expr = Expr(
(gb = dt << Graph Builder(
//Size( 528, 464 ),
Show Control Panel(0),
Variables(X(:Category), X(:X, Position(1)), Y(:Y_veryLongName_toMake_Tabulat_Large), Color(:Category)),
Elements(Points(X(1), X(2), Y, Legend(9)))
))<<REPORT></REPORT>
하지만 작동하지 않았습니다. 테이블을 닫을 때 Graph Builder가 창에서 사라지지 않도록 수정하는 방법을 알고 있습니까?
Re: 사용 가능한 모든 공간을 채우기 위해 GB를 늘리는 방법은 무엇입니까?보고서가 복제된 후 프레임 상자에서 자동 늘이기를 설정하면 작동한다고 생각합니다.
lb = LineUp Box(NCol(3), rtab, rtab, rtab, Unlineup Box(rgb) );
lb[FrameBox(1)] << Set Auto Stretching(1,0);
nw = New Window("DEMO", Show Menu(0), Show Toolbars(0), lb);
레이아웃이 변경될 때 동작이 항상 변환되지 않기 때문에 늘이기 속성은 일반적으로 상자가 복제될 때 지워집니다.