본문 바로가기
Spotfire

spotfire) R data function을 이용해 data table에 행 추가하기 in spotfire

by C.Mond 2023. 6. 25.
728x90
728x90

data function을 이용해 table에 행을 추가하는것 해보겠습니다.

 

위 data에

위 data를 추가해 보겠습니다.

 

먼저 data table하나 만들어주시고

 

data function properties에 들어가 줍니다

register new 눌러주시고 위 팝업이 뜨게되면 아래와 같은 코드를 입력합니다.

df<-input
add_df<-data.frame(col1="한", col2=32, col3="망고")
output<-rbind(df,add_df)

간단히 코드를 말하자면

 

"df<-input"

spotfire에서는 기본적으로 input에 어떤걸 넣을지 정해줘야 합니다.

그래서 이후 과정에서 input변수에 원본 data table을 할당해 줄겁니다 

input에 할당된 data를 다시 df에 할당하는 과정인데 하지 않아도 되는 과정이긴 합니다...

그냥 input을 df에 할당하지않고 바로 써도 되지만 저는 그냥 이렇게 하고 싶군요...ㅎㅎㅎ그냥 직관적으로 구분하기 쉬워서랄까요 

 

"add_df<-data.frame(col1="한", col2=32, col3="망고")"

내가 추가하고자 하는 행을 하나 만들어줬습니다.

 

"output<-rbind(df,add_df)"

rbind함수를 이용해 기존 data table에 행을 추가 해줬습니다. 그리고 output에 할당했습니다.

나중에 최종적으로 output을 어떻게 반환할지 정해주는데 뒤에 적겠습니다.

 

다음 input parameters tab에 가서 input parameter의 형태를 정의해 줘야합니다.

이 과정은 없어도 될것같은데 data function을 쓰려면 해야하더군요 앞으로 spotfire버전업이 되감에 따라 없어저도 되지않을까 합니다 여튼 정의를 해줍니다

input parameters에 가서 add를 누르고 팝업창이 뜨면 위 같이 설정해 줍니다.

input 파라의 이름을 정의해주고 input data의 형태가 table이니 table로 해주고 type은 그냥 all눌러서 전체로 지정해 줍니다.

ok를 누르면 위와 같이 파라미터가 생성이 됩니다 이제 ouput parameters에 가서 output의 형태를 정의하겠습니다.

 

output도 위와 같이 정의해줍니다

반환되는 data의 형태도 table이기에 table로 지정해줍니다

 

이제 run을 누르면 위와 같이 팝업창이 뜹니다.

 

여기서 input에 어떤 data를 넣을지, output은 어떻게 반환할지 정해주게 됩니다.

 

refresh 뭐시기는 자동으로 해당 함수가 실행되게 할것인가 정하는거기 때문에 따로 트리거(예를들면 버튼)를 정하지 않을거면 체크를 하시고 우리는 기존의 data table을 input으로 넣을것이기에 columns를 선택하고 data table에 우리가 넣고자 하는 data table의 name을 선택해 줍니다.

다음 select columns를 눌러서 넣고자 하는 data table의 columns를 선택해주고 add를 눌러줍니다 

다음 ok를 누르면 input에 data할당이 끝나게 됩니다.

 

스크롤을 내리게 되면 limit by가 있는데 input data를 할당할때 마킹으로 제한을 할 수 있는기능인데 여기선 필요없으므로 일단 건너뛰고요

 

이렇게 input을 할당하고 다음으로 output을 보겠습니다.

 

output을 어떻게 반환할지 정해줍니다.

먼저 data table로 반환할것이기 때문에 data table을 선택해주고

새로운 table을 만들지 기존 table에 엎어칠지 정할 수 있습니다.

여기선 새로 만들어주겠습니다.

 

이제 ok를 누르고 창을 다끄고 새로은 data table을 열어서 data table목록을 확인하면 새로만든 table이 생성이 됩니다

이걸 확인하면 위와같이 행이 추가된것을 볼 수 있습니다.

 

728x90
728x90

댓글