인프런 커뮤니티 질문&답변

with_all님의 프로필 이미지

작성한 질문수

태블로 레벨UP

태블로의 재사용성과 협업

해결된 질문

20.10.21 12:11 작성

·

406

0

안녕하세요. 태블로를 회사에 도입하면서 처음 배우고 있습니다. 한달정도 사용해보니까 재사용성이 떨어지는 느낌을 받았습니다.

단편적인 예로, 태블로는 Class의 개념이 없는 것일까요? 새 워크북을 만들 때마다 매번 동일한 파라미터 생성 작업을 반복해주어야 하는 것인지 궁금합니다. 

또한 협업하면서 어떤 식으로 재사용성과 확장성을 고민해야 하는지 여쭤봅니다. 

강의와 직접적인 질문은 아니라서 혹시 가능하다면 답변 부탁드립니다. 고맙습니다. 

답변 4

1

with_all님의 프로필 이미지
with_all
질문자

2020. 10. 21. 16:02

정말 많은 도움이 되었습니다!!!  어떤 시각으로 태블로에 접근해야 하는지 어느정도 이해가 되었네요.

언젠가는 태블로를 자유자재로 쓸 수 있는 날을 기대하며 열심히 손에 흙을 묻혀 보겠습니다. 고맙습니다 :) 

1

VizLab님의 프로필 이미지
VizLab
지식공유자

2020. 10. 21. 14:43

재사용성에 대한 사례는...

제가 Workbook_1과 Workbook_2를 만들어야 하는 상황이라면... 저는 굳이 이걸 두 개의 워크북으로 분리할 필요가 있을까? 하는 질문부터 먼저 던질 것 같습니다. 말씀하셨듯이 Workbook_1과 Workbook_2에서 활용되는 계산된 필드 또는 매개변수는 상당 부분 겹칠 수 있습니다. 따라서 하나의 워크북에서 두개의 대시보드(또는 시트들)를 만들고 각각 따로 태블로 서버에 퍼블리시 하는 방법을 생각할 것 같습니다. 다만, 이런 저런 이유에 의해 두 그룹의 서로 다른 엔드 유저를 위한 워크북을 따로 만들어야 하는 상황이라면, 화면 제작 완료 후 (다른 이름으로 저장을 통해) 워크북을 두 개로 나누어주는 방법을 선택할 것 같습니다. 이마저도 여의치 않는다면, 제가 위에서 말씀드린 두 가지 방법을 고려할 수 있을 것으로 보입니다

말씀하신 Class 개념을 태블로로 가져오면 아마 "보고서 템플릿" 정도로 이해할 수 있을 것 같은데, 데이터만 가져다부으면 이미 만들어진 계산된 필드가 착착 돌아서 화면을 소위 말해 '찍어내는' 방식을 생각해볼 수 있습니다. 하지만 저는 개인적으로는 템플릿 무용론자여서 이 방식이 얼마나 효율적일지, 얼마나 우리의 손을 덜 가게 하는 방식으로 우리를 도울 수 있을지는 따져볼 문제인 것 같습니다

협업에 대한 질문은... 일단 제가 잘 모르는 개념이 많습니다 ㅎㅎ;; 저는 개발자 출신이 아니기 때문에 적어주신 내용을 100% 이해하는데 한계가 있지만, 나름의 해답을 달아본다면...

1. parameter naming convention 이라는 개념은 협업을 할 때 누가 그 파라미터 또는 계산된 필드를 보더라도 쉽게 이해할 수 있는 형태의 정형화된 가이드라인? 정도로 이해하면 되는 것인가요? 만약 이게 맞다면 그나마 태블로에서 대안이 될 수 있는 것은 아주 복잡한 계산된 필드를 만들더라도 '//' 슬래시 두 줄을 긋고 코멘트(주석)을 남길 수 있습니다. 그래서 '내가 이 필드를 만들었는데 이런 이런 개념을 구현하기 위해 산식을 이렇게 적었어' 정도를 필드 안에 남겨둘 수 있는 것이죠. 그게 아니면 왼쪽 데이터 패널에서 필드명 우클릭 --> 기본 속성 --> 댓글을 통해 해당 필드 또는 매개변수가 어떤 것을 의미하는지 메세지를 적어둘 수 있습니다

2. 이건 정확히 모르겠습니다. 제가 아는 한 인덱싱 개념은 엄청 많은 더미들 가운데에서 무엇인가를 쉽게 찾기 위해 붙여주는 개념으로 알고 있는데, 대시보드를 인덱싱이 필요한 정도까지 많이 만들까? 싶은 생각이 들어서요

3. 이건 정확히 의도하신 바를 이해하지 못하겠습니다

협업이라는 개념에 대해 저와 약간 다른 것 같다는 생각이 드는데, 태블로는 기본적으로 구글 스프레드시트 같이 동일한 대상(태블로 개념에서는 워크북이겠죠?)에 여러명이 붙어서 동시 다발적으로 또는 자신이 맡은 분야에 대해서 만들어가는 방식으로 작동하지는 않습니다. 만약 이런 방식의 협업 개념이라면 태블로 데스크탑에서는 조금 어렵고, 태블로 서버 버전에서 일부 가능한 정도로 보여집니다

제가 말씀을 드렸던 협업의 개념은 화면을 만드는 제작자가 여러 비즈니스 니즈를 모아 화면을 만들고 이를 태블로 서버에 공유하면 부장님께서 코멘트를 남기시거나, 권한을 부여받은 동료가 그 화면을 가볍게 수정하는 것과 같은 팀 단위의 커뮤니케이션을 상정했던 것입니다

이런 측면에서 봤을 때 개발자 A가 만든 워크북을 개발자 B에게로 넘기고 약간의 작업 후 다시 개발자 C에게 넘겼을 때 어디가 A가 작업한 부분이고, 어디가 B가 작업한 부분인지는 확인하기 쉽지 않습니다. 다만 태블로 서버에서 특정 워크북을 공유했는데, 누가 그 화면을 열람했고, 누가 수정을 했는지 등은 site admin 권한에서 확인이 가능합니다!

충분한 대답이 아닌거 같아서 죄송하지만, 제가 아는 한도 내에서 비교적 소상히 말씀드렸으니, 추가적인 문의 사항 있으시면 남겨주시지요! :D 

1

VizLab님의 프로필 이미지
VizLab
지식공유자

2020. 10. 21. 12:49

안녕하세요! 생각해볼만한 질문인 것 같습니다

"재사용성"의 개념을 어떻게 잡고 계신지 확인하기는 어려우나, 예시로 들어주신 질문에 대한 대답은 '그렇다'입니다. 기존 워크북 말고 새로운 워크북을 만들 때에 동일한 파라미터 생성 작업을 반복하여야 합니다. 하지만 두 가지 측면에서 해결 방안을 고려해볼 수 있을 것 같습니다 (Class 라는 용어는 제가 무엇인지 정확히 잘 모르겠습니다 ㅠㅠ)

첫째는 처음 워크북에서 만들었던 파라미터 우클릭 --> 복사 후 다른 워크북으로 가서 데이터 패널(여러 필드들이 리스트 되어 있는 왼쪽 부분) 부분에 마우스 우클릭하고 붙여넣기 할 수 있습니다. 그러면 동일한 파라미터가 생성될 것입니다. 하지만 이 역시 약간의 노가다 작업이 필요한 방법이죠

두번째는 태블로 서버를 활용해보는 것입니다. 태블로 데스크탑에 데이터를 연결하고 필요한 계산된 필드 + 매개변수 등을 모두 생성합니다. 그리고 그 데이터를 태블로 서버에 게시하면 생선된 계산된 필드 + 매개변수 등이 포함된 데이터가 서버에 게시됩니다. 따라서 추후 작업에서는 원래의 그 데이터 원본을 태블로 데스크탑에 연결하는 것이 아니라, 태블로 서버에 게시된 데이터를 연결하게 되면, 기존에 생성되었던 각종 필드들을 새로운 워크북에서도 그대로 활용하실 수 있습니다

공유와 협업은 태블로 서버의 영역입니다. 태블로 데스크탑에서 만든 화면을 태블로 서버에 게시하면 권한이 주어진 사람은 그 워크북을 열람하거나 편집까지 가능합니다. 웰컴 투 태블로 월드 & 태블로 레벨UP에서 다루었던 내용이 태블로 데스크탑을 중심으로 살펴봤기 때문에 태블로의 공유 및 협업 기능이 조금 약하다고 느끼실 수 있는데, 기본적으로 공유와 협업은 태블로 서버, 또 다른 별개의 플랫폼에서 이루어진다고 생각하시면 조금 이해가 되시지 않을까 싶습니다

구체적인 태블로 사용 환경을 알지 못하여 원론적인 수준에서 답변을 드리지만, 추가적으로 궁금하신 내용을 조금 더 상세히 공유해주시면 제가 아는 선에서 답을 드리도록 하겠습니다 :D

0

with_all님의 프로필 이미지
with_all
질문자

2020. 10. 21. 14:10

질문이 너무 추상적이었는데 상세한 답변 매우 감사드립니다.

재사용성에 대하여

태블로는 재사용성에 대하여 어떤 철학을 가지고 만들어진 도구인지 궁금합니다.

가정을 한 가지 해 보겠습니다. 제가 Dashboard를 만드는데 두 가지 종류를 만듭니다.

  1. CEO가 보는 Company Dashboard - Wokrbook_1 에서 작업

  2. Sales 팀에서 보는 Sales Dashboard - Workbook_2 에서 작업

위 작업을 위해 저는 워크북 두 개가 생성(Workbook_1, Workbook_2)될 것입니다.

1번과 2번 대시보드에서 동일한 Parameter가 5개 정도 쓰인다고 가정하겠습니다. 

e.g., p_start_date, p_end_date, p_sales_group, p_customer_group, p_product_type

소프트웨어 개발을 할 때에서 Class라는 것을 만들어 두면 일종의 붕어빵 틀과 같아서 필요할 때마다 해당하는 Class만 가져다가 사용하면 됐는데 태블로에서는 이런 일련의 과정들이 어떻게 설계되어 있는지 궁금합니다. 

말씀해주신 방법대로 하는 것이 가장 바람직한 것이겠지요?  첨언해주실 부분 있다면 말씀 부탁드릴게요.

협업에 대하여

태블로를 많이 다뤄본 것이 아니라서 자세히는 모르지만 Workbook 간의 이동이나 데이터 연결 등 여러가지 기능이 있을 것으로 추정됩니다.

현재 고민되는 부부은

1. 협업할 때 parameter naming convention

2. Dashboard가 많아졌을 경우 indexing

3. Calculated Field나 Parameter에 대한 계산 방법 균일화 (e.g., LTV가 계산되는 logic, Bouce에 대한 계산 기준)

위 사항들 외에 제가 더 고민하거나 주의해야할 부분들이 있을까요? 

또한 여러 사람이 워크북을 버전이 바뀌어 가면서 업데이트 될 텐데 Git 처럼 작업 과정에 대한 히스토리가 남는 방법도 있는지 궁금합니다. 

with_all님의 프로필 이미지

작성한 질문수

질문하기