본문 바로가기
Office.com

[Office.com(Excel) Power Automate]Append Excel Data to another Excel

by Mr.noobiest 2022. 10. 26.

요번에 간단한 프로젝트를 진행하는 중에 각기 다른 사용자들이 Onedrive의 엑셀에 데이터를 입력하면  그것들을 Union하여

일종의 DB를 생성하고 그것을 시각화하는 프로젝트를 진행하게 되었다,

 

문제는 보안 이슈로 인해  별도의 DB를 생성하는건 안되고, 현재 사용중인 Onedrive안에 DB역할을 하는 Excel를 생성하여 DB처럼 써야한다는것이다.

 

확인된 문제들은 아래와 같다.

 

-문제점들-

1) Onedrive를 로컬 PC와 연동이 불가능하다.(로그인시 보안 프로그램으로 로그인 불가)-무조건 온라인상에서만 작업가능

2) 링크를 사용하여 DB를 구축시 새로 들어오는 데이터들을 고려하여 함수를 모두 적용해야한다.

3) 데이터가 많이크고 + 2)를 사용하면 함수 계산이후 데이터를 호출하느라 인해 속도 이슈 발생

4) Java / Python 코드 사용 불가

기타등등

 

여러문제점들과 제한사항들이 있었고 이를 해결하기 위해 고민하다 Power Automate를 활용하면 

"사용자 친화적" + "안정성"을  유지하는 방안을 구현해보았다.

프로세스는 아래와 같다

 

 

 

-상세 과정-
1) 여러명의 사용자가 본인이 입력해야 하는 데이터를 입력합니다.
이때 컬럼명과 위치는 관리자 외 변경할 수 없습니다.

2) Power Automate를 통해 입력된 데이터를  1개의 Database 역할을 하는 엑셀 파일에 지정된 시간에 반복적으로 더해집니다.
(데이터 형식 ex) 날짜,숫자,문자열)이 다른것에 상관없이 데이터는 입력됩니다.

3) 이후 보내진 데이터는 자동으로 삭제되어 Database에서 직접 수정 하는것 외의 방법으로는 수정할 수 없습니다(데이터 무결성). 또한 모든 데이터가 모이는 Database는 오직 관리자만 수정할 수 있습니다. (만일 업데이트 기능을 희망할 경우 흐름의 실행 소요 시간이 크게 증가되므로 일별,파일명을 토대로 최대 3일내의 데이터만 변경 가능합니다.)

power automate의 흐름은 아래와 같다.


약간 무식한 방법으로 어떠한 Excel에 데이터를 입력하면 다음날 혹은 데이터 수정되는대로 Database역할을 하는 Excel에 모든 데이터를 던져주고 던져진 데이터들을 삭제하는 방식이다, 여기에 더해 특정폴더에 excel파일명을 Excel_file_name_2022-10-26 <- 이런식으로 특정 날짜별 엑셀 파일을 만들어주고 흐름이 실행되는 시간과 동일한  파일명이 있는지 체크한뒤 있을 경우 해당 엑셀 파일의 소유자와 날짜를 기준으로 기존 데이터를 덮어쓰는 방식도 생각중이다 <- 이렇게 할경우 굳이 데이터를  지워줄 필요가 없다.

 

 

기존에는 Power Automate에 http 형식으로 트리거역할을 하는 URL을 생성해줄 수 있었지만 해당 기능이 프리미엄 기능이되어 사용이불가능해서  매우 아쉽다, 해당 기능이 가능하다면 단순히 엑셀 파일을 로컬에서 수정한 후 버튼만 눌러주면 Onedrive로 전송해주는 기능을 구현할 수 있다.

728x90
반응형