How to start with Fetch XML Reporting on Dynamics CRM 2015 Online

Discussion in 'Dynamics CRM' started by Hân, May 20, 2015.

  1. Hân

    Hân Member

    Một trong những nhu cầu quan trọng nhất mà một doanh nghiệp luôn luôn cần là tính năng tạo ra các báo cáo. Microsoft Dynamics CRM Online cung cấp một chức năng tích hợp để làm điều này: Report Wizard. Bạn có thể sử dụng tính năng này để có được những thông tin từ khỏi hệ thống, nhưng bất cứ ai đã từng làm việc với Report Wizard đều biết, là tính năng bị hạn chế bởi Microsoft Dynamics CRM Online.

    Bài viết này sẽ giới thiuệu đến bạn một cách để bạn mở rộng các báo cáo hơn thì bạn có thể bắt đầu sử dụng kết hợp SQL Reporting ServicesFetchXML để thu thập các dữ liệu rộng hơn của Dynamics CRM Online cung cấp.

    I. Cài đặt các phần mềm hỗ trợ

    Các thành phần sau đây được yêu cầu trước khi bạn bắt đầu xây dựng Báo cáo Fetch XML:
    Cài đặt các thành phần này sẽ cung cấp cho bạn khả năng để tạo ra các báo cáo SSRS bên trong Visual Studio 2012 bằng cách sử dụng nguồn dữ liệu Microsoft Dynamics CRM Fetch.

    Để tạo ra các báo cáo tùy biến rất cao, tính năng Report Wizard trong Microsoft Dynamics CRM là không đủ. Bạn có thể sử dụng Business Intelligence Studio để thay thế. Để kết nối với Microsoft Dynamics CRM Online, chúng ta cần phải cài đặt Microsoft Dynamics CRM 2015 Report Authoring Extension, mà sẽ cung cấp một nguồn dữ liệu mới Connection Type như Microsoft Dynamics CRM Fetch.

    II. Thiết lập Data Source để truy cập dữ liệu trong SQL Reporting Services

    - Bước 1 : Tạo Report

    • Mở chương trình SQL Server Data Tools for Visual Studio 2012 mà bạn vừa cài đặt
    • Thanh Menu click chọn : File > New Project > chọn New Report Server Project > click nút OK
    CRM Online 2015 - How to start FetchXML Report - 01.png
    • Hệ thống tạo dự án theo loại mà bạn chọn > tại khung bên phải Solution Explorer, click chuột phải vào folder Report > chọn Add > New Item > đặt tên cho Report bạn muốn tạo
    • Hiển thị giao diện Report bạn vừa tạo.
    CRM Online 2015 - How to start FetchXML Report - 02.png

    - Bước 2 : Tạo Data Source kết nối đến CRM của bạn
    • Sau khi bạn đã tạo Report > tại khung bên trái Report Data > Click chuột phải vào folder Data Source > Click chọn Add Data Source để tạo mới kết nối đến CRM của bạn
    • HIển thị màn hình Data Source Properties với các thông tin bạn cần nhập như sau :
    + General :
    • Name : Tên DataSource mà muốn tạo
    • Type : Loại kết nối > bạn chọn Microsoft Dynamics CRM Fetch
    • Connection String : bạn nhập vào link với cấu trúc sau
    Organization URL;Name Organization
    Ví dụ : https://zzs1.crm4.dynamics.com;org54bbc278

    CRM Online 2015 - How to start FetchXML Report - 03.png

    + Credentials :
    • Nhấn chọn mục Use this user name and password
    • Nhập thông tin User namePassword (Tài khoản bạn đăng ký CRM Online)
    • Click OK để hoàn tất việc tạo kết nối.
    CRM Online 2015 - How to start FetchXML Report - 04.png

    III. Tạo nội dung trong báo cáo

    - Bước 1 : Tạo Dataset

    • Khung bên trái Report Data > Click chuột phải vào folder Datasets > Click chọn Add Dataset
    • Hiển thị cửa sổ Dataset Properties
    + Query:



      • Name : Tên Dataset muốn tạo



      • Type : gồm có 2 loại
    (1) Use a shared dataset (Sử dụng dataset đã được chia sẽ)

    (2) Use a dataset embedded in my report (Sử dụng dataset được viết trực tiếp trong báo cáo)​
    • Click chọn mục (2) > hiển thị và chọn DataSource mà bạn muốn kết nối đến để lấy dữ liệu.
    • Query Type : có 3 loại
    (1) Text : cho phép bạn nhập chuỗi câu truy vấn dạng FetchXML mà bạn muốn lấy dữ liệu.

    (2) Table :
    cho phép bạn chọn dữ liệu trực tiếp từ bảng dữ liệu có trong Cơ sở dữ liệu của bạn.

    (3) Store Proceduce :
    hiển thị danh sách các stored procedure đã được tạo trên CSDL của bạn​
    • Click button Refresh Fields > Hệ thống sẽ tự động tạo các trường dữ liệu giống với câu truy vấn vào trong tab Fields
    CRM Online 2015 - How to start FetchXML Report - 05.png

    ---------------------------------------------------------------------------------------------------------------------------------------------
    Note :

    + Bạn có thể kiểm tra lại câu truy vấn mà bạn vừa nhập vào có kết quả hay đúng cú pháp hay không tại ngay trên chính Datasets mà bạn đang tạo chỉ với một thao tác rất đơn giản mà Report Service cung cấp > Bằng cách click vào nút Query Designer > Hiển thị cửa sổ Query Designer có chứa câu truy vấn bạn vừa nhập > Click vào Icon dấu than màu đỏ để chạy (!) > phần dưới sẽ hiện thị kết quả câu truy vấn trả về.

    + Với loại Query Type - Table chỉ hỗ trợ cho loại Data Source OLE DB hay ODBC. Ví dụ : dbo.person.contact > Sẽ trả về bảng contact với tất cả các trường của bảng contact đó.

    + Nút Import cho phép bạn nhập câu truy vấn từ một file có sẵn cùng loại với loại truy vấn của bạn.

    ---------------------------------------------------------------------------------------------------------------------------------------------
    + Fields : Có 2 loại



      • Calculated Field : trường dữ liệu cho phép bạn thực hiện các phép tính toán đơn giản trên các trường dữ liệu lấy được trong câu truy vấn.



      • Query Field : trường dữ liệu được tạo tự động từ câu truy vấn khi bạn click vào nút Refresh Field.
    CRM Online 2015 - How to start FetchXML Report - 06.png

    + Options:



      • Tùy chọn thiết lập nguồn lấy dữ liệu theo server. Nếu không có sẽ lấy giá trị mặc định theo máy tính của người dùng.
    + Filters:



      • Cho phép bạn tạo các bộ lọc trên kết quả dữ liệu từ các trường trong câu truy vấn của bạn.
    + Parameters :



      • Danh sách các biến bạn sử dụng trong câu truy vấn.



      • Biến được lấy giá trị từ biến Parameters bạn đã tạo ngoài báo cáo.
    CRM Online 2015 - How to start FetchXML Report - 07.png
    • Sau khi hoàn tất các thiết lập cho Datasets bạn click nút OK > Hệ thống sẽ tạo datasets theo thiết lập của bạn.
    - Bước 2 : Hiện thị các thông tin trong Dataset lên báo cáo

    Công cụ trong FetchXML Report hỗ trợ bạn hiển thị thông tin trên báo cáo qua các thành phần sau :
    • Text Box : Hiện thị chuỗi thông tin thuộc 1 hay nhiều trường dữ liệu trong dataset bằng cách tạo ra một Expression.
    • Table : Bạn có thể tự tạo một table chứa các trường dữ liệu mà bạn muốn hoặc bạn chọn Table Wizard để tạo table với dữ liệu được lấy từ một dataset bạn chọn với các thiết lập có sẵn (màu sắc, tính tổng, group theo trường, ...).
    • Matrix : Dạng table ma trận cho phép bạn group và lọc dữ liệu nhiều hơn so với table. FetchXML report cũng hỗ trợ bạn tính năng Matrix Wizard để bạn có thể tạo nhanh các Matrix theo thiết kế giao diện có sẵn.
    • List : Hiển thị danh sách theo dataset mà bạn chọn. Ngoài ra, list cũng cho phép bạn tạo các group dữ liệu theo các trường bạn chọn.
    • Image : hiển thị hình ảnh trong report.
    • Chart và Map : Hiển thị thông tin lấy từ dataset bạn chọn theo dạng biểu đồ hoặc Map với nhiều loai biểu đồ khác nhau.
    - Bước 3 : Hoàn tất báo cáo và Upload báo cáo lên Microsoft Dynamics CRM Online
    • Sau khi hoàn tất cả các dữ liệu trong báo cáo. Bạn lưu báo cáo và project lại.
    • Thanh Menu > click nút BUILD > chọn mục Build NameProject
    • Hệ thống sẽ tự động build và tạo các báo cáo thành file dạng .rdl
    • Bạn login vào CRM Online của bạn > Menu > Report > click nút New để tạo mới một báo cáo trên CRM > Up file báo cáo có đuôi .rdl > Click nút Create để tạo báo cáo.
    • Sau khi đã tạo thành công báo cáo mới trên Microsoft Dynamics CRM Online, bạn click nút Run Report để chạy báo cáo và xem kết quả.
    Các bước hướng dẫn trong bài viết đã phần nào giới thiệu sơ lược cho các bạn về FetchXML Report trong CRM Online. Mong rằng bài viết sẽ giúp bạn hiểu rộng hơn về phần báo cáo và những tính năng mở rộng của nó.

    Để hiểu rõ hơn bạn có thể tham khảo thêm các bài viết sau :
    • Condition in FetchXML Report of Microsoft Dynamics CRM Online
    • FetchXML Report - Example Chart and Table in Report
     
    Last edited: May 21, 2015
  2. Loading...


  3. Hân

    Hân Member

    Giới hạn của FetchXML Report in Microsoft Dynamics CRM 2015
    • Không hỗ trợ hàm UNION
    >> Bạn có thể tách thành 2 phần <link-entity> với 2 link-entity phải khác nhau. Nếu giống nhau thì bạn chỉ có thể tách thành 2 câu truy vấn.​
    • Không hỗ trợ hàm RIGHT OUTER JOIN
    • Không thể so sánh 2 fields trực tiếp trong câu truy vấn.
    Ví dụ :
    SELECT * FROM account
    WHERE telephone1 <> telephone2​
    • Khi bạn <link-entity> thì bảng phía bên phải của sự so sánh phải có giá trị không đổi
    • Chỉ cho phép tối đa 10 <link-entity> trong một câu truy vấn FetchXML
    • Không thể dùng điều kiện OR trên khắp các entity
    Ví dụ :
    SELECT a.* FRM entity1 as a
    INNER JOIN entity2 as b ON a.entity1id = b.entity1id
    WHERE a.name = '123' OR b.name = '123'
    >> Nếu bạn phải làm điều kiện như trên, bạn sẽ phải tách câu truy vấn thành hai > lấy kết quả của 2 câu truy vấn tách ra và sau đó hợp 2 kết quả lại.​
    • Bạn không thể sử dụng hết các chức năng của SQL vào trong câu truy vấn FetchXML vì bộ hỗ trợ của Microsoft dynamics CRM không xây dựng các chức năng đó.
    • Khi bạn truy vấn một câu FetchXML, số lượng tối đa kết quả trả về từ CRM là 5000 mỗi lần.
    >> Nếu như bạn muốn lấy hết các kết quả từ CRM thì bạn có thể sử dụng chức năng "paging cookie"​
    • Không có cách nào để bạn sử dụng SubQuery
    • Chỉ cho phép bạn tạo 2097 điều kiện cho bộ lọc
     

Share This Page