2009-01-26 35 views
16

Tôi đang làm việc trên báo cáo Dịch vụ báo cáo SQL (trong VS.Net 2005) hiển thị số lượng dữ liệu khác nhau trong ma trận. Các cột có số lượng khách hàng trong một tập hợp nhất định. Vì vậy, tôi có một số cột như thế này: "1 chủ nhân", "2-9 người sử dụng lao động", "10-19 người sử dụng lao động" và như vậy.Làm thế nào để xác định thứ tự cho các cột trong một ma trận?

Vấn đề tôi có là dịch vụ báo cáo SQL sắp xếp các cột trong ma trận theo thứ tự abc. Vì vậy, tôi sẽ có cột "10-19" sau cột "1 chủ nhân" nhưng trước "2-9".

Có cách nào để sửa lỗi này không? Hoặc có thể một mẹo để thay đổi nhãn của các cột mà chúng sắp xếp đúng không?

Cảm ơn.

+0

Cảm ơn đã đặt câu hỏi này một vài tháng trước khi tôi cần phải đặt câu hỏi rất giống nhau! – Pulsehead

Trả lời

18

Chúng tôi thực hiện rất nhiều báo cáo SSRS và đây luôn là vấn đề với mdx. Dưới đây là một cách chúng ta làm điều đó:

Set Sorting trong Phân nhóm và phân loại tính để sắp xếp theo biểu thức sau:

=iif(Fields!DataSetField.Value = "ColumnName", "zzz", Fields!DataSetField.Value) 

đâu "zzz" có thể là một số hoặc bất cứ điều gì bạn cần để giúp sắp xếp và sau đó chọn Hướng làm cơ sở Tăng dần hoặc Giảm dần trên biểu thức này.

1

Tôi đã có một vấn đề tương tự nhưng không tìm thấy giải pháp sử dụng ma trận đúng lúc - vì vậy tôi đã sử dụng bảng - và đặt logic cần thiết của ma trận trong các câu lệnh SQL của tôi. Nó không phải là điều tốt nhất để làm nhưng nó hoạt động - nó đủ nhanh và không mất nhiều thời gian để viết.

4

Điều này có thể hơi phức tạp, nhưng chúng tôi có vấn đề tương tự và không có cách nào để thay đổi SQL. Những gì chúng tôi đã làm là tạo một trường được tính toán trong tập dữ liệu trả về một số cho mỗi cột và sắp xếp nhóm trên số đó.

0

Tôi đã tham gia MATRIX -> PROPERTIES -> GROUPS. Sau đó, tôi "di chuyển" GROUP tôi muốn nó sắp xếp theo UP trong danh sách. Tôi đã đến PREVIEW và nó hoạt động hoàn hảo. Nó thậm chí còn giữ trật tự cột của tôi giống nhau.

+2

Tại sao bạn nghĩ điều này sẽ giải quyết vấn đề của người đăng? Vấn đề của ông là phân loại hoạt động theo thứ tự abc. –

0

Chuyển đến nhóm chỉnh sửa - Sắp xếp - Thay đổi hướng để giảm dần cho biểu thức.

+3

Tại sao bạn nghĩ điều này sẽ giải quyết vấn đề của người đăng? Vấn đề của ông là phân loại hoạt động theo thứ tự abc. –

17

Điều này cũng có thể được thực hiện bằng cách thêm cột mới vào truy vấn cho thứ tự sắp xếp. Sau đó, nhấp chuột phải vào nhóm cột từ ma trận và chọn thuộc tính nhóm. Ở phía bên trái, chọn sắp xếp. Từ đây, bạn có thể chỉ định một cột khác để sắp xếp thay vì tiêu đề cột. Không cần công thức tùy chỉnh.

+2

Đây là giải pháp tốt nhất. Tôi ước tôi có thể chấp nhận nó để nó sẽ đi lên đầu danh sách ở đây. –

+0

Đây là giải pháp hữu ích nhất. –

0

Để biết thứ tự số khác biệt của việc sử dụng Tablix, sau dòng mã trong biểu thức.

= RunningValue (CountDistinct ("YourTableName"), Count, "YourTableName")

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