게시글
질문&답변
Set - Create Set 창
가람님 안녕하세요:) 원래 말씀하신대로 진행하면 창이 떠야 하는데 안뜬다고 하시니 이 부분이 이상하네요. 혹시 Tableau Desktop 또는 Tableau Public이 아닌, Tableau Online을 사용 중이실까요? Tableau Online에서 Create Set 팝업창이 안뜨는 이슈가 있다고 합니다. (아래 링크 참고)https://community.tableau.com/s/question/0D58b0000B95INICQ2/tableau-public-create-set-dialog-box-does-not-display(사진)일단 Tableau Desktop/Tableau Public 기준으로 Create Set를 만드는 다른 방법을 말씀 드립니다. Step 1. Product Name을 Sheet에 올린 후 Drag를 한다.(오른쪽 마우스 클릭 없이) 그러면 작은 창이 생긴다. (사진) Step 2. 벤다이어그램 버튼을 클릭해서 Create Set를 클릭한다.(사진) Step 3. IN을 취하고 싶은 Set를 선택한다.(사진) 이 글 보시고 해결이 되었거나 추가 질문 있으시면 답글 부탁드립니다:)감사합니다.김지영 드림
- 0
- 2
- 36
질문&답변
LAG, LEAD 강의 550. Game Play Analysis IV 관련 질문
주아님 안녕하세요:)제가 직접 추가한 데이터 기준이 아닌, leetcode로 주아님의 상황을 재현해보았습니다. 1번 쿼리로 leetcode에서 Submit 하면, 애초에 분수가 아닌 2개 컬럼의 쿼리이기 때문에Test case 0번째에서 fail이 납니다.(사진) 2번 쿼리로 leetcode에서 Submit 하면, 분수의 형태이기 때문에 초반 몇 개의 test case에서는 통과합니다. 하지만 결국에는 Test case 6번째에서 fail이 납니다.(사진) 테스트 케이스의 데이터가 다르기 때문에 숫자가 다르게 나타났던 것입니다.혹시 이해가 안가는 부분이 있다면, 편하게 다시 질문 부탁드립니다:)
- 1
- 2
- 35
질문&답변
workbench 테이블 생성
안녕하세요 :)MySQL workbench 다운로드 받아서 USE practice; 까지는 진행하셨을까요?어디까지 진행되었는지 말씀 주시면, 그 뒤로 가이드 드리겠습니다!(+'Github 설치 및 연동' 영상에서 어디 부분에서 막혔는지 말씀 주시면 가이드 드리기 더 쉬울 듯합니다)(사진)
- 0
- 2
- 85
질문&답변
Quick Table 값 동시에 여러 개 보기
선영님 안녕하세요. 젬마입니다. Table Calculation 기능을 잘 사용하면 매우 유용한데, 질문 잘 주셨습니다:)아래와 같은 결과를 원하신걸로 이해하였습니다!(사진) 만약 맞다면, 아래의 과정으로 생성하였습니다.아래 과정 따라해보시고 잘 안되시면 다시 질문 부탁드립니다. Step 1. Data Pane에서 Sales, Sub-Category(원하는 dimension) Pill을 더블클릭Step 2. Show Me 버튼에서 text tables 생성(사진) Step 3. Marks의 SUM(Sales) 오른쪽 마우스 클릭 > Quick Table Calculation > Percent of Total 클릭 (전체 구성 비율)Step 4. 다시 Data Pane의 Sales Pill을 더블 클릭Step 5. Measure Values의 SUM(Sales) 오른쪽 마우스 클릭 > Quick Table Calculation > Running Total 클릭 (누적 합계)Step 6. 다시 Data Pane의 Sales Pill을 더블 클릭Step 7. Measure Values의 SUM(Sales) 위치 변경을 통해 Sales 기존 값 -> 전체 구성 비율 -> 누적 합계가 오게끔 수정
- 1
- 1
- 38
질문&답변
추가 문제 링크요청 문의
재원님 안녕하세요. 젬마입니다:) 처음으로 링크 요청 주셨네요!아래 오픈카톡방으로 들어오시면 전달 드리도록 하겠습니다.https://open.kakao.com/o/sOVucIMg
- 1
- 1
- 47
질문&답변
sql 코딩 테스트에서 index 생성 가능 여부
전사님 안녕하세요:) 공식적인 leetcode 링크를 찾지는 못했지만, CREATE INDEX 명령어는 DDL 권한에 속합니다.(DDL 권한: CREATE, ALTER, DROP, TRUNCATE를 할 수 있는 권한) 따라서 CREATE INDEX 권한이 있다면 CREATE TABLE 권한도 있을 것입니다. 그런데 leetcode가 이러한 강력한 권한을 일반 사용자에게 부여하지 않을 듯해요. 사용자가 테이블을 무한히 생성할 수 있게 되면 leetcode를 남용할 수 있을테니까 애초에 막아두었을 듯합니다. leetcode에서는 임시 테이블조차도 허용하지 않고 서브쿼리만 사용할 수 있다는 글을 발견했습니다. 그래서 더더욱이 CREATE INDEX 명령어도 의도적으로 막아놓았을거라고 생각이 듭니다.https://leetcode.com/discuss/general-discussion/987590/are-temporary-tables-allowed-when-solving-database-problems 질문은 늘 환영이니, 궁금한 점 있으면 언제나 질문 주셔요:)감사합니다.젬마 드림
- 1
- 2
- 97
질문&답변
Date 강의 / leetcode 1321 질문
승렬님 안녕하세요:)참신한 방법으로 풀어주셨는데요! 먼저 승렬님께서 간과했던 부분을 말씀드리겠습니다.승렬님처럼 작성하면 2019-01-08 데이터가 포함됩니다.데이터는 2019-01-04부터 시작하는데, 7일치의 데이터가 안 만들어지기 때문에 2019-01-08 데이터는 포함되면 안됩니다. (그런 의미에서 2019-01-09도 들어가면 안되는데, 승렬님 코드로 Output에 포함됨) 하지만 이렇게 잘못 포함된 이유는 having count(amount) >= 7로 작성하셨기 때문입니다.그러면 160부터 90까지의 amount 데이터가 7개 존재하기 때문에, 2019-01-08 데이터도 조건에 포함되어서 들어가게 된 것입니다.(사진)그럼 승렬님과 비슷한 로직으로 올바르게 작성하려면 아래와 같이 작성하면 됩니다.(having절을 having count(distinct a.visited_on) = 7로 바꿨습니다.)select b.visited_on, sum(amount) as amount, round(sum(a.amount) /7, 2) as average_amount from customer a inner join ( select distinct date_sub(visited_on, interval 6 day) as week_before, visited_on from customer ) b on a.visited_on between b.week_before and b.visited_on group by b.visited_on having count(distinct a.visited_on) = 7 order by b.visited_on; 이렇게 보면 헷갈릴 수 있으니 select * inner join order by까지만 작성 후 풀어헤쳐보면 아래와 같이 결과가 나올텐데요.여기서 2019-01-08과 같은 데이터는 포함하지 않게 하기 위해서, having절에 distinct a.visited_on의 개수가 7개가 되어야 한다는 조건을 추가해서 제거합니다.(사진)혹시 읽으시고 이해가 안가면, 편하게 질문 다시 주셔요 :)
- 1
- 1
- 112
질문&답변
cross join, full join강의 / leetcode 1280번 문제 질문드립니다
승렬님 안녕하세요:)늘 참신한 질문을 주셔서 감사합니다. leetcode: https://leetcode.com/problems/students-and-examinations/description/승렬님의 질문이위의 코드 (e.subject_name -> 정답 코드)와 아래 코드(a.subject_name -> 오답 코드)의 차이가 무엇이냐로 이해했는데요.(사진)(사진)이해를 위해 아래와 같이 데이터를 좀더 풀어봤습니다. (select *로 확인)(사진)왼쪽 노란색 박스는 a temp table에서, 오른쪽 노란색 박스는 e temp table에서 온 결과입니다. 참고로 초록색 박스의 row가 왜 3개인지 말씀 드리면,a temp table에서는 (1, Alice, Math) 조합이 1개이지만, e temp table에서는 (1, Math) 조합이 3개이므로 조인하는 과정에서 3개로 뻥튀기된 것입니다. 승렬님의 질문은 분홍색 박스를 확인하면 되는데요.a temp table에서는 늘 subject_name이 들어있습니다. (분홍색 박스에서 Physics 존재)반면 e temp table에서는 Examinations table에 없다면 조인할 데이터가 없으므로 null로 나타날 것입니다. null 데이터는 count 자체가 성립이 안되기 때문에, count(null)=0이 됩니다. 그렇기 때문에 우리의 정답 코드처럼 count(e.subject_name)을 하면 0으로 나오는 것입니다. 반면 Physics는 count를 할 수 있기 때문에, count(Physics)=1이 됩니다. 그렇게 때문에 오답 코드 처럼 count(a.subject_name)을 하면 늘 1로 나오는 것입니다.읽어보시고 이해 안가는 부분이 있으시면, 추가 질문 부탁드립니다:)
- 1
- 1
- 160
질문&답변
not In강의 / leetcode 1978 질문 드립니다
승렬님 안녕하세요:) leetcode 문제: https://leetcode.com/problems/employees-whose-manager-left-the-company/description/먼저, 이해하기 쉽게 Employees 테이블을 전체 조회하면 아래처럼 나옵니다.(사진)그 다음에 서브쿼리를 쓰지 않고 바로 not in으로 비교하면, row별 manager_id와 employee_id를 비교하게 됩니다.(사진)이건 마치 manager_id와 employee_id가 서로 다른 row를 조회하는 셈이 되는데요.전체 Employees 테이블 조회했을 때 나왔던 manager_id=null이 여기서 나오지 않은 이유는,null은 특정 값과 비교자체가 안되기 때문입니다. (숫자 '0'이 '4'와 다르다라고 말할 수는 있어도, '없다'(=null)과 '4'와 같다, 다르다라고 비교 자체가 성립되지 않습니다)(사진)하지만 이렇게 서브쿼리를 쓴다면,이제 더이상 row별로 manager_id와 employee_id가 다른지 비교하는게 아니라, manager_id가 (3, 12, 13, 1, 9, 11)이 아니기만 하면 된다라는 조건으로 바뀝니다. 그리고 이게 실제 문제를 풀려고 우리가 의도했던 로직이 됩니다.select employee_id from Employees where salary (사진)읽으시고 추가 궁금한 부분 있으시면, 언제든지 질문 주세요:)
- 2
- 1
- 119
질문&답변
South Superstore 수업 자료 파일 오류
2-1. 선영님 혹시 Tableau Public이 아닌, Tableau Desktop 사용 중이실까요?Tableau Desktop 버전을 업그레이드 시킨 후에, 그 전에 생성한 workbook을 열려고 할 때 -> 연결된 data source(엑셀)가 연결이 안될 때도 있다고 합니다. 일단 선영님께서 이러한 상황이셨는지 확인 부탁드립니다.(사진)https://help.salesforce.com/s/articleView?id=001471860&type=1 2-2. 제가 첨부한 'South-Superstore.xlsx' 엑셀은 아래 github에서 다운로드하였습니다. 해당 엑셀은 row 개수가 1000개 정도이여서 가벼워서 빠르기 때문에 선택하였습니다.https://github.com/ARAPIL/South-Superstore/blob/master/South-Superstore.xlsx Tableau Desktop 또는 Public 프로그램에서 'Sample - Superstore.xls'를 사용할 수 있습니다. 하지만 해당 데이터들은 row 개수가 9000개 이상 넘어가서 조작하는데 느리기 때문에 사용을 지양하였습니다.(사진)
- 0
- 2
- 188