로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법은 무엇입니까?안녕하세요 여러분,
저는 JMP 18을 사용하고 있으며 사용자 정의 SQL 쿼리를 사용하여 데이터 테이블을 생성하는 JMP 파일을 가지고 있습니다. 데이터 테이블에는 여러 개의 대시보드(Graph Builder에서 생성된 그래프로 구성)가 연결되어 있습니다. 일부 대시보드에는 사용자가 관련 그래프에 표시되어야 하는 선택 행을 제어할 수 있는 로컬 데이터 필터가 포함되어 있습니다.
로컬 데이터 필터의 값 정렬 순서를 변경하고 싶습니다. 기본 데이터 테이블의 정렬은 문제가 되지 않기 때문에 이 게시물 에 대한 @txnelson 의 답변에 있는 첫 번째 제안을 사용해 보았습니다(아래 편집된 코드). 이렇게 하면 데이터 테이블이 예상대로 정렬되지만 Batch/Reactor 열의 정렬 순서는 로컬 데이터 필터에 적용되지 않습니다(알파벳순으로 나타나는 원래 정렬 순서로 유지됨).
Batch/Reactor 열은 문자/명목입니다.
이 코드가 예상대로 작동하지 않는 이유나 취할 수 있는 다른 접근 방식에 대한 피드백이 있는 사람이 있나요?
감사해요,
앤디
New SQL Query(
Version( 130 ),
Connection(
"ODBC:..."
),
QueryName( "Custom Query" ),
CustomSQL(
" select ...
[... SQL omitted ...]
group by
up_pro_name) as dcw on
dcw.up_pro_name = sample.dn_mat_name
"
),
PostQueryScript(
"dt = Current Data Table();
dt << Sort( By( :Name(\!"Batch/Reactor\!"),:Name(\!"EFT (h)\!") ), Order( Descending, Ascending ), Replace table );
dt:Batch/Reactor << set property( \!"value order\!", {Common Order( 0 ), Row Order Levels( 1 )} );
"
)
) << Run Foreground( UpdateTable( Current Data Table() ) );
자동화 및 스크립팅데이터 탐색 및 시각화Re: 로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법은 무엇입니까?데이터 필터에 사용되는 열에 대해 값 순서 열 속성을 설정해 보세요.
Re: 로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법은 무엇입니까?그런 식으로 사용하는 경우 Batch/Reactor는 유효한 열 이름이 아니라고 생각합니다. :"Batch/Reacher"n으로 변경해보세요. 확실히 하기 위해 정렬 뒤에 wait(0)을 추가할 수도 있습니다.
아래는 Post Query Script 대신 JMP 예제 테이블과 On Run Complete를 사용한 예입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Column(dt, 1) << Set NAme("Test/ABC");
dtquery = New SQL Query(
Version(130),
Connection("JMP"),
JMP Tables(
["Big Class" => "\C:\Program Files\JMP\JMPPRO\18\Samples\Data\Big Class.jmp"
]
),
QueryName("SQLQuery1"),
Select(
Column("Test/ABC", "t1"),
Column(
"age",
"t1",
Analysis Type("Ordinal"),
Numeric Format("Fixed Dec", "0", "NO", "")
),
Column("sex", "t1"),
Column("height", "t1", Numeric Format("Fixed Dec", "0", "NO", ""))
),
From(Table("Big Class", Alias("t1"))),
) << Run Foreground(
On Run Complete(
queryResult << Sort(By(:height), Replace Table, Order(Ascending));
wait(0);
queryResult:"Test/ABC"n << Set Property(
"Value Order",
{Common Order(0), Numerical Order(0), Row Order Levels(1)}
);
)
);

Re: 로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법은 무엇입니까?안녕하세요 짐,
UI에서 다음을 수행했습니다.
1. 열 헤더를 마우스 오른쪽 버튼으로 클릭
2. 열 속성 -> 값 순서
3. Custom Order를 클릭하고 Reverse를 클릭하세요.
이는 SQL 생성 데이터 테이블의 현재 결과 세트(연결된 대시보드의 데이터 필터에 유지되는 정렬 순서)에 대해 작동했습니다. 그러나 새 결과가 SQL에 나타나면 해당 결과는 결과 집합 아래쪽(및 대시보드 데이터 필터 아래쪽)에 나타납니다.
현재 결과 세트에 동적으로 적용되도록 값 순서를 JSL의 속성으로 지정하는 방법이 있습니까?
감사해요,
앤디
Re: 로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법은 무엇입니까?다음은 Big Class 데이터 테이블에서 Sex라는 열의 값 순서를 설정하는 간단한 예입니다.
Names Default To Here( 1 );
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "/C:/Program Files/JMP/JMPPRO/19/Samples/Data/Big Class.jmp" );
dt:sex << set property( "Value Order", {Custom Order( {"M", "F"} ), Common Order( 0 )} );
열 속성을 설정하는 데 사용해야 하는 구문은 항상 문제의 속성을 대화식으로 설정하여 얻을 수 있으며 이 JSL을 실행하면 구문이 JMP 로그에 표시됩니다.
dt:sex << get property( "Value Order" );
Re: 로컬 데이터 필터에서 값의 정렬 순서를 변경하는 방법?관심 있는 분들을 위해, SQL 쿼리가 실행될 때마다 동적으로 값 순서를 설정하는 데 사용한 코드를 소개합니다. 이렇게 하면 데이터 테이블에 연결된 대시보드의 로컬 데이터 필터에 원하는 정렬 순서가 유지되는데, 이것이 제 목표였습니다.
order by \!"Batch/Reactor\!" desc, \!"EFT (h)\!" asc
"
),
PostQueryScript(
"dt = Current Data Table();
br_values = column(\!"Batch/Reactor\!") << GetAsMatrix();
br_values_sorted = Sort Descending ( br_values );
br_values_sorted_list = as list (br_values_sorted);
dt:\!"Batch/Reactor\!" << Set Property(\!"Value Ordering\!",Eval List(br_values_sorted_list));
dt << sort( by(\!"Batch/Reactor\!"), replace table(1));"
)
) << Run Foreground( UpdateTable( Current Data Table() ) ); [...rest of SQL query...]<BR />