2008-11-19 18 views
14

Tôi đang xem xét ý tưởng triển khai Trình tạo báo cáo SSRS dựa trên web cho người dùng cuối để cho phép họ tạo báo cáo riêng của họ dựa trên cơ sở dữ liệu ứng dụng sản xuất của chúng tôi. Từ những gì tôi đã thấy cho đến nay, công cụ này dễ sử dụng hơn thiết kế báo cáo VS Biz Intel Studio, cộng với việc cài đặt dễ dàng hơn và triển khai báo cáo dễ hiểu hơn cho người dùng cuối (cộng với điều lớn nhất là không có SQL) Tôi đoán).Trình tạo báo cáo SSRS - Các vấn đề từ trải nghiệm?

Có ai có bất kỳ suy nghĩ hoặc kinh nghiệm nào về những cạm bẫy khi cho người dùng loại quyền lực này không? Ngay bây giờ, chúng tôi nhận được rất nhiều yêu cầu xuất dữ liệu vào một tệp phẳng để họ có thể đọc nó và sau đó xây dựng các báo cáo trong Access chống lại nó, vì vậy tôi tìm SSRS sẽ tốt hơn Access ...

Trả lời

14

Một số mẹo cho mô hình báo cáo thiết kế:

1. Xây dựng một mart dữ liệu

có một số công cụ như báo cáo Builder: Business Objects, Oracle Discoverer đến tên một vài. Tất cả chúng đều có các lớp siêu dữ liệu giúp bạn có được một số công cụ báo cáo người dùng cuối, tuy nhiên chúng vẫn thực sự cần dữ liệu được cho ăn bằng thìa ở định dạng phù hợp để tạo ra một giải pháp hiệu quả. Điều này có nghĩa rằng bạn thực sự cần phải suy nghĩ về xây dựng một số loại dữ liệu-mart là tốt.

Nếu không có dữ liệu sạch sẽ, các công cụ sẽ hiển thị tất cả các phần mềm trong cơ sở dữ liệu sản xuất, vì vậy người dùng sẽ phải hiểu chúng để có được kết quả chính xác. Điều này có nghĩa là báo cáo thực sự cần phải có nguồn dữ liệu sạch.

Bạn có khoảng không kiểm soát đối với SQL mà các công cụ này tạo ra, do đó, chúng hoàn toàn có khả năng tạo các truy vấn sẽ thoát khỏi cơ sở dữ liệu sản xuất của bạn. Điều này có nghĩa là báo cáo của bạn sẽ diễn ra trên một máy chủ riêng biệt. Một lược đồ thân thiện với các công cụ đặc biệt (chẳng hạn như lược đồ hình sao) sẽ giảm thiểu những vấn đề tiềm tàng tồi tệ nhất với hiệu suất.

2. Làm sạch các dữ liệu

Không có nhà phát triển trong vòng lặp với các công cụ ad-hoc, vì vậy người dùng ngây thơ sẽ sử dụng công cụ này mà không biết những gì các vấn đề dữ liệu. Kết quả truy vấn không chính xác sẽ luôn được xem là lỗi của công cụ. Đối với độ tin cậy, những cạm bẫy cần phải được loại bỏ từ các thiết lập dữ liệu upstream của công cụ.

3. Tận dụng chuyển hướng mạnh mẽ và idiot-proof

Báo cáo xây dựng có thể thiết lập hạn chế về di chuyển từ một thực thể khác. Nếu không có những điều này, có thể kết hợp nhiều bảng lại với nhau theo một mối quan hệ m: m. Điều này được gọi là Fan Trap và sẽ trả lại tổng số không chính xác. Bạn cần thiết lập mô hình để các bảng thực tế riêng lẻ được tổng hợp trên các tham số chung - tức là được cuộn lên trước khi chúng được kết hợp. Nhận quyền này sẽ loại bỏ một lớp lỗi. Hầu hết các công cụ đều có một số cơ chế để ngăn chặn điều này.

4. Tận dụng dữ liệu tổng hợp

Bạn có được điều này miễn phí từ Business Objects, nhưng bạn sẽ phải đặt một biện pháp tổng hợp trên cơ sở từng biện pháp một cách rõ ràng với Báo cáo Builder. Ẩn các biện pháp cơ sở và phơi bày các uẩn. Điều này có nghĩa là hệ thống sẽ cuộn dữ liệu lên hạt của các thứ nguyên mà người dùng đã chọn.

Kết luận

Đặt một công cụ ad-hoc trực tiếp trên một cơ sở dữ liệu sản xuất là không có khả năng làm việc tốt. Dữ liệu sẽ có quá nhiều cạm bẫy và lược đồ sẽ không tự cho vay để báo cáo. Điều này có nghĩa là bạn đang chuẩn bị cho một số công việc xây dựng một siêu thị dữ liệu để lọc dữ liệu và chuẩn bị nó cho công cụ. Nếu bạn đang dành thời gian đáng kể để xây dựng các chiết xuất đặc biệt, có thể có một trường hợp kinh doanh đơn giản trong thời gian của nhà phát triển, điều này sẽ tiết kiệm sau này.

CHỈNH SỬA: Trình hướng dẫn mô hình báo cáo (giống như hầu hết những thứ như vậy) gây ra một mớ hỗn độn khi chạy. Bạn sẽ phải tinh chỉnh các cài đặt như hạn chế việc tạo các tập hợp không liên quan. Trong quá khứ tôi đã có kết quả khá tốt bằng cách tạo ra các khoản tiền, ẩn tất cả các biện pháp cơ bản và phơi bày các tập hợp như thể chúng là các biện pháp cơ bản. Điều này đã cho hành vi giống như đối tượng kinh doanh. Trên các trường hợp cụ thể, bạn cũng có thể muốn hiển thị số lượng, tối thiểu/tối đa hoặc trung bình.

Ví dụ cụ thể mà tôi đang nghĩ đến là một mô hình báo cáo khá lớn với khoảng 1.500 trường trong đó, vì vậy tổng hợp được tạo từ trình hướng dẫn không thể quản lý được với tổng số 10.000 trường. Bạn cũng có thể thiết lập cấu trúc thư mục giống như Analysis Services và sử dụng chúng để tổ chức các trường. Cuối cùng, nếu việc nhập mô tả trên trường sẽ hiển thị dưới dạng chú giải công cụ nếu bạn di chuột qua nó trong công cụ người dùng cuối.

+1

thông tin Tuyệt vời! Cảm ơn bạn - đây là một lời giải thích tuyệt vời về nơi dữ liệu-marts phù hợp trong câu đố, và đây là rất nhiều vấn đề tôi đã không nghĩ đến. –

9
Chỉ một vài nhận xét về câu trả lời trước:
1. Mô hình truy vấn ngữ nghĩa được sử dụng bởi Trình tạo báo cáo dịch vụ báo cáo SQL Server được thiết kế với mục đích rõ ràng là ngăn chặn các mối quan hệ m: m. Không cần thêm nỗ lực để kích hoạt chức năng này; nó vốn có trong cấu trúc truy vấn được tạo bởi Trình tạo báo cáo.
2. Trình hướng dẫn mô hình tạo các phép đo tổng hợp trên các trường số theo mặc định, do đó, không cần nỗ lực thêm để hiển thị tổng hợp. Bạn có thể tùy chỉnh mô hình bằng cách thêm hoặc xóa các phép tính tổng hợp khi thích hợp.

Nói chung, câu ngạn ngữ "rác thải trong thùng rác" chắc chắn sẽ áp dụng. Nếu dữ liệu của bạn không sạch thì Trình tạo báo cáo hoặc các công cụ báo cáo đặc biệt khác sẽ chỉ làm rõ hơn.

Kỹ sư Aaron Meyers
phát triển phần mềm, SQL Server Reporting Services
+0

Tuyệt vời - cảm ơn Aaron! –

+0

Theo mặc định, những gì bạn nhận được từ trình hướng dẫn khá lộn xộn. Tôi có xu hướng khuyên bạn nên ẩn các biện pháp chưa được tổng hợp và đổi tên các biện pháp tổng hợp, trình bày chúng như thể chúng là các biện pháp cơ bản. Ngoài ra, hãy sử dụng các thư mục để tổ chức các biện pháp. Tại một thời điểm, tôi đã có dịp tạo một mô hình báo cáo có tổng cộng gần 1500 trường; việc lập tài liệu và tổ chức dữ liệu trong mô hình báo cáo là một công việc chính. – ConcernedOfTunbridgeWells

+0

Tuy nhiên, tôi nghĩ rằng việc nhận dữ liệu sạch sẽ được trình bày cho mô hình báo cáo là chiến thắng lớn nhất. – ConcernedOfTunbridgeWells

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