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 Thêm và Chạy Mã VBA trong Excel

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

Chèn Nhiều Dòng Trống Cùng Lúc Trong Excel Chỉ Với Phím Tắt
Học Excel

Chèn Nhiều Dòng Trống Cùng Lúc Trong Excel Chỉ Với Phím Tắt

Hàm ROUND trong Excel: Hướng dẫn làm tròn số chi tiết
Học Excel

Hàm ROUND trong Excel: Hướng dẫn làm tròn số chi tiết

Xóa Ký Tự Trong Chuỗi Văn Bản Excel: Hướng Dẫn Chi Tiết
Học Excel

Xóa Ký Tự Trong Chuỗi Văn Bản Excel: Hướng Dẫn Chi Tiết

Hướng Dẫn Tạo Biểu Đồ Kết Hợp Trong Excel
Học Excel

Hướng Dẫn Tạo Biểu Đồ Kết Hợp Trong Excel

Discussion about this post

Trending.

Tải Battle Legion MOD APK v4.3.7 (Menu, Vô Hạn Tiền, Bất Tử)

Tải Battle Legion MOD APK v4.3.7 (Menu, Vô Hạn Tiền, Bất Tử)

Hướng dẫn cài đặt Plants vs. Zombies 2 trên PC bằng BlueStacks

Hướng dẫn cài đặt Plants vs. Zombies 2 trên PC bằng BlueStacks

Chuyển Số Âm Thành Số Dương Trong Excel: Hướng Dẫn Chi Tiết

Chuyển Số Âm Thành Số Dương Trong Excel: Hướng Dẫn Chi Tiết

Cách Xóa Dấu Nháy Đơn (‘) Trong Excel

Cách Xóa Dấu Nháy Đơn (‘) Trong Excel

Chia đôi màn hình Excel: So sánh dữ liệu dễ dàng với Split

Chia đôi màn hình Excel: So sánh dữ liệu dễ dàng với Split

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

➤

➤

➤

➤

➤

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