안녕,
빈 열을 삭제하는 for 루프 스크립트를 만듭니다(열에는 N/A만 포함됨).
그것은 하나의 파일을 제외하고 정상적으로 작동합니다. 가정하지 않을 때 하나의 열이 삭제됩니다.
무엇이 잘못되었는지 확실하지 않음
for (i= ncols (dt[d]),i>=1,i--,
summarize(data table(dt[d]),temp = by(column(i)));
if(nitems(temp) ==1 & temp[1]=="N/A",
data table(dt[d])<< delete columns(column(i));
);
);
for 루프 안에 특정 열에 어떤 변화가 있는지 확인하기 위한 출력문을 추가하세요. 저는 보통 show() 함수를 사용합니다.
Names Default To Here(1);
dt = {};
dt_u = New Table("Untitled",
Add Rows(3),
New Column("Column 1", Character, "Nominal", Set Values({"N/A", "N/A", "N/A"})),
New Column("Column 2", Character, "Nominal", Set Values({"a", "", ""})),
New Column("Column 3", Character, "Nominal", Set Values({"b", "", ""})),
New Column("Column 4", Character, "Nominal", Set Values({"N/A", "N/A", ""}))
);
dt[1] = dt_u << get name;
d = 1;
For(i = N Cols(Datatable(dt[d])), i >= 1, i--,
Summarize(Data Table(dt[d]), temp = by(Column(i)));
If(i == 3,
show(temp);
);
If(N Items(temp) == 1 & temp[1] == "N/A",
show(temp);
Data Table(dt[d]) << delete columns(Column(i))
);
);