2010-09-02 38 views
5

Tôi có báo cáo tinh thể có thông số báo cáo có thể là giá trị từ 1 đến 100. Nếu giá trị nhỏ hơn 50, tôi cần nhóm theo CustomerID. Nếu giá trị lớn hơn 50, tôi cần nhóm theo OrderID.Báo cáo tinh thể nhóm động 9

Tôi đã tìm kiếm trên web về cách thực hiện điều này và tôi đã gặp một số liên kết cho biết điều này có thể được thực hiện thông qua công thức. Vì vậy, bên trong công thức tôi có:

if {ReportParameter} < 50 then 
    {TableName.CustomerID} 
else 
    {TableName.OrderID} 

Tôi đã tạo nhóm theo cách thủ công để tìm kiếm thông qua dữ liệu, nhưng khi tôi kéo công thức vào danh mục được nhóm, nó không hoạt động đối với tôi.

Có thêm một bước nào nữa không?

+1

Một vài câu hỏi: Khi bạn nói rằng bạn "Tạo nhóm theo cách thủ công", bạn có nghĩa là bạn vừa chèn các nhóm dưới dạng {TableName.CustomerID} và {TableName.OrderID}? Và khi bạn cố gắng nhóm theo công thức này, bạn có ý nghĩa gì khi nói "nó không hoạt động"? – Ryan

+0

Có, tôi đã chèn các nhóm (Insert> Group) chỉ để xem liệu tôi có thể nhóm dữ liệu thành công và hoạt động không. Vì vậy, tôi đã xóa nhãn ra khỏi phần nhóm và thử đặt một công thức ở đó thay vì không hoạt động. – coson

+0

Tôi không thấy bất kỳ vấn đề nào khi sử dụng công thức đó để nhóm. Nó không làm việc trong đó các hồ sơ không nhận được nhóm ở tất cả? Những gì hiển thị như tên nhóm khi bạn làm điều này? – Ryan

Trả lời

1

OK, đây là cách tôi đã kết thúc làm điều này:

tôi xác định công thức, nhưng tôi không liên kết nhóm công thức.Vì vậy, tôi đã quay lại Nhóm tiêu đề> Thay đổi nhóm> Thay đổi tùy chọn nhóm> tab tùy chọn

và chỉ vào tên công thức của tôi và nó hoạt động.

Tôi nghĩ rằng bằng cách thêm công thức vào Tiêu đề nhóm, CR sẽ tự động kết hợp công thức của tôi với Tiêu đề nhóm. DOH !!!

0

Có một số cách để tôi giải quyết vấn đề này ...

  1. Nếu tôi hiểu theo dõi ý kiến ​​của bạn một cách chính xác, tất cả các bạn đã làm là thay đổi tên hiển thị của nhóm, bạn không thực sự thay đổi nhóm. Tôi đã cố gắng điều này bản thân mình chỉ để đảm bảo và đó là những gì nó trông giống như tôi.

  2. Thứ hai, (ai đó sửa tôi nếu tôi sai), bạn không thể nhóm theo công thức. Tôi cũng đã thử điều này trong CR2010 và không thể làm điều đó. (Sửa xước rằng Ryan là đúng tôi sai..)

  3. tôi khuyên bạn nên sử dụng Báo cáo ->Nhóm chuyên gia để xem những gì được nhóm nơi. Theo mặc định, nó cũng sẽ có trên thanh công cụ của bạn.

tôi có thể nghĩ ra 2 cách thiết lập báo cáo của bạn mà có thể làm vấn đề này là vô hiệu:

  1. Hãy 2 báo cáo riêng biệt, 1 cho mỗi điểm. Đặt tiêu chí lựa chọn một cách thích hợp

HOẶC

  1. Hãy 1 báo cáo tổng thể. Thiết lập tiêu đề nhóm, trang và báo cáo của bạn & chân trang ở đây. Trước khi dữ liệu được đưa vào Crystal, hãy tạo một trường để hoạt động như 'chỉ mục' của bạn (có thể với công thức bạn đã liệt kê) và nhóm vào đó.
  2. Tạo 2 phần phụ chi tiết. Nếu bạn muốn thay đổi nhãn của nhóm, chỉ cần kéo & thả trường công thức vào tiêu đề nhóm của bạn.
  3. Loại bỏ phần phụ đầu tiên nếu {ReportParameter} < 50. Tạo một subreport trong đó và nhóm subreport đó theo {OrderID}.
  4. Loại bỏ phần phụ thứ hai nếu {ReportParameter}> 50. Tạo một subreport trong đó và nhóm subreport đó theo {CustomerID}.
+1

Tôi thường xuyên nhóm các công thức. Hầu hết các báo cáo của tôi bao gồm một số loại nhóm linh hoạt cho phép người dùng chỉ định chính xác những gì coson đang cố gắng thực hiện ... nghĩa là dựa trên nhóm tham số theo trường này, nếu không thì nhóm theo trường khác này. Tôi đã làm điều này trong cả hai XI và 2008 mà không có vấn đề gì. – Ryan

+0

Cảm ơn. Tôi đã thay đổi câu trả lời của mình cho phù hợp. Tôi không biết tại sao tôi lại nghĩ thế. – PowerUser

+0

Đối với kiến ​​thức của riêng tôi, bạn có thể xác định "nhóm linh hoạt" không? Không quen thuộc với thuật ngữ đó. – PowerUser

Các vấn đề liên quan