데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법문제를 나타내기 위해 특정 행이 빨간색으로 표시되는 데이터 테이블이 제공되었지만 문제 뒤에 숨어 있는 논리를 모르겠습니다. JSL에서 빨간색으로 표시된 모든 행을 선택하려면 어떻게 해야 합니까?
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?dt = Open("C:/temp/Cars_modified.jmp");
//______________________________________________________________________________________
//A function to find the colored cells in a specific column.
//-15341335 = reddish color, 73 = yellowish, 36=greenish
get_colored_cells = Function( {col}, {_s,i, xp, clr_aa=0 },
// If IsMissing(clr) then get all colors
_s = col << get script ;
for(i=1, i<=narg(_s) , i++,
xp = Arg(_s, i);
if(Head Name(xp) =="Color Cells",
//this only works if the color is an integer might need a for loop to change the
//key to the RGB value
clr_aa = Associative Array(Arg(xp,1));
clr_aa << set default value(0);
Break()
);
);
clr_aa
);
//_______________________________________________________________________________________
// Usage examples:
model_aa = get_colored_cells( Column("Model"));
dt<< select rows (model_aa[73]);노란색 셀을 선택하도록 위의 예를 수정했는데, "모델" 열에 여러 색상이 있을 때 작동했습니다. 열에 색상이 하나만 있으면 작동하지 않습니다. 열에 사용된 색상이 1개뿐인 경우 모델 열 내의 색상 셀을 선택할 수 있도록 스크립트를 어떻게 수정합니까?
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?그런 다음 다음 코드를 사용하고 싶습니다(에서 수정됨) @gzmorgan0 암호)
//get and table row with a specified color
_colorRows = dt << get rows where (Color Of( Row State( Row() ) ) != 0) ;
dt<<SELECT rows=""></SELECT>
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?이 경우 개별 셀이 아닌 행에 색상이 지정됩니다.
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?Jim이 언급한 것처럼 셀 색상은 행 색상과 관련되거나 독립적일 수 있습니다.특정 열의 셀 색상을 얻는 방법을 아는 유일한 방법은 열 스크립트를 가져와 표현식(스크립트) 인수를 "압축해제"하는 것입니다.
열에 색상 셀이 포함된 경우 목록에 하나 이상의 목록이 포함된 Color Cells( {... } ) 인수가 있습니다. 각 목록의 첫 번째 항목은 색상 번호이고 목록의 두 번째 항목은 다른 목록입니다. 해당 색상의 셀(행) 목록입니다.2개 항목 목록 형식을 이름-값 쌍 . 첨부된 스크립트는 셀 색상이 정수가 아닌 경우는 처리하지 않습니다.
JMP가 Color Cells를 열 속성으로 만들어서 col << get Column Property("Cell Colors")가 인수를 검색하지 않고 목록을 반환하게 되기를 바랍니다.
Jim에게는 더 간단한 해결책이 있을 수 있습니다. 테이블이 붙어있어요 Cars_modified.jmp 그리고 그것을 사용하는 스크립트.스크립트는 c:/temp의 테이블을 참조하므로 올바른 테이블 경로를 갖도록 스크립트를 수정하십시오.
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?이를 얻을 수 있는 직접적인 방법은 없습니다.부분적으로 문제는 행에 색상이 지정되어 있거나 셀에 색상이 지정되어 있기 때문입니다.이를 확인하려면 행 번호가 들어 있는 열, 즉 행 상태 열을 살펴보고 행에 색상이 지정된 행에 마커가 있고 동일한 색상인지 확인합니다. 행으로 행을 지정하면 행에 색상이 지정됩니다.색상이 지정된 행의 행 상태 열에 색상이 지정된 마커가 없으면 각 셀에 색상이 지정됩니다.
당신은 다음 중 어떤 경우에 해당합니까?
Re: 데이터 테이블에서 색상이 지정된 셀을 모두 선택하는 방법은 무엇입니까?좋은 트릭입니다. 열 스크립트를 통해요!:)
:folded_hands: 표현식 인덱싱: 읽기 및 쓰기 액세스를 통해
if(Head Name(xp) =="Color Cells",
부분 ...
사용 가능해질 때까지 표현식을 목록으로 변환하고 목록 인덱싱을 사용할 수 있습니다.
dt = Open("C:/temp/Cars_modified.jmp");
myScript = dt:Model << Get Script;
SubstituteInto(myScript, Expr(New Column()), {});
colorsettings = Associative Array(Try(myScript["Color Cells"],{}));