셀 내용이 래핑 된 Excel 시트 가져 오기안녕하세요,
Excel for Analysis에서 래핑 된 셀을 피하는 것이 낫다는 것을 알고 있지만 이러한 종류의 데이터를 보유한 고객이 있습니다. Excel 가져 오기 마법사를 사용하여 가져 오면 줄 바꿈 된 셀도 가져 오지만 모든 항목을 보려면 행을 더 크게 확장해야합니다. 이 열은 기본적으로 문자이며 명목입니다. 그러나 분석에 사용할 수 없습니다. 첫 번째 열에 하나의 셀 (DE, US, ES)에 여러 국가가 있고 두 번째 열에 하나의 셀에 관련 숫자 값 (예 : 10, 15, 7과 같은 점수)이 있다고 가정합니다. 이는 독일의 점수가 10이고 미국 15와 ES 7의 점수입니다.
그런 종류의 데이터를 다루는 방법? 별도의 줄로 가져 오는 방법이 있습니까?
(이것은 데이터의 단순화 된 버전 일뿐입니다. 이러한 셀 중 하나가 각각 하나의 연구에 속하는 연구 / 프로젝트 등과 같은 추가 변수 및 그룹화 변수를 생각할 수 있습니다.)
내가 지금까지 시도한 것 :
JMP에서이 데이터를 사용하려면 랩에 구분 기호가 ","또는 ";"이 아니기 때문에 다중 응답 변수를 사용하고 "다중 응답"특성을 구분 기호 ""로 설정할 수 있습니다. 지금까지는 좋지만 이제 데이터는 숫자 값이 아닌 주파수로 분석됩니다. 따라서 많은 분석 방법을 사용할 수 없습니다.
다중 응답 열을 설명하지 않고 전체 항목을 하나의 값으로 지정하기 때문에 스태킹, 분할 및 기타 테이블 조작이 작동하지 않았습니다. 열로 확장해도 성공하지는 못했지만 트릭을 찾지 못했습니다. 그러나 이것은 이미 훌륭한 솔루션을 위해 많은 단계를 수반했지만 아무것도 아닌 것보다 더 나은 솔루션입니다. 
가장 좋은 해결책은 이미 Excel에서 다른 구조 / 형식으로 데이터를 제공하는 것입니다. 아니면 다른 제안이 있습니까?
Excel 파일과 스크립트를 첨부하여 모델링 유형을 가져 와서 다중 응답으로 변경했습니다.
감사,
남자 이름
Re : 셀 내용이 래핑 된 Excel 시트 가져 오기안녕하세요 브래디, 고마워요! JSL로 처리 할 수는 있지만 처리해야 할 열이 더 많으면 더 번거로울 수 있으므로 소스에서 형식을 변경하는 것이 좋습니다.
연속적이고 여러 시리즈의 스택 옵션도 더 명확 해졌습니다.
감사,
남자 이름
Re : 셀 내용이 래핑 된 Excel 시트 가져 오기이 데이터는 줄 바꿈으로 인해 실제로 추악합니다. 이것이 작동하는지 확인하십시오. 그것은 나를 위해 일하는 것 같습니다.
주요 아이디어는 다음과 같습니다.
공백을 축소하고 개행을 쉼표로 바꾸고, 텍스트를 열로, 연속 된 여러 시리즈 스택으로 바꿉니다.
또한 열 삭제, 빈 행 삭제 및 유형 변환과 같은 몇 가지 정리 작업이 있습니다.
Names Default To Here(1);
dt = Open(pickfile(),
Worksheets( "Sheet1" ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
)
);
dt << new column("C2", formula(collapse whitespace(substitute(:Country, "\!n",","))));
dt << new column("D2", formula(collapse whitespace(substitute(:Data, "\!n",","))));
dt << select columns({"C2", "D2"});
dt << text to columns(delimiter(","));
dt << Delete Columns;
dt << Delete Columns (1,2);
collist = dt << get column names(string);
colExpr = insert(expr(columns()), colList);
stackExpr = Expr(
dtStack = dt << Stack(
_CCC_,
Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Number of Series( 2 ),
Contiguous
)
);
substituteInto(stackExpr, expr(_CCC_), nameexpr(colExpr));
stackExpr;
dtStack << delete Columns (1,3);
dtStack << select where (:Data == "") << delete rows();
close(dt, nosave);
column(dtStack,1)<<SET name=""></SET>Re : 셀 내용이 래핑 된 Excel 시트 가져 오기흠, 좋은 생각이지만 2 열을 함께 쌓을 것을 요구하기 때문에 사용할 수는 없지만 하나만 선택할 수 있습니다. 예제 테이블을 첨부하여 잘못 사용했을 수 있습니다.
수정, 표의 구분 기호를 ","로 변경하면 사용할 수 있습니다.
For Each Row(
new1 = Substitute( Column( 1 )[], "\!n", "," );
Column( 1 )[] = new1;
);
For Each Row(
new2 = Substitute( Column( 2 )[], "\!n", "," );
Column( 2 )[] = new2;
);
그러나 여전히 끝 테이블이 기대되는 것처럼 보이지는 않습니다.
|
신분증
|
국가
|
데이터
|
|
1
|
DE
|
10
|
|
1
|
Arg.
|
15
|
|
1
|
미국
|
13
|
| 2 |
DE |
10 |
Re : 셀 내용이 래핑 된 Excel 시트 가져 오기제안한 다중 반응 열 아이디어를 사용하면 사용하기에 좋은 위치에있게됩니다 @ 의 데이터 테이블 도구 추가 기능. 다중 응답과 스택 간을 앞뒤로 변환 할 수있는 유틸리티가 있습니다. 일단 쌓이면 모델링과 데이터 유형을 데이터에 적합한 것으로 변경할 수 있습니다.
베스트,
엠