Task #90
openSLC CANOFY Report Creation , Chart Creation and Designing the Dashboards and Workspaces
Description
SLC CANOFY – Query Report Creation, Chart Creation, Dashboard & Workspace Design¶
Project Overview¶
The SLC CANOFY reporting and dashboard implementation was carried out to provide users and management with a centralized view of operational data available within the CANOFY application.
The work involved creating and modifying Query Reports, converting and adapting SQL logic for the Frappe reporting environment, creating visual charts from report data, and organizing the reports and visualizations into structured Dashboards and Workspaces.
The overall objective was to transform raw transactional data into easily accessible operational reports and visual dashboards while maintaining the existing business logic and required report output.
Objective¶
The main objectives of this implementation were:
- Create Query Reports for SLC CANOFY business requirements.
- Convert existing SQL/report logic into Frappe-compatible Query Reports.
- Retrieve data directly from the relevant CANOFY DocTypes and database tables.
- Add required report filters such as date ranges.
- Maintain the required report columns and business calculations.
- Make reports reusable for different importers and business users.
- Create charts based on Query Report data.
- Design dashboards using the created reports and charts.
- Organize related reports and dashboards into appropriate Workspaces.
- Provide users with a centralized interface for operational monitoring and analysis.
Business Requirement¶
The SLC CANOFY application contains a large amount of operational data across different modules and DocTypes.
Previously, users had to navigate through individual documents or rely on manually generated reports to obtain the required information.
The requirement was therefore to create a reporting layer where users could:
- Open a report.
- Select the required filters.
- Retrieve the relevant operational data.
- Analyze the results in tabular form.
- View important information through charts.
- Access related reports from a centralized dashboard/workspace.
Overall Implementation Flow¶
Business Requirement
│
▼
Identify Required Data
│
▼
Prepare SQL Query
│
▼
Convert / Adapt Query for Frappe
│
▼
Create Query Report
│
▼
Add Report Filters
│
▼
Validate Report Output
│
▼
Create Charts
│
▼
Design Dashboard
│
▼
Organize Workspace
│
▼
User Access & Operational Reporting
1. Requirement Analysis¶
The first stage was to understand what information was required from the SLC CANOFY application.
For each reporting requirement, the following were identified:
- Required output fields.
- Source DocTypes/tables.
- Relationships between records.
- Required calculations.
- Required filters.
- Required date conditions.
- Grouping requirements.
- Sorting requirements.
- Business-specific conditions.
The existing SQL/report logic was used as the basis for creating the Frappe Query Reports.
2. SQL Query Preparation¶
SQL queries were prepared to retrieve the required business information directly from the CANOFY database.
The queries were designed around:
- Relevant DocTypes.
- Parent-child relationships.
- Item-level records.
- Document-level records.
- Date fields.
- Status fields.
- Business-specific fields.
The required columns were explicitly selected so that the Query Report output matched the expected business format.
3. Conversion to Frappe Query Reports¶
The SQL logic was adapted for use inside the Frappe Query Report environment.
During this process, attention was given to:
- Frappe SQL compatibility.
- Correct table names.
- Correct field names.
- Parent-child relationships.
- Report filter syntax.
- Query parameters.
- Required output aliases.
The resulting SQL was implemented as a Query Report within the CANOFY application.
4. Dynamic Report Filters¶
Where reports required user-selected filtering, dynamic filters were incorporated into the Query Reports.
Typical filters included:
- From Date
- To Date
- Document-specific filters
- Importer-related filters
- Other business-specific parameters
The filters were connected directly to the SQL query so that the report dynamically returned data based on the user's selection.
For reports requiring a date range, the report was structured so that the required date filters were passed into the query rather than relying on hardcoded dates.
5. Removing Hardcoded Business Restrictions¶
During the report conversion, existing SQL logic containing a hardcoded importer restriction was identified.
For example, a condition specifically restricting the report to:
SMARTAGE PROJECTS PRIVATE LIMITED
was not suitable for the final reusable report.
The hardcoded importer restriction was removed while preserving:
- Existing output fields.
- Existing joins.
- Existing calculations.
- Existing business conditions.
- Existing report logic.
This allowed the report to return information for different importers instead of being restricted to a single company.
6. Query Report Validation¶
After creating each Query Report, the output was validated against the expected business data.
The validation process included checking:
- Report execution.
- Filter functionality.
- Date range behaviour.
- Number of records.
- Column names.
- Column order.
- Field values.
- Calculated values.
- Parent-child relationships.
- Duplicate records.
- Missing records.
The SQL output was compared against the expected source data to ensure that the report was returning the correct information.
7. Report Output Design¶
The Query Reports were designed to provide business-readable output rather than exposing raw database fields.
Column aliases were used to provide meaningful names to users.
For example:
SELECT
boe.p_1d_inwdate AS `Inward Date`
This allows the technical database field to be presented using a business-friendly report label.
The final report structure was kept aligned with the required business output.
8. Chart Creation¶
After the Query Reports were completed and validated, charts were created using the report data.
Charts were designed to provide a visual representation of important operational information.
Depending on the report requirement, the chart could represent:
- Record counts.
- Status distribution.
- Date-wise activity.
- Importer-wise information.
- Warehouse-wise information.
- Transaction trends.
- Other report-level business metrics.
The chart configuration was based on the underlying Query Report data.
9. Dashboard Design¶
The created Query Reports and charts were then organized into dashboards.
The dashboard was designed to provide a consolidated view of important SLC CANOFY information.
The dashboard structure brings together:
Key Business Information
│
├── Query Reports
│
├── Charts
│
├── Summary Information
│
└── Operational Data
This reduces the need for users to open each report independently.
10. Dashboard Layout¶
The dashboard was arranged to make frequently required information easily accessible.
The design approach was based on:
- Important information at the top.
- Frequently used reports easily accessible.
- Charts positioned for quick visual analysis.
- Related reports grouped together.
- Logical navigation between reporting components.
The dashboard therefore acts as a central reporting interface rather than simply being a collection of independent reports.
11. Workspace Design¶
Workspaces were designed to organize the reporting functionality within the SLC CANOFY application.
The Workspace provides users with a structured entry point to access:
- Relevant reports.
- Dashboards.
- Query Reports.
- Charts.
- Related operational functionality.
The purpose of the Workspace design was to improve navigation and ensure that users could reach the required reporting functionality without searching through individual modules.
12. Report-to-Chart Relationship¶
The implementation follows a relationship between the underlying Query Report and its visualization.
Database
│
▼
SQL Query
│
▼
Query Report
│
├──────────────► Tabular Data
│
▼
Chart
│
▼
Dashboard
│
▼
Workspace
This approach keeps the report as the underlying data source while the chart and dashboard provide a visual presentation of the same business information.
13. Testing and Verification¶
Testing was performed after creating the reports and dashboard components.
The following areas were verified:
Query Report¶
- SQL executes successfully.
- Filters work correctly.
- Date filters return expected results.
- Output columns are correct.
- Values match source records.
- No unintended hardcoded restrictions remain.
Charts¶
- Correct report is used as the source.
- Chart values correspond to report data.
- Categories and counts are displayed correctly.
- Chart provides meaningful visual representation.
Dashboard¶
- Required charts are displayed.
- Reports are accessible.
- Dashboard components load correctly.
- Information is presented in a logical order.
Workspace¶
- Reports are accessible from the intended Workspace.
- Dashboard/report navigation works correctly.
- Related reporting components are grouped appropriately.
14. Key Implementation Considerations¶
During implementation, the following principles were followed:
- Preserve existing business logic.
- Avoid unnecessary changes to existing SQL logic.
- Keep report output aligned with the original requirement.
- Replace hardcoded business restrictions where the report should be reusable.
- Use dynamic filters where user input is required.
- Validate report results before creating visualizations.
- Use Query Reports as the underlying source for reporting visualizations.
- Organize related reporting components through dashboards and Workspaces.
15. Benefits¶
The SLC CANOFY reporting implementation provides:
- Centralized operational reporting.
- Faster access to business information.
- Reduced manual data extraction.
- Reusable Query Reports.
- Dynamic report filtering.
- Business-friendly report outputs.
- Visual representation through charts.
- Centralized dashboards.
- Better Workspace navigation.
- Improved management visibility.
- Reduced dependency on manually prepared reports.
16. End-to-End Reporting Architecture¶
The completed implementation can be represented as:
SLC CANOFY DATABASE
│
▼
SQL / Business Logic
│
▼
Frappe Query Reports
│
┌──────────┴──────────┐
│ │
▼ ▼
Tabular Reports Charts
│ │
└──────────┬──────────┘
▼
Dashboard
│
▼
Workspace
│
▼
End User
Conclusion¶
The SLC CANOFY reporting implementation involved creating a complete reporting and visualization layer consisting of Query Reports, Charts, Dashboards, and Workspaces.
The Query Reports provide the underlying structured business data using Frappe-compatible SQL queries and dynamic filters. The charts transform important report information into visual insights, while the dashboards consolidate these visualizations and reports into a centralized monitoring interface. The Workspaces then provide organized access to the reporting functionality.
The implementation also included adapting existing SQL logic to Frappe, validating report outputs, and removing unnecessary hardcoded importer restrictions so that reports could be used more broadly across SLC CANOFY operations.
Overall, the work transformed raw operational database information into a structured reporting system that is easier for users and management to access, analyze, and monitor.
RG Updated by Rajesh Gotur 10 days ago
- Target version changed from Sprint 01 (01 Jul - 31Jul) to Backlogs
- % Done changed from 90 to 100