# Dải Dữ Liệu

{% hint style="info" %}
Hãy chắc chắn là bạn có dữ liệu đúng trước khi chuẩn bị phần trình bày một báo cáo.
{% endhint %}

Nếu bạn đang làm báo cáo Kết Quả Kinh Doanh và vì một lý do nào đó, số liệu kết quả không như bạn mong muốn. Ví dụ như giá vốn hàng bán luôn bằng không.

Có thể một trong những thẻ bạn sử dụng chưa đúng, hoặc cũng có thể là sổ cái đã bị hạch toán thiếu mất các bút toán giá vốn. Do đó, bạn muốn in dữ liệu bên dưới báo cáo ra để tìm lỗi.

Bạn sẽ làm quen với một khái niệm mới, gọi là dải dữ liệu, để làm điều này. Bạn sẽ sử dụng "_named range_" trong Excel để tạo các dải dữ liệu.

## Dải Dữ Liệu

Dải dữ liệu là một khái niệm quan trọng giúp bạn có thể sử dụng tất cả các tính năng mạnh mẽ của nền tảng quản trị KNOWINS

Dải dữ liệu là một dải các ô được lặp lại cho mỗi dòng dữ liệu của bộ nhu liệu. Ví dụ, nếu bạn xác định một dải dữ liệu trên các ô A2:C2 và liên kết nó với bộ nhu liệu khách hàng. Khi đó các ô `A2:C2` sẽ chứa thông tin của khách hàng đầu tiên, A3:C3 chứa thông tin của khách hàng thứ hai, và cứ như vậy. Tất cả các ô trước đó trên A3:C3 sẽ được di chuyển xuống phía dưới sau khi đã xử lý tất cả các bản ghi của tập dữ liệu. Ví dụ, nếu tập dữ liệu khách hàng (Customer) có sáu bản ghi, và bạn có một mẫu như sau:&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/UmuU9derSRVBPK6jbdDuGstP-rXD4xWm72XCdcTRNhSzU03uPPFTpFSzNWYPKLoozjNbsxagIs446RyqJNV86RrpzZU3zOExO__f4MzkNHHN6gRIJ064H8mcYgu2dQz8h7tJcptKDlW4T_izSveWFw" alt="" width="375"><figcaption></figcaption></figure>

Sau khi chạy báo cáo, bạn sẽ nhận được kết quả như sau, để ý rằng dòng chữ  - <mark style="color:yellow;">This is some text below the band</mark> -  trong ô A3 đã được di chuyển xuống phía bên dưới kết quả sau khi chạy dải dữ liệu.

<figure><img src="https://lh7-us.googleusercontent.com/0dT4BwVpk3DCwXEejPBPl0aANrrkDGtZmNow2TsKPcWC1oWx0kms1VzqjqYwmxUw66YY_WyokX9dPy6WqTg5yX2WBcMQ_t45j5kZlTe93tKsN_xbs-WKCgPI5UMyaYFSMq8j8NfH8KVMMn91_wVa6g" alt="" width="375"><figcaption></figcaption></figure>

{% hint style="info" %}
Các Loại Dải: Bạn có thể định nghĩa bốn loại dải dữ liệu khác nhau như sau:

* _`__`_  Dải dữ liệu này di chuyển xuống phía dưới và chèn  nguyên một hàng cho mối dòng dữ liệu. Ví dụ: _`__Customer__`_
* _`_`_        Dải dữ liệu này này tương tự như dải  _`__`_  nhưng các ô bên ngoài dải sẽ không di chuyển xuống phía dưới: _`_Customer_`_
* _`II_`_   Dải dữ liệu này di chuyển sang bên phải và chèn nguyên một cột. Lưu ý rằng ký tự đầu tiên là chữ  `I`, không phải là dấu gạch thẳng |. Ví dụ: _`II_Customer_II`_
* _`I_`_ Dải dữ liệu này tương tự như dải _`II_`_ nhưng các ô bên ngoài dải sẽ không di chuyển sang phải. Ví dụ: _`I_Customer_I`_\
  \
  Tham khảo thêm trong phần [Tham Khảo](../../tham-khao/reporting-api/range-types) để có giải thích đầy đủ hơn.
{% endhint %}

## Thẻ Toàn Bộ Nhu Liệu

Chúng ta sẽ dùng một thẻ nhu liệu đặc biệt, gọi là thẻ toàn bộ nhu liệ&#x75;_:_  [Full Dataset](../../tham-khao/reporting-api/tag-reference/full-dataset). Thẻ này cũng chỉ được sử dụng bên trong một dải dữ liệu đã được định nghĩa trước đó. Nó in ra giá trị của toàn bộ các cột của dòng hiện tại của dải dữ liệu. Các ô bên phải ô chứa thẻ sẽ bị ghi đè.

Cú pháp:

```
<#DataSet.*>
```

{% tabs %}
{% tab title="Diễn giải" %}
Trả về giá trị  toàn bộ dòng hiện tại bao gồm tất cả các cột của bộ nhu liệu. Các ô bên phải sẽ bị ghi đè. Bạn có thể viết các thẻ _`<#Dataset.*>`_ và một thẻ  _<`#Dataset.**>`_ khác vào cùng một ô, và chúng sẽ có giá trị của thẻ đầu tiên.
{% endtab %}

{% tab title="Ví dụ" %}
Nếu ô A1 = _`<#DataSet.*>`_ thì khi  chạy báo cáo cột A sẽ có giá trị của cột đầu tiên của bộ nhu liệu, cột B sẽ là cột thứ hai, v.v.  Bất kỳ văn bản nào trước đó trên cột B sẽ bị ghi đè.&#x20;

_`<#DataSet.*> <#if(<#DataSet.**>="Ngày";<#Format Cell(blue)>;)>`_ sẽ ghi ra giá trị  của tất cả các cột dữ liệu với cột có tiêu đề  là "Ngày"  sẽ được định dạng màu xanh.
{% endtab %}
{% endtabs %}

## Ứng Dụng

Mở file báo cáo mẫu Excel, đi vào menu <mark style="color:yellow;">Formulas</mark> và chọn <mark style="color:yellow;">Name Manager</mark>. Tạo một _named range_ có tên là _`__Report__`_ cho toàn bộ hàng 50, như sau:

<figure><img src="https://1789172917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIVrwm5UGBB368BFg123u%2Fuploads%2F2hk1u21UGuuBSm0K0hM9%2FScreen%20Shot%202024-01-28%20at%208.01.02%20AM.png?alt=media&#x26;token=acdc738e-ff81-43d1-bf14-9bfde89b5e30" alt="" width="563"><figcaption></figcaption></figure>

&#x20;Đi vào bảng trình bày của báo cáo Kết Quả Kinh Doanh, và nhập hai thẻ hàm sau:

```
B49: <#Report.**>
B50: <#Report.*>
```

Bây giờ hãy giải thích những công thức của chúng ta làm gì:

1. Chúng ta đã định nghĩa một dải dữ liệu có tên là _`__Report__`_ sử dụng toàn bộ dòng thứ 50 của bảng trình bày bằng cách định nghĩa _named range_ _`'Income Statement'!$50:$50`_
2. Khi đó, dải dữ liệu _`__Report__`_ sẽ  vào trong cột A trong bảng cấu hình và tìm một bộ nhu  liệu có cùng tên để sử dụng làm tập dữ liệu của nó. Nó sẽ tìm thấy bộ nhu liệu _`Report`_ được khai báo trong ô A10 của bảng _`<#Config>`_ .
3.  Nguồn dữ liệu cho _`Report`_ được xác định trong ô B10 và chính là bộ nhu liệu bên dưới báo cáo.\


    <figure><img src="https://1789172917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIVrwm5UGBB368BFg123u%2Fuploads%2Ft4ajwtVPR4gqFmUMffgl%2Fimage.png?alt=media&#x26;token=aec09820-d40a-4855-b506-d1cc0aced589" alt=""><figcaption></figcaption></figure>
4. Ô B50 trên bảng trình bày _`<#Report.*>`_ là một thẻ [Full Dataset](../../tham-khao/reporting-api/tag-reference/full-dataset)  mà sẽ hiển thị giá trị trong tất cả các cột của dòng dữ liệu hiện tại khi chạy dải dữ liệu.
5. Ô B49 trên trên bảng trình bày _`<#Report.**>`_ là một thẻ thẻ [Dataset Captions](../../tham-khao/reporting-api/tag-reference/full-dataset-captions) sẽ hiển thị tiêu đề của tất cả các cột của bộ nhu liệu.

Hãy chạy lại báo cáo và bạn sẽ nhận được kết quả có các dòng dữ liệu trong bộ nhu liệu bên dưới báo cáo được chèn vào và thể hiện trong bảng trình bày báo cáo, như sau:

<figure><img src="https://1789172917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIVrwm5UGBB368BFg123u%2Fuploads%2FJG7ML0qzDVRcN21jyl4R%2FScreen%20Shot%202024-01-28%20at%208.45.07%20AM.png?alt=media&#x26;token=2c79aacc-7867-4037-8d63-47d42ec81e43" alt=""><figcaption></figcaption></figure>

Bây giờ bạn có thể dò và tìm xem cái gì không đúng trong các công thức, thẻ hàm của báo cáo. Sau khi sửa lỗi, đừng quên xóa những thông tin tìm lỗi và trả lại báo cáo như trạng thái ban đầu.
