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:  Tạo Danh Sách Phụ Thuộc Động trong Excel bằng VBA

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

Nâng Cao Kỹ Năng Excel: Chìa Khóa Thành Công Trong Thời Đại Số
Học Excel

Nâng Cao Kỹ Năng Excel: Chìa Khóa Thành Công Trong Thời Đại Số

Hẹn Giờ Gửi Email Tự Động với Google Sheets và Apps Script
Học Excel

Hẹn Giờ Gửi Email Tự Động với Google Sheets và Apps Script

Làm Chủ Mảng (Array) trong Google Apps Script: Hướng Dẫn Chi Tiết Cho Người Việt
Học Excel

Làm Chủ Mảng (Array) trong Google Apps Script: Hướng Dẫn Chi Tiết Cho Người Việt

Tổng Hợp Dữ Liệu Từ Nhiều Sheet Excel Vào Một Sheet
Học Excel

Tổng Hợp Dữ Liệu Từ Nhiều Sheet Excel Vào Một Sheet

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ải Game Bida 3D Offline Carom3D Cho Máy Tính

Tải Game Bida 3D Offline Carom3D Cho Máy Tính

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?

Hướng dẫn tải và chơi Dream League Soccer 2023 trên PC

Hướng dẫn tải và chơi Dream League Soccer 2023 trên PC

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