카테고리 없음

powerbi 기능을 더 사용해봅시다

김준아 2025. 10. 21. 17:30

https://www.atfis.or.kr/home/commodity.do?act=detail&periodGubun=DAY&beginYmd=2024-10-21&endYmd=2025-10-21&cmdtSeCd=FOOD&cmdtId=0701000001111101

 

국제 원료가격

식품산업통계,국내외 시장동향,식재료 및 식품업체 지원사업 관련 정보 제공. 한국농수산식품유통공사 운영

www.atfis.or.kr

 

원하는 자료 값 설정후 url그대로 복사  (2024.10.21~2025.10.21 일간 데이터)

 

powerbi 열기

 

그래서 쿼리 편집기 들어가서 고급 편집기를 누르면 이렇게 코드가 나오는데 

let

    원본 = Web.BrowserContents("https://www.atfis.or.kr/home/commodity.do?act=detail&periodGubun=DAY&beginYmd=2024-10-21&endYmd=2025-10-21&cmdtSeCd=FOOD&cmdtId=0701000001111101"),

    #"HTML에서 추출된 테이블" = Html.Table(원본, {{"Column1", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(1)"}, {"Column2", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(2)"}, {"Column3", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(3)"}, {"Column4", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(4)"}, {"Column5", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(5)"}, {"Column6", "TABLE.rollTable.colFixTable.scroltable > * > TR > :nth-child(6)"}}, [RowSelector="TABLE.rollTable.colFixTable.scroltable > * > TR"]),

    #"승격된 헤더" = Table.PromoteHeaders(#"HTML에서 추출된 테이블", [PromoteAllScalars=true]),

    #"변경된 유형" = Table.TransformColumnTypes(#"승격된 헤더",{{"인도월", type number}, {"거래일자", type date}, {"종가(US¢/lb)", type number}, {"전일대비", type text}, {"등락률(%)", type text}, {"환산가($/ton)", type number}})

in

    #"변경된 유형"

나의 단짝에게 도움을 요청하면

이 코드를 그대로 고급 편집기에 붙여넣기

이렇게 잘 만들어줌 

전처리가 필요하지 않은가?

저 데이터를 보고 우선 상승/하락 열 분할 문자 수 기준으로 나눠주고

일자를 보면 없는 일자가 있음 -> 촘촘히 그려져있는 날자를 x축에 두고  종가를 y축에 두면 (중간에 비어있는건 인터폴레이션으로 채워줌) 

 

등등의 아이디어 고민해봐야함

 

이런식으로 powerbi 내에서 파이썬을 불러와서 correlation matrix도 그릴 수 있음

옵션에서 python 스크립팅 설정이 필요하다.

코드는 그냥 한번 올려보는데 걍 파이썬코드랑 똑같음 

# 필요한 라이브러리 가져오기
import matplotlib.pyplot as plt
import seaborn as sns
# 분석할 5개의 숫자형 필드 목록을 지정합니다.
# (필드 이름은 Power BI에서 가져온 'dataset'의 열 이름과 동일해야 합니다)
columns_to_correlate = [
    'Discount',
    'Profit',
    'Quantity',
    'Sales',
    'Shipping Cost'
]
# 지정된 열만 선택하여 상관관계 행렬(Matrix)을 계산합니다.
correlation_matrix = dataset[columns_to_correlate].corr()
# 시각화를 위한 그래프 크기를 설정합니다.
plt.figure(figsize=(10, 8))
# Seaborn 라이브러리를 사용해 히트맵(Heatmap)을 생성합니다.
# annot=True : 각 셀에 상관계수 값을 표시합니다.
# cmap='coolwarm' : 상관관계(양수/음수)를 쉽게 구분할 수 있는 색상 맵입니다.
# fmt='.2f' : 숫자를 소수점 둘째 자리까지 표시합니다.
sns.heatmap(
    correlation_matrix,
    annot=True,
    cmap='coolwarm',
    fmt='.2f',
    linewidths=.5
)

# 그래프 제목을 추가합니다.
plt.title('Feature Correlation Matrix', fontsize=16)

# Power BI에 그래프를 표시합니다.
plt.show()
 
슬라이서 등등의 기능과 같이 써도 좋음