Dax difficult

Tại sao DAX trong Power BI lại khó nhằn đến vậy?

Ngày đăng: 30/11/2021

Chào mừng bạn tới với DAX trong Power BI

Bạn mở Power BI Desktop lên, kết nối tới một tệp excel, và kéo bảng minh họa số liệu đầu tiên lên. Mắt bạn sáng lên vì vui thích khi được tạo ra một sản phẩm hữu ích từ công cụ tuyệt vời này. Bây giờ bạn bắt đầu thực hiện tính toán cho biểu đồ tiếp theo. Vài công thức đầu tiên bạn nhập vào thì không có gì khác so với excel và bạn vô cùng háo hức. Mọi chuyện trước mắt thật là tốt đẹp.

Sau đó bạn liền nhận ra. Chờ đã! Các con số sai rồi. Có lẽ dùng một phép tính khác sẽ được chăng? Thử google xem nào. Bạn tìm thấy một người cũng gặp vấn đề tương tự và ấn vào đường link để xem cách giải quyết. Bỗng dưng bạn rơi vào một hố sâu giống như Alice ở Xứ sở Thần tiên. Giải pháp mà bạn vừa tìm được khó hiểu quá. Niềm vui thích bỗng biến mất, sự phấn khích cũng đi tong. Bạn thấy đau đầu và viễn cảnh tạo ra một biểu đồ giàu thông tin mà bạn tưởng tượng bỗng trở nên thật u tối. Thế là bạn đã thực sự đến với thế giới của DAX trong Power BI. 

(Tham khảo DAX Cheat Sheet Tại đây)

(Tham khảo Power BI Cheat Sheet Tại đây)

DAX trong Power BI là gì?

Data Analysis Expressions (DAX), được Microsoft phát hành vào năm 2009, đây là một bước tiến hóa từ ngôn ngữ Multidimensional Expression (MDX) – ngôn ngữ truy vấn để xử lý dữ liệu đa chiều. Từ đó, nó đã trở nên vô cùng phổ biến trong các nền tảng dữ liệu của Microsoft, bao gồm PowerPivot, Power BI, và SQL Server Analysis Services. Trong khi một số công thức của DAX hoạt động giống y như các công thức của Excel mà chúng ta vốn quen thuộc, một số khác lại không. Mục đích của DAX là để làm việc với dữ liệu quan hệ và thực hiện tổng hợp một cách cơ động. Đáng lẽ ra nó phải dễ học và dễ sử dụng. Nhưng thực tế lại không như vậy.

dax-trong-power-bi

So sánh DAX trong Power BI và SQL 

Nếu bạn đã quen thuộc với SQL – Ngôn ngữ truy vấn có cấu trúc, bạn sẽ biết rằng có một số lệnh truy vấn làm khó bạn. Nhưng nhìn chung, bạn hiểu được mô hình dữ liệu và bản thân ngôn ngữ đó là như thế nào. Vậy nên câu chuyện chỉ là giải quyết một vấn đề rất hữu hình. Tôi làm thế nào để khiến dữ liệu cơ bản hiện lên theo một cách cụ thể với tập hợp các lệnh đã biết? Dù đôi khi có phức tạp, nhưng vấn đề này khá minh bạch.

sql-va-dax

Hình dung của chúng ta về SQL và các cơ sở dữ liệu quan hệ là rất cụ thể. Chúng ta gần như không phải đoán mò về dữ liệu hay về quá trình xử lý dữ liệu khi sử dụng SQL. Nhưng DAX thì không như vậy.

DAX phủ lên những khái niệm này một tấm màn mờ ảo. Điều này khiến cho DAX trở nên rất trừu tượng về khía cạnh cấu trúc dữ liệu cơ bản, query context, và hoạt động nào đang thực sự diễn ra phía sau. Nếu SQL có 90% là cụ thể và 10% trừu tượng, thì DAX chỉ có 5% cụ thể và 95% trừu tượng.

Bản chất mơ hồ của DAX trong Power BI khiến việc học nó trở nên vô cùng thách thức

Nếu bạn là một lập trình viên, cảm giác này cũng tương tự với những trải nghiệm sau mà bạn có lẽ đã từng đối mặt:

  • Bạn có nhớ lần đầu tiên chuyển đổi từ functional programming (lập trình hàm, hay lập trình chức năng) sang object-oriented programming (lập trình hướng đối tượng không? Thật là hoa cả mắt. Bạn chắc mẩm sự nghiệp lập trình viên thế là đi tong.

dax-trong-power-bi

  • Hoặc có lẽ, khi bạn lần đầu làm việc với Angular và phải liên kết dữ liệu với các phần tử frontend? Cảm thấy như thể mọi thứ trong đời đều sụp đổ rồi.
  • Hoặc là, lần đầu tiên bạn đối diện với Hadoop thì sao? Rõ ràng nó đã được tạo ra bởi một người điên khùng nào đó.

Tuy nhiên, DAX trong Power BI còn khó khăn hơn tất cả những ví dụ trên. Chúng ta gần như không thể nào kéo tấm rèm che lên để nhìn một cách cụ thể những cơ chế phía sau. Tựa như khi phải giải một trò chơi ghép hình mà không có tấm hình hoàn chỉnh nào để tham khảo. Nhưng có tin tốt đây: nó cũng giống như trong Dorothy và Phù thủy. Một khi bạn đã lén nhìn được một chút phía sau tấm màn, bạn sẽ nhận ra chỉ có một ông già nhỏ thó ở đó. Vô hại, nhưng đầy sức mạnh theo cách của riêng mình.

DAX trong Power BI thích hợp cho người học theo thiên hướng trừu tượng

Một số người sinh ra đã có khả năng học những thứ cụ thể. Họ sẽ nhìn ra C# hay Python từ việc đọc các mẫu code. Một số khác lại là những người học trừu tượng. Các nhà toán học, thiên văn học, hay những người nghiên cứu về những thứ ở cấp độ tế bào hoặc hạ nguyên tử có xu hướng giỏi khám phá những khái niệm trừu tượng hơn.

Những người học theo thiên hướng cụ thể sẽ phải vất vả hơn để hiểu được DAX. Và những người theo thiên hướng trừu tượng sẽ có thể thành công với DAX một cách tự nhiên hơn. Với một số ít người sở hữu cả 2 khả năng này, DAX sẽ không thành vấn đề với họ. Tuy nhiên, những người còn lại trong số chúng ta không nên từ bỏ hi vọng. Gần như bất cứ ai đều có thể học được DAX nếu có đủ thời gian và nỗ lực.

Bí quyết của việc thành thạo món DAX khó nhằn là hãy học lý thuyết trước

Công thức rất đơn giản, nhưng quá trình thì lại chậm rãi. Bắt đầu bằng việc học cách DAX nhìn nhận các mô hình dữ liệu cơ bản. Sau đó hiểu được cách sử dụng bối cảnh (context) trong DAX. Và cuối cùng, tìm hiểu về các hàm của DAX trong Power BI để biết chúng có tác dụng như thế nào. Ban đầu, bạn sẽ cảm thấy não bị quá tải và đầu đau nhức. Có thể bạn sẽ muốn bỏ cuộc. Nhưng với thời gian và rèn luyện, nó sẽ trở thành bản năng thứ hai của bạn.

Nguồn tham khảo: Why is DAX Difficult to Learn?

Tham gia group ôn thi DA-100 tại: https://www.facebook.com/groups/da100vn
Chuỗi Video Hướng dẫn thực hành Lab và sử dụng các tài nguyên của Microsoft: https://www.youtube.com/c/Datapotvn/videos
Update tài nguyên từ Microsoft, DA-100 exam questions và exam topics tại Fanpage của Datapot: https://www.facebook.com/DatapotAnalytics/

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *