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:  Biểu đồ Cột Chồng trong Excel: Hướng dẫn Chi Tiết và Ví dụ Thực tế

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

VBA trong Excel: Lập Trình Tự Động Hóa Công Việc
Học Excel

VBA trong Excel: Lập Trình Tự Động Hóa Công Việc

Hàm VLOOKUP trong Excel: Hướng dẫn chi tiết từ cơ bản đến nâng cao
Học Excel

Hàm VLOOKUP trong Excel: Hướng dẫn chi tiết từ cơ bản đến nâng cao

Hướng Dẫn Căn Lề Trong Word Chi Tiết Từ A-Z (2007-2019, 365)
Học Excel

Hướng Dẫn Căn Lề Trong Word Chi Tiết Từ A-Z (2007-2019, 365)

Hướng Dẫn Sử Dụng Hàm COUNTIFS trong Excel để Đếm Theo Nhiều Điều Kiện
Học Excel

Hướng Dẫn Sử Dụng Hàm COUNTIFS trong Excel để Đếm Theo Nhiều Điều Kiện

Discussion about this post

Trending.

Tải Hills of Steel MOD APK v8.2.0 (Vô Hạn Tiền, Kim Cương)

Tải Hills of Steel MOD APK v8.2.0 (Vô Hạn Tiền, Kim Cương)

Tăng Tốc Windows 10: Hướng Dẫn Tắt Ứng Dụng Khởi Động Cùng Hệ Thống

Tăng Tốc Windows 10: Hướng Dẫn Tắt Ứng Dụng Khởi Động Cùng Hệ Thống

Khôi Phục Bài Viết Đã Xóa Trên Facebook: Hướng Dẫn Chi Tiết 2024

Khôi Phục Bài Viết Đã Xóa Trên Facebook: Hướng Dẫn Chi Tiết 2024

Xóa Khoảng Trắng Thừa Trong Word Đơn Giản

Xóa Khoảng Trắng Thừa Trong Word Đơn Giản

Bảo hiểm thai sản: Mua sau khi mang bầu có được không? Nên hay không?

Bảo hiểm thai sản: Mua sau khi mang bầu có được không? Nên hay không?

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

➤

➤

➤

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