반응형

전체 글 493

Apps Script로 Google Sheets의 Banding을 이용해 표 꾸미기

Google Sheets Banding 이란? Google Sheets Banding은 Google Sheets에서 시각적으로 구분하고 강조하는 데 사용되는 기능 중 하나 입니다. 이 기능을 사용하면 셀의 배경 색, 글꼴 색상 등과 같은 서식을 일괄 적용하여 시트의 내용을 더욱 쉽게 읽을 수 있습니다. Banding은 특정 셀 범위 내에서 균일한 패턴을 만들 수 있도록 셀 배경 색을 교대로 변경합니다. 예를 들어, 각각 두 개의 행 또는 열로 번갈아가며 색을 변경하면 대상 범위가 더욱 눈에 띄고 쉽게 구분할 수 있습니다. 이 기능은 스프레드시트 내에서 데이터를 시각적으로 분류하고 보다 효과적으로 표시할 수 있도록 도와줍니다. Banding은 다양한 스타일 및 색상 조합으로 적용될 수 있으며, 특정 데이터..

GCP/Apps Script 2023.04.25

Apps Script로 Google Sheets의 선택된 항목을 sidebar에서 수정하도록 구현 (셀 클릭 이벤트 대체)

Google Sheets에서 버튼을 생성해 클릭하여 이벤트를 실행 할 수는 있으나 셀 클릭 event는 없는 것 같다. 셀 클릭 이벤트가 안되니, 셀에 checkbox를 생성하고 checkbox를 클릭 했을 때 sidebar를 열어주는 이벤트를 추가해본다. 아래와 같은 sheet가 있다. 일단 checkbox가 여러 개 선택 되지 않고 하나만 선택되도록 해본다. /** * edit event * @param {object} e = event */ function onEdit(e) { const getValue = e.value; const spreadSheet = e.source; const sheetName = spreadSheet.getActiveSheet().getName(); const colum..

GCP/Apps Script 2023.04.21

Apps Script로 Google Sheets의 데이터를 선택 해 명세서나 세금계산서, invoice 등과 같은 양식을 pdf 파일로 생성해 이메일로 전송하기

💡 Google Sheets에서 선택된 데이터로 pdf파일을 생성 해 이메일로 전송해본다. Google Sheets 에서, 선택된 데이터들에 대해 명세서 이메일을 전송한다. 이메일을 보낼 때, pdf파일도 생성해 같이 첨부해서 보내줘 본다. 아래에서 정리한 내용들을 활용해서 개발을 진행해본다. Apps Script로 Google Sheets의 Checkbox 생성 후, Checkbox 조작하기 Apps Script를 이용해, 1. Google Sheets에 Checkbox를 생성 2. 체크가 되엇을떄 다음셀에 값을 입력 3. 체크된 checkbox 수 세기 4. 전체선택/전체선택해제 를 해보겠다. 체크박스 생성 function createCheckbox() { cons whiseung.tistory.co..

GCP/Apps Script 2023.04.19

Apps Script로 ChatGPT의 openAPI를 Google Sheets에서 호출하기

💡 Apps Script로 ChatGPT openAPI를 호출해본다. 요새 ChatGPT가 핫하다. 그래서 Google Sheets에서 ChatGPT를 사용할 수 있는 테스트 해보고 방법을 정리해봣다. 1. API를 사용하기 위해, key를 발급 받는다. ChatGPT로 물어 물어봤다. 1.1 아래 웹페이지로 접속한다. OpenAI API An API for accessing new AI models developed by OpenAI platform.openai.com 1.2 로그인 후 [View API Keys] 를 클릭한다 1.3 [Create new secert key] 를 이용해 key 를 발급받는다. 2. ChatGPT를 실행하는 코드를 작성한다. const SECRET_KEY = "생성한 A..

GCP/Apps Script 2023.04.14

Apps Script로 Google Sheets의 column들을 Group화 하여 화면 심플하게 보기

💡 Apps Script로 Google Sheets 셀 그룹을 지정해본다. 엑셀 작업을 하다 보면, 컬럼이 많아지는 경우가 발생한다. (내 경우는 컬럼이 210개까지 경험해봤다..) 컬럼이 많아져 발생되는 이슈는 한눈에 데이터를 확인하거나, 원하는 데이터를 찾기 힘들 경우가 많아진다. 아래와 같이 A ~ O 까지 데이터를 가진 시트가 잇다. 데이터를 구분 할 수 있는 명칭들만 보여주고, 하위 데이터들은 숨겨주는 Grouping 기능을 구현해본다. 1. 그룹 생성하기 일단 목록정보의 목록명 아래의 D~F column을 그룹화 해본다. function groupSheet() { const sheet = SpreadsheetApp.getActive().getSheetByName("개방목록현황_3월"); // ..

GCP/Apps Script 2023.04.13

Apps Script로 Google Sheets의 범위 이름 설정을 이용해 셀 관리하기

💡 Google Sheets의 범위 이름을 사용하는 방법을 알아본다. Apps script로 Google Sheets의 영역을 R1C1 형식으로만 데이터를 관리하기보다는, 영역의 이름을 지정해 관리하는 방식이 script의 가독성이나 유지 보수 측면에서 유용할 것이다. 범위 이름 지정하기 function setSheetRange() { const ss = SpreadsheetApp.getActive(); const sheet = ss.getSheetByName("시트29"); const rangeName = sheet.getRange(`A2:A${sheet.getLastRow()}`); const rangeCode = sheet.getRange(`B2:B${sheet.getLastRow()}`); ss...

GCP/Apps Script 2023.04.12

Apps Script로 Google Sheets에서 상품 관리 sheet 만들기

💡 Google Sheets에서 상품을 등록하고 리스트로 관리하는 화면을 구성해본다 입력폼에서 상품 정보를 입력하면, 리스트 화면에 입력한 상품의 리스트가 추가되는 화면을 구성해본다. 입력 화면에서 입력한 정보들을 console에 뿌려줘 본다. /** * 상품 등록 */ function addItem() { const inputSheet = SpreadsheetApp.getActive().getSheetByName("입력form"); const listSheet = SpreadsheetApp.getActive().getSheetByName("입력리스트"); const valueRange = inputSheet.getRange("B1:B4"); const values = valueRange.getValue..

GCP/Apps Script 2023.04.11

hive query 에서 hivevar 사용하기

💡 hive query 에서 변수를 입력받아,변수를 활용하는 방법을 알아본다. hive query 에서 아래와 같은 방식으로 hivevar를 선언해준다. SET hivevar:from_month = SOMETHING; 변수를 선언하고, 생성한 변수를 사용는 query를 작성해보도록 한다. 변수를 string 값이 아닌, 쿼리문으로 선언 할 수 도 있다. SET hivevar:qs = date_format(add_months(trunc("${hivevar:from}", "MM) , CASE WHEN date_format("${hivevar:from}", "dd') < 17 THEN -2 ELSE -1 END) , 'yyyy-MM'); oozie workflow에서 'from' 과 'to'라는 날짜 변수를 ..

Study 2023.04.07

oozie workflow에서, argument를 입력 받은 shell script의 결과를 다음 task(Sub workflow)에서 변수로 사용하기

💡 oozie workflow에서, main workflow에서 sub worfklow 실행 시 하위task인 sub workflow로 변수를 보내준다. shell script는 from - to 날짜를 입력 받고, argument가 없으면 오늘 날짜를 return해주는 shell script이다. #!/bin/bash regex="[0-9]{4}-[0-9]{2}-[0-9]{2}" if [ -n "$1" ]; then if [[ $1 =~ $regex ]]: then if [[ $2 =~ $regex ]]: then fromInt=$(echo $1 | sed 's/-//g') fromInt=$(echo $2 | sed 's/-//g') if [ $(($fromInt < $toint)) == 1 ] || ..

Study 2023.04.05

oozie workflow에서, argument를 입력 받은 shell script의 결과를 다음 task(Hive Query)에서 변수로 사용하기

💡 oozie에서 workflow 실행 시, 날짜를 argument로 입력 받아 다음 task(hive query)에서 where조건의 값으로 사용해본다. 1. 날짜를 입력 받을 shell script를 작성한다. #!/bin/bash if [ -n "$1" ]; then echo today=$1 else getdt=$(date +%Y-%m-%d) echo today=$getdt fi 위와 같은 형식으로 echo를 찍어준다. today=${date} 2. hadoop 명령어를 이용해 작성한 shell script를 hadoop에 업로드한다 $ hadoop fs -copyFromLocal check_date.sh /user/hue/oozie/script/ws_test_date_return 3. workfl..

Study 2023.04.04
반응형