List), 구글시트 모든행에 종속된 다중 드롭다운 적용 앱시트(AppSheet)에서 종속된 다중 드롭다운 목록 입력(Dependent Drop-down
이번 포스팅은 '종속된 이중 드롭다운 리스트'의 두 번째 이야기다. 1차 드롭다운 리스트로부터 데이터…blog.naver.com가 마찬가지로 함수를 사용하는 방법으로 소개하고 있었다.만약 2개가 아닌 3개, 4개 이상의 종속된 다중 드롭다운 목록을 사용해야 한다면 Apps Script에서 만들어야 하는데. 차라리 AppSheet에서 드롭다운 목록을 만들어서 적용하는 것이 더 쉽다. 물론 앱시트를 사용한다는 조건 아래개인적으로는 비전공자라면 앱스크립트처럼 코딩(Coding)을 고민하기보다는 노코딩(No-Coding) 앱시트(App Sheet)를 공부할 것을 권한다. 가장 강점은 구글 시트를 기반으로 손쉽게 모바일 업무 환경으로 전환할 수 있다는 점. 특히 중소 규모의 조직이라면 더더욱… 이전 포스팅이 앱 시트에서 Column Type 'Ref'에 대해 KEY, LABEL과 함께 다른 테이블 값을 자동으로 입력하는 부분을 설명했다면 이번에 소개할 내용은 앱 시트에서 다른 테이블 값을 참조하여 종속된 다중 입력하는 내용을 참조하여 종속된 것이다.서로 비슷해 보이지만 구성 방법이나 실제 적용되는 상황이 다르다.
예제에서 설명하는 테이블(= 구글 시트의 워크시트명) 구성이 이렇다.CPU 에 대해 3개의 카테고리 '메이커, 코드명, 시리즈'가 정리된 '카테고리' 테이블이 있으며 이에 대해 신규 CPU 품목을 등록하는 'CPU 등록' 테이블에서는 '카테고리' 테이블에 있는 '메이커, 코드명, 시리즈'에 대해 종속된 드롭다운 리스트로 호출하여 입력하는 구성이다.위의 Google 시트를 AppSheet 모바일 앱으로 전환하여 다음과 같은 앱 에디터 화면과 앱 화면을 구성했다.
"CPU 등록"에서 "메이커, 코드명, 시리즈"를 직접 입력하지 않고 드롭다운 목록으로 만들려면 Data Validity - Valid If에서 "table_name[{column_name}"라고 입력하기만 하면 된다.예제에서는 참조할 테이블명 [참조할 열의 헤더명]으로 기입하면 되기 때문에...'메이커'의 경우 '카테고리[메이커]' '코드명'의 경우 '카테고리[코드명]' '시리즈'의 경우 '카테고리[시리즈]'로 Valid If 에 입력한다.
이때 Column Type은 참조할 컬럼도 Text이기 때문에 수정하지 않고 Text Type을 그대로 두어도 문제가 되지 않지만 입력방식이 원하는 드롭다운이 아닐 수도 있다.아래 그림이 적용되었을 때 반영되는 앱상의 입력화면이다.첫 번째 '메이커' 선택은 '버튼' 형식으로 표시되며 입력하면 자동으로 두 번째 '코드명' 입력이 나오는데 이때는 '드롭다운 선택'으로 창이 떴다. '코드명'도 입력하면 마지막에 세 번째 입력이 나오는데 이때는 다시 '버튼' 형태로 떴다.만약, 각 카테고리마다의 데이터가 많으면, 자동적으로 모두 드롭 다운 입력 형식이 되므로, 구면의 Column Type을 변경할 필요는 없다.
이렇게 뜨는 이유는 Column Type을 text로 했기 때문에 앱시트가 자동으로 인식하여 버튼식, 드롭다운목으로 지정해 주었기 때문이다. (Enum Type에서 Input mode를 Auto로 설정한 경우와 동일.) 따라서 강제로 드롭다운 목록 입력창에 넣으려면 ColumnColumn Type을 Enum으로 바꾸고 Type Details에서 Allowother values를 선택해 준다. 만약 이 항목을 선택하지 않으면 앱시트는 Warning 메시지를 보여주면서 자동으로 Allow other values에 체크된다.(원래의 Enum Type은 'Values' 항목에서 선택할 데이터를 지정해야 하는데, 여기에서는 'Values' 내용 없이 다른 데이터 목록을 참조하면 경고가 나오고 Allow other values가 강제 선택되는 이유이다.) 그리고 Input mode에서 Drod를 선택해 준다.예제에서는 Auto-completeoth ervalues까지 선택했는데, 이에 대한 설명은 Allowothervalues와 함께 이후 Enum, Enum List 설명 시 다룰 예정이다.참고로 Base Type에서 Text는 자동으로 지정되지만 이 Base Type이 다르면 This is invalid 메시지가 나타나므로 입력데이터가 Save 되지 않는다.당연히 Column Type, 즉 Data 속성을 맞추는 것은 매우 중요한 사항이다.앞으로 3개의 Column Type에 대해서 모두 수정을 했다면 다음과 같이 정상적인 드롭다운 입력화면이 나타나게 된다.당연히 원본 구글 시트에도 정상적으로 데이터가 기입돼 있다물론 이 종속된 드롭다운 입력을 앱시트로 표현식(함수)을 사용해 구성해도 되지만 상황에 따라 어떤 방식으로 구성할지, 적절한 방식을 선택하는 것도 앱 최적화의 관점에서 중요한 부분이 된다.
이 예제에서...앞의 포스팅에서 설명한 다른 테이블 값을 참조하여 값을 자동으로 입력하는 부분을 적용하면...다음 그림과 같이 "판매등록" 테이블에 판매한 모델이나 개수, 판매 가격을 등록할 때, "제조사, 코드명, 시리즈"는 자동 입력되는 구성이 필요할 때 사용할 수 있다.이전 포스팅을 참고... 요즘은 3권의 책을 동시에 쓰는 것 같은데... Google Spreadsheet은 정식 원고... blog.naver.com 앞의 Column Type 'Ref'도 '드롭다운 리스트'로 데이터를 입력한다, 이번에 설명한 구성도 '드롭다운 리스트'로 데이터를 입력한다.그리고 다음에 설명할 Column Type, 'Enum, Enum List' 도 '드롭다운 리스트' 로 데이터를 입력한다.여기에 표현식(함수)을 사용해 반환한 값을 '드롭 다운 리스트'로서 다시 선택해야 하는 경우도 많다.따라서 각각 어떤 특징이 있으며 어떤 상황에서 어떻게 써야 하는지 이해할 필요가 있다.