2011-10-13 37 views
6

Tôi đang bị kích thích với iReports. Vấn đề là tôi có tập dữ liệu trả về dữ liệu cho nhiều khách hàng và tôi muốn sử dụng "Biểu thức nhóm" chống lại ID khách hàng và có báo cáo bố trí Tab chi tiết cho mỗi khách hàng.Lỗi nhóm iReports - Nhiều lần xuất hiện?

Tôi thấy rằng, có vẻ ngẫu nhiên, nơi có nhiều hàng dữ liệu cho khách hàng iReports sẽ tạo hai hoặc nhiều nhóm (Đôi khi nó làm những gì tôi mong đợi và nhóm tất cả dữ liệu khách hàng với nhau), ID trường khách hàng là như nhau và không thay đổi.

Có ai nhìn thấy điều này trước đây không? Thành thật mà nói tôi không thể tin rằng nó thực sự là một lỗi, nhưng một cái gì đó tôi đã bỏ lỡ. Chỉ cần tìm kiếm nhiều chưa tìm được kết quả phù hợp.

+0

Bạn có sắp xếp dữ liệu theo id khách hàng (trường mà bạn nhóm theo) không? –

Trả lời

8

Tôi nghĩ đây là vấn đề phân loại dữ liệu.
Các trích dẫn từ iReport Ultimate Hướng dẫn:

JasperReports nhóm hồ sơ bằng cách đánh giá biểu thức nhóm. Mỗi thời gian thay đổi giá trị của biểu thức, một cá thể nhóm mới được tạo. Động cơ không thực hiện bất kỳ việc phân loại bản ghi nào (nếu không rõ ràng là được yêu cầu), vì vậy khi chúng tôi xác định các nhóm, chúng tôi luôn luôn chú ý đến việc sắp xếp các bản ghi . Tức là, nếu chúng tôi muốn nhóm một tập hợp các địa chỉ theo quốc gia , các hồ sơ chúng tôi chọn cho báo cáo phải là được sắp xếp theo quốc gia. Việc sắp xếp dữ liệu đơn giản khi sử dụng truy vấn SQL bằng cách sử dụng mệnh đề ORDER BY. Khi điều này là không thể (nghĩa là, khi lấy các bản ghi từ một tài liệu XML), chúng tôi có thể yêu cầu JasperReport sắp xếp dữ liệu cho chúng tôi. Điều này có thể được thực hiện bằng cách sử dụng loại tùy chọn có sẵn trong cửa sổ truy vấn


Bạn có thể sắp xếp dữ liệu trong các cách sau:

  • trong trường hợp sử dụng của Cơ sở dữ liệu kết nối jdbc loại nguồn dữ liệu bạn có thể thêm mệnh đề ORDER BY customerId vào truy vấn của báo cáo, trong đó customerId - tên cột của fiel d với id khách hàng
  • trong trường hợp sử dụng của tập tin kết nối csv hoặc một cái gì đó như thế này bạn có thể tổ chức dữ liệu sắp xếp bằng cách thêm sortField tài sản cho trường để mẫu của báo cáo (jrxml tập tin):
<jasperReport ...> 
    ... 
    <field name="customerId" class="java.lang.String"/> 
    <sortField name="customerId"/> 
Tuyên Bố SQL
+0

Xin chào Alex, Rất cám ơn vì điều này ... đã giải quyết được vấn đề! – Mark

+0

@Mark welcome :) –

3
  1. ORDER BY?
  2. Nhóm iReport được nhóm theo customer_id?
Các vấn đề liên quan