RaaS và WQL: mở dữ liệu Workday ra ngoài
Bài dành cho dân tích hợp: hai con đường chính thống đưa dữ liệu Workday ra hệ thống ngoài — RaaS (report thành web service) và WQL (truy vấn kiểu SQL). Cả hai đều chạy dưới security của người gọi.
RaaS — report là API
Phần tiêu đề “RaaS — report là API”Expose advanced/search report: related actions → Web Services > View URLs
(nhập required prompts trước). URL pattern:
https://<host>/<tenant>/<owner-username>/<Report_Name>?<prompt>=<value>&format=json6 format: CSV (thêm &bom=true cho Excel đọc UTF-8 đúng), JSON, Simple XML,
Workday XML (kèm XSD + WSDL cho SOAP), GData, RSS. Điểm phải thuộc:
- Namespace
urn:com.workday.report/Tên_Reportkhông đổi khi đổi tên report/owner — đó là lá chắn cho integration; tự sửa namespace thì Workday không kiểm tra trùng và mọi request cũ gãy. - Copy standard report ra custom trước khi enable web service — tránh Workday update bản chuẩn làm gãy tích hợp.
- CSV: mất column grouping và thứ tự cột có thể không khớp report definition — đừng parse theo vị trí cột.
WQL — SQL cho Workday
Phần tiêu đề “WQL — SQL cho Workday”Truy vấn thẳng data source + field, không cần report definition. Cú pháp:
SELECT worker, hireDate, dependents{age} AS DependentsAgeFROM allWorkers (dataSourceFilter=activeFilter, effectiveAsOfDate="2026-01-01")WHERE ON dependent age > 18WHERE hireDate > "2020-01-01" AND location IN (wid1, wid2)GROUP BY location HAVING count() > 100ORDER BY hireDate DESC LIMIT 1000Các luật riêng phải nhớ: không có SELECT *; related business object
truy bằng {} trong SELECT và WHERE ON phải đứng TRƯỚC WHERE;
ORDER BY sort alphabet chứ không logic; date không có Z là PST;
GROUP BY không đi với RBO/currency/multi-instance. REST API: GET /data
(query <2.048 ký tự) hoặc POST /data (≤16.000); khám phá metadata bằng
GET /dataSources → /fields → /dataSourceFilters. Có report Convert Report to WQL dịch report có sẵn thành câu WQL — cách học nhanh nhất.
Giới hạn: kết quả ≤1 triệu dòng (quá mà không LIMIT là fail); phân
trang ≤10.000 dòng/trang (limit/offset, cache 30 phút); timeout 30 phút
(tenanted) / 5 phút (API Gateway); test trong tenant bằng View WQL Query Result (cắt 500 dòng). Business view data source không query được bằng
WQL. Theo dõi mức dùng: WQL/RaaS Usage Metrics (90 ngày, chỉ Production).
Chọn đường nào?
Phần tiêu đề “Chọn đường nào?”flowchart TB
Q{"Cần gì?"} -->|"GROUP BY/aggregate,<br/>phân trang, đổi query không<br/>cần vào Workday, đa môi trường"| W["WQL<br/>(JSON, REST)"]
Q -->|"Định nghĩa extract LƯU trong<br/>Workday + audit, SOAP/WSDL,<br/>nhiều format, timeout dài 6h"| R["RaaS<br/>(6 format)"]
Q -->|"Field từ Global BO,<br/>percentile"| R
W & R --> S(["Cả hai: security<br/>theo người gọi, ≤1 triệu dòng"])
Nguyên tắc thực dụng: pipeline dữ liệu định kỳ có kiểm soát (đối soát, audit ai đổi extract) → RaaS; ứng dụng/BI cần truy vấn linh hoạt, phân trang, nhiều môi trường → WQL. Đây cũng chính là hai cánh cửa đưa dữ liệu Workday về nền tảng dữ liệu doanh nghiệp (Snowflake, Cloudera…) mà BSD tư vấn — cặp với chiều ngược lại là Prism nhận dữ liệu ngoài vào.
Chắt lọc từ Workday Reporting and Analytics Administrator Guide (mục Reports as a Service, Workday Query Language) — doc.workday.com.