Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO
No Result
View All Result
Thủ Thuật
No Result
View All Result
Home Chia Sẻ Kiến Thức Học Excel

Trích Xuất Dữ Liệu từ Báo Cáo Power BI Đã Xuất Bản Trên Web

Trích Xuất Dữ Liệu từ Báo Cáo Power BI Đã Xuất Bản Trên Web
6k
SHARES
19.5k
VIEWS
Share on Facebook

Nội Dung Bài Viết

Toggle
  • Phân tích và Giải Thích Code Python
  • Chi Tiết Các Bước Thực Hiện
  • Gửi Yêu Cầu và Trích Xuất Dữ Liệu
  • Kết Luận

Bài viết này hướng dẫn cách trích xuất dữ liệu từ báo cáo Power BI đã được xuất bản lên web mà không cần truy cập trực tiếp vào nguồn dữ liệu. Đây là kiến thức nâng cao, yêu cầu bạn có nền tảng về lập trình Python và tương tác với Excel.

Để hiểu rõ hơn về code và cách triển khai, bạn có thể tham khảo khóa học “Lập trình tương tác Python Excel chìa khóa tối ưu công việc”.

Video phân tích và giải thích code được trình bày chi tiết dưới đây:

Video hướng dẫn trích xuất dữ liệu Power BIVideo hướng dẫn trích xuất dữ liệu Power BI

Phân tích và Giải Thích Code Python

Dưới đây là đoạn code Python được sử dụng trong video:

import re
import json
import base64
import requests
from bs4 import BeautifulSoup
from urllib.parse import unquote

url="https://app.powerbi.com/view?r=eyJrIjoiYjQzZDE1ZDgtNTI0NS00N2U5LThlM2QtMTljZTcwMTgyY2E4IiwidCI6IjQ0YmQ2NjgzLWI0MTQtNGFjNC1iY2VjLTY4NDFiZDNmMzlkMyIsImMiOjEwfQ%3D%3D"
token = url.split('=')[-1]
unquoted_token = unquote(token)

token_string = base64.b64decode(unquoted_token).decode('utf-8')
d = json.loads(token_string)
tenantId = d['t']
resourceKey = d['k']
html_data = requests.get(url).text
resolvedClusterUri = re.search(r"var resolvedClusterUri = '(.*?)'", html_data)[1].replace('-redirect', '-api')
requestId = re.search(r"var requestId = '(.*?)'", html_data)[1]
activityId = re.search(r"var telemetrySessionId =  '(.*?)'", html_data)[1]

url = resolvedClusterUri + "/public/reports/" + resourceKey + "/modelsAndExploration?preferReadOnlySession=true"
query_url = resolvedClusterUri + "/public/reports/querydata?synchronous=true"
headers={'ActivityId': activityId, 'RequestId': requestId, 'X-PowerBI-ResourceKey': resourceKey}
data = requests.get(url, headers=headers).json()

for s in data['exploration']['sections']:
    if 'query' in s['visualContainers'][0]:

        payload = {
          "version": "1.0.0",
          "queries": [
            {
              "Query": json.loads(s['visualContainers'][0]['query']),
              "CacheKey": '',
              "QueryId": "",
              "ApplicationContext": {
                "DatasetId": data['models'][0]['dbName'],
                "Sources": [
                  {
                    "ReportId": data['exploration']['report']['objectId']
                  }
                ]
              }
            }
          ],
          "cancelQueries": [],
          "modelId": data['models'][0]['id']
        }

        section_data = requests.post(query_url, json=payload, headers=headers).json()

        print(section_data['results'][0]['result']['data']['dsr']['DS'][0]['ValueDicts']['D0'])
        print('-' * 80)
        print(section_data['results'][0]['result']['data']['dsr']['DS'][0]['PH'][0]['DM0'])

Chi Tiết Các Bước Thực Hiện

Đầu tiên, code lấy URL của báo cáo Power BI và trích xuất token từ URL. Sau đó, token được giải mã base64 để lấy tenantId và resourceKey.

Tiếp theo, code sử dụng requests để lấy nội dung HTML của trang báo cáo và trích xuất resolvedClusterUri, requestId, và activityId bằng biểu thức chính quy.

Xem thêm:  Hướng Dẫn Tra Cứu Và Xử Lý Ký Tự Trong Excel Với Hàm CHAR và CODE

Gửi Yêu Cầu và Trích Xuất Dữ Liệu

Với thông tin đã thu thập được, code xây dựng URL API để lấy thông tin về mô hình và dữ liệu của báo cáo. headers được thiết lập để xác thực yêu cầu.

Cuối cùng, code lặp qua các section trong dữ liệu exploration và gửi yêu cầu POST đến API querydata để lấy dữ liệu thực tế từ mỗi section. Dữ liệu được in ra màn hình.

Kết Luận

Việc trích xuất dữ liệu từ báo cáo Power BI đã xuất bản trên web có thể thực hiện được thông qua việc phân tích URL và sử dụng API. Đoạn code Python trên cung cấp một phương pháp hiệu quả để thực hiện việc này. Bạn có thể áp dụng và tùy chỉnh code này cho các báo cáo Power BI khác. Hãy tìm hiểu thêm về các thư viện Python như requests, json, và re để nâng cao kỹ năng lập trình của bạn.

Đánh Giá Bài Viết
Tuyết Nhi

Tuyết Nhi

Tôi là Tuyết Nhi - Nữ phóng viên trẻ đến từ Hà Nội. Với niềm đam mê công nghệ, khoa học kỹ thuật, tôi yêu thích và muốn chia sẻ đến mọi người những trải nghiệm, kinh nghiệm về các lĩnh vực công nghệ, kỹ thuật... Rất mong được quý độc giả đón nhận ❤️.

Related Posts

How to Generate Unique Random Numbers in Excel: A Comprehensive Guide
Học Excel

How to Generate Unique Random Numbers in Excel: A Comprehensive Guide

Master the Excel ERROR.TYPE Function to Categorize and Fix Formula Errors
Học Excel

Master the Excel ERROR.TYPE Function to Categorize and Fix Formula Errors

How to Print A5 Pages on A4 Paper: A Complete Guide
Học Excel

How to Print A5 Pages on A4 Paper: A Complete Guide

How to Create a Professional Plan vs. Actual Chart in Excel
Học Excel

How to Create a Professional Plan vs. Actual Chart in Excel

Discussion about this post

Trending.

Trích Xuất Dữ Liệu từ Báo Cáo Power BI Đã Xuất Bản Trên Web

Trích Xuất Dữ Liệu từ Báo Cáo Power BI Đã Xuất Bản Trên Web

Hướng Dẫn Cách Livestream Trên Facebook Bằng Điện Thoại Và Máy Tính Đơn Giản, Sắc Nét Từ A-Z

Hướng Dẫn Cách Livestream Trên Facebook Bằng Điện Thoại Và Máy Tính Đơn Giản, Sắc Nét Từ A-Z

World War 2: Strategy Games – Game Chiến Thuật Thế Chiến II Hấp Dẫn Trên Mobile

World War 2: Strategy Games – Game Chiến Thuật Thế Chiến II Hấp Dẫn Trên Mobile

Download Your Uninstaller Pro 7.5 Full Key 2025 – Giải Pháp Gỡ Cài Đặt Phần Mềm Tận Gốc

Download Your Uninstaller Pro 7.5 Full Key 2025 – Giải Pháp Gỡ Cài Đặt Phần Mềm Tận Gốc

Hướng Dẫn Tích Hợp Akismet Vào Contact Form 7: Giải Pháp Chống Spam “Tàng Hình” Hiệu Quả Nhất

Hướng Dẫn Tích Hợp Akismet Vào Contact Form 7: Giải Pháp Chống Spam “Tàng Hình” Hiệu Quả Nhất

Giới Thiệu

Thủ Thuật

➤ Website đang trong quá trình thử nghiệm AI biên tập, mọi nội dung trên website chúng tôi không chịu trách nhiệm. Bạn hãy cân nhắc thêm khi tham khảo bài viết, xin cảm ơn!

Chuyên Mục

➤ TOP Thủ Thuật

➤ Chia Sẻ Kiến Thức

➤ Kênh Công Nghệ

➤ SEO

➤ Games

Liên Kết

➤ Ketquaxskt.com

➤ TOP Restaurants

➤ Here Restaurant

➤

➤

Liên Hệ

➤ TP. Hải Phòng, Việt Nam

➤ 0931. 910. JQK

➤ Email: [email protected]

Website này cũng cần quảng cáo, không có tiền thì viết bài làm sao  ” Đen Vâu – MTP ”

DMCA.com Protection Status

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam

No Result
View All Result
  • TOP Thủ Thuật
    • Thủ Thuật Internet
    • Thủ Thuật Máy Tính
    • Thủ Thuật Tiện Ích
    • Thủ Thuật Phần Mềm
  • Chia Sẻ Kiến Thức
    • Học Excel
    • Học Word
    • Học Power Point
  • Games
  • Kênh Công Nghệ
  • Facebook
  • WordPress
  • SEO

© 2025 Thủ Thuật - Website chia sẻ kiến thức công nghệ hàng đầu Việt Nam