• 사용 방법 2가지 : 웹 / 데스크탑
    • 웹은 정말 불편함 / 데스크탑보다 기능이 제한적임 + 사용법이 미묘하게 조금씩 다 다름 (예를들면, 데이터 여러개를 웹상에서 보고싶으면 데이터 마트를 구성해야함. 데스크탑에서는 그냥 데이터 업데이트해서 올리면 해결되는 문제)
  • flow 생성방법
    • 엑셀데이터 : 데이터마트 생성(데이터 업로드) - 시멘틱모델 (=의미체계모델) - 리포트 - 대시보드 
    • 데이터브릭스 연동 :
      • 데이터브릭스에서 SQL ware house 생성 - connection details 에서 아래 두개 링크 복사 -패브릭 워크스페이스에서 dataflow gen2생성 - 아까 복사한 링크2개 복붙 - 불러올 데이터 가져오기 - 패브릭에서 레이크하우스 생성 - data flow gen2 연동 - 의미체계모델 만들기 - 보고서 생성
  • 실시간 업데이트 데이터 리프레쉬하는방법
    • 일단 데이터 올리는법은 크게 IMPORT/DEVICE QUERY 두가지 방법이 있음 
    • A) import (2가지 방법) - power bi desktop
      • 이미 만들어진 시멘틱 모델을 땡겨와서 power bi desktop 에서 연동 -> 수정사항이 있을경우 publish 로 업데이터 덮어씌우는 방식
        • 1) live connect
          • 웹상에 올라온 데이터를 직접 연동해서 씀
          • sql endpoint 방식보다는 좀 자유도가 들하다
          • 리프레쉬 버튼을 누르면 시멘틱모델이 변경된 사항이 반영된다.
        • 2) sql endpoint
          • 시멘틱 모델에 올라온 데이터를 통으로 로컬에 다운받은다음, 올릴때 데이터+보고서를 같이 올리는 방식
          • column 추가나 value 변환은 괜찮. 근데 column 이름/유형(중요)/삭제 시 에러가 나면서 publish 가 안된다
      • 리프레쉬를 반영하는방법
        • 1.원드라이브 파일을 사용하는법 (간단히 리프레쉬 버튼누르면됨)
        • 2. Share point team site(팀즈)
          • 팀즈에 파일 업로드 - 팀즈파일의 디테일에서 경로복사 - fabric power bi report 엑셀연결에서 url입력-테이블추가후 리포트생성
          • 데이터 리프레쉬는 기본으로 1시간단위로 세팅되어있다고함
          • 수동은 시멘틱 모델의 리프레쉬 버튼을 누르면됨
        • 3. 로컬파일 - 온프레미스 데이터 게이트웨이가 필요함. 그런데 private link 가 활성화된경우 이게 지원이 안됨
    • B) device query
      • 데이터 브릭스 데이터를 연동해서 쓸경우 설정을 보면 DEVICE QUERY라고 뜸
      • 몇시간에 한번 리프레쉬할건지 설정에서 설정해 줄 수 있다.
      • 리프레쉬 버튼누르면 업데이트된다. 리프레쉬 대상은 GEN2다 GEN2를 리프레쉬해야함.
  • 대시보드를 볼 수 있는 권한 설정
    • admin  - 테넌트 설정도 가능/워크스페이스 삭제 유일하게 가능/cu사용내역도 볼수 있음
    • member - 리포트 공유/수정/워크스페이스 수정 가능/멤버추가가능 (ppu나 pro 권한이 없어도 멤버 권한이 주어지면 수정이 가능함)
    • contributer - 리포트 보기/수정
    • viewer - 리포트 보기 가능
    • 앱배포 = 누구나 볼 수 있음 ( 단점은 딱 배포한 시점의 리포트가 보이기 때문에, 변화한 사항이 있으면 꼭 재배포 해줘야함, 앱 배포한 리포트가 삭제가 되어도 앱 링크에서는 잘보임)
더보기

Viewer - Can view all content in the workspace, but can't modify it.

Contributor - Can view and modify all content in the workspace.
Member - Can view, modify, and share all content in the workspace.
Admin - Can view, modify, share, and manage all content in the workspace, including managing permissions.

  • 일반적인 협업 방식
    • 시멘틱모델을 만들어놓고, 데스크탑에 연동해서 받아오기 publish 하는 식으로 플로우를 만들거나 덮어씌우는 방식으로 진행
    • 근데 만약 상대방이 변경된 내용을 퍼블리쉬하면 그걸 다시 받아서 수정해서 퍼블리쉬해야함 (import 방식으로 진행시 협업이 썩 용이하진 않음)
    • 웹은 한계점이 너무많아서 주로 데스트탑 파워비아이를 사용하는편
    • 앵간한 배경이나 디자인적인 요소를 향상시키고 싶을경우 피피티에서 배경을 싹 따와서 박고 그위에 그래프를 얹는식으로 진행하는게 빠름
  • 고질적인 문제점
    • 만약 한 리포트안에 파이차트가 두개있는데  A부문 에 있는 b,c,d,e항목을 볼때 나머지 파이차트는 A부문 100프로로 뜬다. 이쁘지가 않은데 이건 어쩔수 없다고함
    • 0.0001퍼센트같이 잘 보이지 않는 부분은 파이차트나 트리맵에서 잘 보이지도 않음. 숫자도 안나오는데 어케할수 있는 방법이 없다고함
    • 한달 사이로 다운받은 데스크탑 구성이 다름. 심지어 없는 그래프가 있음 ( 업데이트 주기가 굉장히 빠른편.....)
  • 파워비아이가 더 편한점 
    • 전처리를 엑셀단이나 파이썬/ sql로 수정하려면 복잡해지는 문제를 파워비아이 마트단에서 클릭클릭으로 간단히 해결되는 문제들도 있기 때문에 둘이 적당히 섞어 쓰면 좋다고 함
    • 보통 왕큰 원천 여러개랑 + 기준정보를 넣어서 연결연결 시켜서 사용한다고 함.
  • 꿀팁 꿀팁.....
    • 표안에 각각 다른 필터를 씌우고싶은데 필터설정이 컬럼별로 안되는거같다
      • 각 컬럼별로 dax문법으로 박아버리고 하나하나 선택해주면 된다.
    • 클릭시 변하게 하고싶다
      • 책갈피라는 기능이 있는데, 해당 페이지를 스냅샷으로 찍어서 이동하게끔 하는 방식임 (약간 노가다성)
  • DAX문법 예시
# 조건거는법
Q_sum = CALCULATE(SUM('Data'[매출]),'Data'[실적구분]='2024','Data'[조건1]="")
# 마이너스 세모표시로 바꾸는법
var result = ROUND(CALCULATE(SUM('Data'[매출]),'Data'[실적구분]='2024','Data'[조건1]=""),2)
var result2 = if(result<0,"△ "&CONVERT(-result,STRING),"+"&CONVERT(result,STRING))
return result2
# DAX끼리 빼기
yo = [@dax컬럼] - [@dax컬럼]

Udemy 강의 내용 정리한것

【한글자막】 15일 완성 코스 - Power BI 완벽 부트캠프 | Udemy

- 강의는 POWER BI Desktop 기준으로 진행

- POWER BI Desktop 에서 만든걸 pbix 저장한다음, Fabric Power BI에 올려서 진행하는 방식으로 실습 진행함( Desktop 강의서가 더 많고, Fabric Power Bi에서 제약이 너무 많기 때문 )

- 조직계정외 개인개정으로 Fabric Power BI는 AZURE 무료계정만들기 => Microsoft 계정만들기로 진행가능

- Desktop-> Fabric Power BI 옮기려면 템플릿NONO POWER BI 문서로 저장해야함

  • DESKTOP에서 작업한것 save as -> one drive -> 맽밑에 pbix 이름지정 -> save 그런다음에 웹 fabric Power BI드가서 업로드-> 저장한 원드라이브 위치에 드가서 업로드한 파일 선택 하면 정상적으로 (데이터+대시보드)가 업데이트 됨

 

 

DAY2 : 데이터 전처리를 POWER BI 안에서 진행할수 있음

1. 데이터 수정은 Home - Transform data 눌러서 진행

- error 종종 뜰땐 텍스트로 바꾼다음 home - replae value 누른다음 NA 값을 없는값으로 만들어주기, 그리고 숫자로 바꿔주면 null로 바뀜

2. column 안에 너무 정보가 많을때 아래 잘 조합해서 쪼개기

  • Transform - split colum

       - by position 로 0,3,5 이렇게 나눠주면 TX - Montgomery 이게 3개 COLUMN으로 쪼개진다.

       - Split Column by Delimiter로 [ - ]를 넣어주면 2개 COLUMN으로 쪼개진다

  • Transform - Extract 

3. 앞뒤 공백 없애주기 : Column 마우스 우클릭 - Transform - Trim 앞뒤 공백 없애줌, Clean은 탭키 공백들도 없애줌

- 모든 컬럼 대문자로 시작하게 : 마우스 우클릭 - Transform - Capitalize Each Word

4. 소숫점 없애기

- 열 마우스 우클릭 - change type - whole number

5. 열 전체 합같은 연산하기

- Transform - Statistics - SUM 

열의 모든값을 합친 값만 output으로 내놓지 활용할거리가 하나도 없다.

6. 모든 열에 모두 100 더해주기, 모든열에 해당하는 값 연산,  cm을 인치로 바꾸기 (=단위 변환하기)

- Transform - Standard - Add - 100 ( 모든 열에 100을 더해줌)

- Transform - Standard - Multiply(곱셈) - 0.394(cm에서 인치로 변환하기위해 곱해줌) 

29,30 강의 다시듣기

8. 파이차트 주의할점 (앵간하면 비추함)

- 최악의 경우

  • 비슷비슷한값들의 경우 비교할때 파이차트를 사용하면 안됨 (심지어 비슷한 비율의 파이차트 두개를 보여준다? 최악)
  • 값이 너무 많은경우 비추함(항목이 2,3개일때만 사용하고, 항목이 5개를 초과할경우 절대 쓰지 말라고함) / 값이 너무 많은경우엔 세로 막대그래프를 권장함

- 파이차트를 권장하는 경우 / 사용 권장 방식

  • 파이차트는 전체에서 차지하는 비율(퍼센테이지)을 전시할때만 사용하라고 권장함. (총합 100퍼센트를 이루는것만 해당)
  • 과반수를 이루는것만 색깔 칠하기 등..
  • 파이차트에서 범례 쓰지말고 걍 원위에 항목 표시하기 (한눈에 안들어옴) 

- 디테일한 사용 방식

  • 범례 표위에 표시하는법 detail labels  에서 설정

DAY3 : 본격적인 시각화 툴 활용

- 두개 데이터 연결하기

  • 1. 1개 테이블뒤에 다른 테이블 붙이기
  • 2. append queries 로 새 테이블 만들기 (3개이상 연결)
  • if ) 연결하려는 두개 테이블의 column 명이 다를경우, a,b를 합쳐서 c를 만들었을경우 걍 a테이블로 돌아가서 컬럼명을 바꾸고 다시 c로 돌아와서 보면 알아서 고쳐져있음 (파워비아이의 장점!) 

- 데이터 타입 자동으로 바꾸기 ( 일일히 수동으로 변경하지 않아도 됨)

  • Transform - detect data type 

DAY4 : 데이터 변환

- 대시보드 필터 기능 (slicer)

  • 여러개 선택하고 싶으면 ctrl 누르고 선택하면 됨
  • ctrl 없이 여러개 누르고 싶으면 format - selection controls - Multi select with CTRL 활성화를 끄면됨

 

DAY5 : 대화형 시각화

- 오른쪽 메뉴 필터 slicer (그래프,페이지,전체등 범위선택가능)

  • filer on this visul 한정으로 topN기능 사용가능

- 여러페이지에서 동일 필터를 먹이는 방법 (sync slicers)

  • 1. slicer 를 복사 붙여넣기한다음 - 동기화하겠습니까? 묻는거에 YES
  • 2. slicer를 더블클릭하면 sync slicers 라고 오른쪽에 새로 뜨는 페이지를 클릭해서 어느 페이지에서 보여줄것인지 체크창에 체크표시하면 됨 (동기화와, slicer보임여부를 표시할 수 있음)

- 트리맵 시각화 (tree map)

  •  항목이 너무 많아서 막대그래프로 나타내도 스크롤이 줄질 않으면 트리맵을 추천 (위계적인 데이터에 추천)
    • 스크롤 없이 한눈에 보기 가능
    • 하지만 수치가 표시되는건 아니라 데이터라벨 추가해주면 좋음 format - 
    • detail 에 서브카테고리 컬럼을 추가해주면, 같은색안에 칸이 나뉘면서 그안의 서브카테고리들을 보여줌

- 드릴스루

  • 테이블에서 예를들어 0이상만 보여주고 싶을경우 Filters 에서 자세히 지정해주면 됨
  • 드릴스루로 더 자세히 봐줄 column을 지정해주면 드릴스루 메뉴가 뜸

- 말풍선 (마우스 커서 가져다 대면 뜨는거)

  • visualizations - build - tooltips에서 column들을 넣어주면 뜸
  • visualization - format - tooltip에서 툴팁 포맷도 디테일하게 설정해줄수가 있음 (안뜨게 OFF설정도 가능)

- 사용자 지정 열 ( 예를들어 너비,높이 Column을 가지고 넓이 Column을 새로이 만들어주는 작업을 의미함)

  • 데이터 transform - 연산해줄 컬럼을 눌르고 - STANDARD - Multiply (비교적 신기능으로 기존열과 새 열을 곱해서 열의 값을 바꾸어주는 기능)
  • 더 복잡한 작업을 해주려면 add column - custom column - M언어를 사용(m언어를 알필요는 없다고함, 인터페이스를 가지고 활용하면됨) - 열 선택해서 곱셈이면 * 이걸로 3개 열을 곱해주면 새로운 열이 생김. 

- 데이터양 줄이기 (활성화,비활성화 로드)

  • 해당 column이 대시보드에 나타나지 않도록 포함에서 제외하는 작업임.이작업을 하면 그 템플릿 다운받을때 (대시보드+데이터) 용량이 확준다
  • 전혀 쓰지않는 테이블이나 column의 경우 이작업을 통해 용량을 덜어냄 (데이터가 너무많으면 성능에 문제생길수있으니까)
  • Transform data - 테이블 마우스 우클릭 - enable load 클릭해서 선택해제 (해당 테이블을 사용하는 시각화는 에러가 생길것임) 
  • 비활성화되면 왼쪽에서 기울인 폰트로 보임

- 참조 VS 중복 (보고서의 성능) 64화

  • 일단 기존 테이블을 복제 (마우스 우클릭 - Duplicate)
  • 보통 참조용 테이블은 기존 테이블을 참조하게 함
  • 63,63 추가로 봐야할 필요가 있음

 

DAY6 : 고급 시각화

- Sort 방식 변경 (값기준, 월화수목.. 이런순서) + 조건부 열 순서 (66,67강의)

  • 1. x축이 monday tuesday... 이럴경우 높은값부터 나타날경우 차례대로 월화수목 이렇게 안뜨는 문제가 있음 (높은값부터, 낮은값부터 정렬되기 때문에 월화수목금토일 이케 안뜸)
  • 2. 그래프 맨 오른쪽 [...]  - Sort axis - 값이 아니라 다른 기준을 고르면 됨
  • 3. 하지만 가나다라, abcd방식으로 정렬되기 떄문에 역시 friday, monday, saturday... 이런식으로 뜨는 문제해결 : transform data - add column - conditional column 여기서 COLUMN 이름적고 OUTPUT 1-7 이케 적으면 순서해결
  • 4. 다시 돌아가서 column tools - 새로 더해준 기준대로 sort

- 예측 (선형차트)

  • Visualization - analysis 로 들어가면 Predict가 뜬다는데 안뜸. 그래서 그냥 PREDICT 그래프를 선택해줬음. 에러가남...

- 사용자 편의 드릴스루 (아이콘)-

 

 

 

< 추가 방법 >

- MATRIX 에서 interactive 하지않게 만들기

  • format - edit interactions - 없음 아이콘 선택하면 interactive하지 않게 표시

 

 

 

 

 

< 뻘짓.. 찐 실행은 살짝 뒤에서부터..>

 

원래 databricks에서 실행하고 싶어서 이모저모 찾아봤는데, 아무리 찾아봐도 databricks에 bak 데이터를 업로드하는 튜토리얼이 전혀 보이지 않았다... (혹시 있으면 댓글로 알려주시면 감사감사 왕감사..) 그래서 azure data studio를 제일 많이 쓰는거 같길래 설치함

 

기본베이스는 https://learn.microsoft.com/ko-kr/sql/samples/adventureworks-install-configure?view=sql-server-ver16&tabs=data-studio#download-backup-files 이거 따라함

 

Azure Data Studio 설치하기

 

Azure SQL Server에서 [만들기] 눌러서 새로 만들어주기

 

Azure 계정이랑 연결하기 (왼쪽 아이콘중 맨위에 connection 누른다음 뒤적거리다보면 앞에서 새로 만들어준게 나옴. 그거 클릭하면 됨)

ㄴ그런데 여기서 100% 에러남 ->  네트워크 설정 공용 네트워크 허용으로 바꿔주기

 

(예외 규칙 새로 안만들어줘도 새로생성한 sqlserver 네트워킹 설정 들가서 그냥 공용엑세스 메뉴에서 사용안함 -> 선택한 네트워크로 저장해주고, azure sql data studio 들어가서 connection 누르니까 지가 알아서 방화벽 만들어서 접속됨)

 

 

문제없이 진행되었을경우, 튜토리얼대로 manage버튼 안눌르고, 빨간 박스친것이 보이는데 클릭하면 된다.

 

왜 preview...? azure 튜토리얼은 뭔.. 맞는게 없는거 같은데 알아서 감으로 하쇼 이런건가?

 

 

(찐실행하기 전에 뻘짓으로 만들어준 sql server삭제하고.. 진행하기)

 

< 찐 실행은 여기서부터 >

 

아 저걸 눌러도 계속 에러가 뜸. 도커 설치는 필수였나보다....

 

https://debugsolutions.wordpress.com/2022/05/03/how-to-restore-a-database-on-azure-data-studio-for-mac-with-docker/ 이거 똑같이 따라서 도커 설치하고 data studio 재 연결하면됨

 

**error) docker run –cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=Password.1' -p 1433:1433 –name azuresqledge -d mcr.microsoft.com/azure-sql-edge 이 실행 에러나는데 docker run --cap-add SYS_PTRACE -e 'ACCEPT_EULA=1' -e 'MSSQL_SA_PASSWORD=StrongPass030424!' -p 1433:1433 --name azuresqledge --restart unless-stopped -d mcr.microsoft.com/azure-sql-edge 이걸로 바꿔서 실행하면 성공~ (from gpt)

 

되었당..!!

 

**error) 파일 옮길때 에러나면 이렇게 '' 이거 따옴표 없애면 됨. docker cp /Users/yoonseo/downloads/AdventureWorks2019.bak azuresqledge:/var/opt/mssql/backup

 

 

야호~~~!!!!!!!

DSVM 에 뭐가 세팅되어있는지 확인 : https://docs.microsoft.com/ko-kr/azure/machine-learning/data-science-virtual-machine/tools-included

 

DVSM 에서 사용가능한 GPU 인스턴스가 한정적이다. 이유는 vCPU 제한이 있기 때문

 

vCPU 한도를 4 ->6 으로 증가요청을 하여 막힌 vm 인스턴스 사용하겠다고 할당량증가 요청을 해줌 된다.

p100 GPU 인스턴스를 요청했는데 거절당했다. (이유는 22.8.31 에 곧 종료될 인스턴스라 노후화되었다고 판단하여 할당해주지않은듯하다)

 

 

ssh 로 key 생성하기

azure portal 에서 생성하기

 

azure 검색창에 ssh 검색해서 들어간다음, create ssh key 클릭 , 이름이랑, region 선택한다음 생성하고 다운로드 받으면 끝

 

https://docs.microsoft.com/ko-kr/cli/azure/install-azure-cli-macos 참조 

brew update && brew install azure-cli
az upgrade
az login
az vm image list --all // 사용가능한 모든 이미지리스트를 출력해준다
az vm image list -f CentOS --all  // 사용가능한 centos 이미지 리스트를 출력해준다
az vm image list-offers -l westus -p MicrosoftWindowsServer 
// westus 에서 사용가능한 Microsoft에서 제공하는 모든걸 나열
az vm image list -l westus -f Ubuntu

 

+ Recent posts