Power BI. Một quá trình đòi hỏi sự kiên nhẫn. (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

SteveNguyen1991

Thành viên hoạt động
Tham gia
22/8/20
Bài viết
106
Được thích
50
Chào các bác.
Đã một năm em biết đến Power BI. Cá nhân em thấy Power BI khác hẳn với Excel và đòi hỏi hiểu về cơ bản cũng như cách hoạt động của Filter. Sau một năm tự tìm hiểu, bản thân thấy việc học Data Modeling là cực kỳ quan trọng. Nhưng trước khi đưa dữ liệu vào Model thì xử lý qua Power Query là cần thiết. Cho nên về ý kiến cá nhân thì thấy như sau (Có thể đúng có thể sai hoặc khác với mọi người).

1) Biết cách xử lý dữ liệu thô (Power Query, SQL....)
2) Hiểu Relationship Bảng DIM, Bảng Fact, liên kết 1-n hạn chế dung n-n nếu không hiểu mối liên kết many - many thay vào đó có thể xử lý bằng DAX.
3) Row context, Filter Context và transition context và hàm Calculate(..., Filter()) để thay đổi bộ lọc.
4) Đừng tập trung vào DAX hãy xây dựng 1 Data Modeling tốt (Rõ ràng, đầy đủ DIM, Fact, relationship) hầu hết các yêu cầu tính toán sẽ dễ và dùng các hàm DAX cơ bản nếu Data Modeling tốt và điều đó giúp cho việc phát triển trong tương lai dễ hơn khí có thêm filter hoặc thay đổi filter.
*** Tài liệu em dùng chủ yếu từ SQLBI.COM và chuẩn bị tinh thần khi đọc mà không hiểu mình đang đọc gì!!
Hiểu biết cá nhân còn hạn chế mong mọi người đóng góp ý kiến!
 
Bạn muốn góp ý như nào nhỉ? Bạn học ở SQLBI.COM học hết thì thành chuyên gia rồi cần gì phải học ở đâu nữa. Cơ bản thì nó vẫn là một ngôn ngữ truy vấn thôi bạn, học sẽ dễ hơn nhiều so với học ngôn ngữ lập trình như VBA, Python, R, C,...Nếu đã học qua cơ bản rồi thì học nâng cao đi, học mảng, các kỹ thuật tối ưu, sử dụng R, Python trong Power Bi, Power Query,BlaBla,..thiếu gì thứ để học
 
Cảm ơn bác đã trả lời.
1) SQLBI là một trang rất nhiều kiến thức, có nhiều khi đọc cũng không hiểu được và đáng là nguồn tham khảo tốt. Em không dám nói là mình có thể hiểu được hết trên SQLBI.
2) Có nhiều vấn đề em thấy có thể dùng DAX hoặc Power Query đều giải quyết được. Nhưng mọi người khuyên nên tập trung vào xử lý trên Power Query và xây dựng Data Model. Vậy cái nào là tốt hơn?
3) Em thấy nếu xử lý dữ liệu nhiều hơn triệu dòng thì phải hiểu cách vận hành của DAX, không thể test một vài kết quả để chắc chắn số còn lại là đúng.
4) Cơ bản là gồm những gì? Vì bạn thân em chỉ tự học nên cứ đọc, áp dụng, sai, sửa cứ như 1 vòng tuần hoàn lặp đi lặp lại.
 
1, Hai cái ông ở SQLBI gần như là người khai sinh và phát triển Dax còn gì bạn, bạn học tốt trên đó thì đương nhiên cần gì học chỗ khác
2, Mỗi cái cần làm tốt nhất nhiệm vụ của nó.Power Query nhiệm vụ của nó là ETL dữ liệu từ hỗn loạn về chuẩn còn gì, cho nên dữ liệu không chuẩn thì phải dùng Power Query để về dữ liệu chuẩn, sau khi có dữ liệu chuẩn thì mới tạo Data model và phát huy điểm mạnh của Dax, Power Query nó cũng làm được một số công việc của Dax nhưng như đã nói nó không được khuyến khích.
3. Vận hành Dax thì có chi đâu, bản đã hiểu Context rồi thì cứ thế dùng thôi, khi dữ liệu lớn thì cần phải tối ưu hóa:
Tôi ví dụ một vài cái cho bạn thấy tối ưu là làm gì:
- Ví dụ đo lường tốc độ bạn cần dùng Performance Analyzer, dùng Dax studio để đo FE và SE, Nếu FE cao thì cần viết lại hàm, còn nếu SE cao thì cần tối ưu lại mô hình dữ liệu
- Khi viết cần tránh bảng trung gian lớn=> thay thế bằng filter trên cột hoặc dùng biến Var.
- Ưu tiên tính toán trực tiếp trên cột đã lọc thay vì dùng lặp trên bảng lớn.
- Mô hình dữ liệu ưu liên hình sao thay vì bông tuyết
- Tắt Auto date thay bằng Date table tự tạo để tối ưu Time intelligent
- Ẩn xóa cột không dùng, xóa bảng không tham gia báo cáo
- Key sử dụng dạng số nguyên thay cho chuỗi dài
- Dùng Var để lưu kết quả thay vì tính đi tính lại
- Ưu tiên dùng selectedvalue thay vì dùng Calculate phức tạp
- tránh dùng Earlier dạng row by row trong Calculated column
- Tối ưu Keepfilters thay cho Calculate
- Chỉ dùng All/Removefilters khi thật cần thiết
- Ưu tiên summarizecolumns thay cho summarize/groupby
- Tránh dùng Distint trên bảng lớn
- Ưu tiên treatas cho bảng không liên hệ nhưng cần giảm cardianity trên bảng đầu vào
- Userelationship và Crossfilter chỉ dùng khi cần thiết
......Bla Bla
4. Những cái bạn đã học xong rồi đó là cơ bản, đơn giản thế thôi
 
Cảm ơn bác đã chia sẽ. Thời gian này em cần thực hành nhiều hơn để hiểu những điều bác nói!
 

Bài viết mới nhất

Back
Top Bottom