ConnectWise Report Writer FAQ
Style and formatting
Can I add style attributes?
No. Style attributes are stripped by the sanitizer to prevent cross-site scripting attacks.
Can I use special characters in expressions?
Yes, but use CHAR() to define symbols rather than inserting them directly. For example, instead of a literal backslash, use CHAR(92).
SUBSTRING([Last_Login], CHARINDEX(CHAR(92), [Last_Login]) + 1)
See ASCII Code for a full list of character codes.
Can I insert a logo in a report?
Yes. In the Misc tab, use an HTML image tag referencing a publicly available URL:
<img src="http://www.mycompany.com/logo.jpg" alt="My Company">
How do I add page numbers?
In the Misc tab, enter [pagenumber] / [totalpages] in the footer field. Use the justification setting to position it left, center, or right.
Can I create a report or dashboard with special characters in the title?
No. Report and dashboard titles can only contain numbers and letters.
Fields and columns
What are Column Groups?
Column Groups let you place related columns under a single master heading. Configure them in Advanced Field Settings.
For example, instead of Hours_Agreement, Hours_Budget, Hours_Actual, and Hours_Invoiced as separate column headers, you can create a Hours group and label each column Agreement, Budget, Actual, and Invoiced.
Note: Column grouping only works for adjacent columns.
Can I use a calculated column in visualizations?
Yes. Create the calculated column in the Fields tab — it appears with a (calc) suffix in brackets. It will show in the field drop-down for all tabs except Fields and Summary.
Do I need the column in the Fields tab to use it in visualizations?
No. Visualizations and the Summary tab can use any column pulled in by the data sources.
Can I reorganize fields on the Fields or Summary tab?
Yes. Drag fields up or down using the arrow icon on the right side of each field row.
Can I hide parameters?
Yes. In the Filters tab, clear the checkbox in the Param column next to the filter you want to hide.
Why can’t I group by year, month, or day?
The Function drop-down options depend on the data type of the selected field. You need a Date or DateTime field to see year, month, or day grouping options.
Why don’t columns on the second page sort properly?
Report Writer sorts each page of data separately for performance. The default page size is 100 rows. To sort all data together, increase the items-per-page count so all records appear on one page.
Dates and expressions
How do I get the difference between two dates?
Use the simple Arithmetic feature on the Fields tab. Select two date fields and the result will be a single duration column.
How do I sort by date without including the time?
In the Advanced Field Settings for the date field, enter this expression:
CONVERT(VARCHAR, [Date_Closed], 101)
Note: International users should replace
101with103.
How do I convert UTC time to local time?
Use the udf_GetLocalTimeFromUTC function with one of three options:
- By company:
udf_GetLocalTimeFromUTC(date_entered_utc, 1, '') - By specific time zone:
udf_GetLocalTimeFromUTC(date_entered_utc, 2, 'Eastern Standard Time') - By member ID:
udf_GetLocalTimeFromUTC(date_entered_utc, 3, [member_id])
Time zone names can be found in the Time Zone Name table.
Note: The member ID option requires that your data source includes the
Member_IDfield.
How do I show carriage returns in notes fields?
Report Writer doesn’t recognize line breaks in notes. To render them:
- Select the Advanced Field Settings gear icon for the notes field.
- In the Expression field, enter:
REPLACE([Field_Name], Char(10), '<br>') - Replace
[Field_Name]with your field name. - Set Expression Type to String.
Why am I getting a Divide by Zero error?
SQL can’t divide by zero. If any record in your divisor column is zero, the report errors. Wrap the expression in a CASE statement to handle it:
(CASE WHEN (SUM([total_opportunities])) > 0
THEN ((CONVERT(DECIMAL(18,4), (SUM([won_opportunities])))) / (CONVERT(DECIMAL(18,4), (SUM([total_opportunities])))))
ELSE 0
END)
The Campaigns, Closed Campaigns, and Open Campaigns reports in the Example Reports category include working examples.
How do I exclude items that begin with certain characters?
Create a calculated column using a CASE expression in Advanced Field Settings, then filter on that column.
For example, to exclude test members:
(CASE WHEN [Member] LIKE 'TEST%' THEN 1 ELSE 0 END)
Name the column something like TEST Member Flag, then add a filter: field equals 0.
How do I schedule a report using Today’s Date?
In the Filters tab, select the In Time Period operator and choose Today.
Custom fields
How do I report on custom fields?
Custom field reporting views follow this naming pattern: v_ + table name + _Custom_Fields. For example: v_company_custom_fields.
These views refresh nightly with any newly added custom fields. All custom field data is stored as text — use an expression if you need to display it differently.
Available views:
v_AGR_Adjustment_Custom_Fieldsv_AGR_Detail_Custom_Fieldsv_AGR_Header_Custom_Fieldsv_AGR_Site_Custom_Fieldsv_Billing_Log_Custom_Fieldsv_Company_Custom_Fieldsv_Config_Custom_Fieldsv_Contact_Custom_Fieldsv_EX_Custom_Fieldsv_KB_Resolution_Custom_Fieldsv_Marketing_Campaign_Custom_FieldsV_RPT_MyAccountCustomFieldsv_Order_Header_Custom_Fieldsv_PM_Phase_Custom_Fieldsv_PM_Project_Custom_Fieldsv_Purchase_Detail_Custom_Fieldsv_Purchase_Header_Custom_Fieldsv_SO_Activity_Custom_Fieldsv_SO_Opportunity_Custom_Fieldsv_SR_Service_Custom_Fieldsv_Time_Entry_Custom_Fieldsv_IV_Product_Custom_Fieldsv_IV_Item_Custom_Fields
How do I display a custom field as a date?
Since all custom fields are stored as text, cast the value in an expression:
CAST([FIELD_NAME] AS DATE)
Replace FIELD_NAME with your field name.
Billing flags
What tables do I use to pull scheduled tickets by billing type?
Use SR_Service and the TimeBillable_Flag and TimeInvoice_Flag columns together:
| Invoice flag | Billable flag | Result |
|---|---|---|
| 1 | 1 | Billable |
| 1 | 0 | NC |
| 0 | 0 | NB |
| 0 | 1 | No Default |
The same pattern applies for expenses (ExpBillable_Flag, ExpInvoice_Flag) and products (ProdBillable_Flag, ProdInvoice_Flag).
Subreports and drill-throughs
Can a subreport open another subreport?
Yes. Any field can trigger a drill-through as long as that field matches the drill-down key of a drill-through report.
Can a subreport run on its own?
Yes. Any subreport or drill-through can run as a standalone report.
How do I get a report to appear in the subreport drop-down menu?
Select a Drill Down Key in the Misc tab of the report. Without this, the report won’t appear in the subreport drop-down.
Can I access a drill-through from a dashboard?
Yes. The report tile used in the dashboard must be configured to open a drill-through report.
Categories and report management
How do I rename a report?
There’s no rename option. Use Save As to save the report with the new name, then delete the original.
How do I delete a report?
In the report list, select the report’s category, hover over the report, and select the X in the upper right.
How do I create a category?
When saving a report, select Create New from the Category drop-down. The new category will be available immediately.
How do I move a report to a different category?
There’s no move option. Use Save As to save the report into the target category, then delete the original.
How do I delete a category?
Delete all reports in the category. Once empty, the category is removed automatically.
URLs and access
Can I deploy reports to the Customer Portal?
No. Report Writer reports cannot be deployed to the Customer Portal.
Can I add a Report Writer report as a menu item in a module?
Yes. Go to Setup > Setup Tables > Custom Menu Entry and add a menu item. Set the link to the report’s URL.
How do I open a specific report or dashboard using a URL?
Use this URL pattern:
http://[cw.mycompany.com]/v4_6_release/reporting/Dashboards.aspx?rn=[CategoryName]%5c[DashboardName]
- Replace
cw.mycompany.comwith your ConnectWise login URL. - Replace
CategoryNameandDashboardNamewith the exact names from Report Writer. - The
%5cseparator is required.
Is Report Writer available for Cloud Partners?
Yes. Report Writer is available to both On-Premises and Cloud partners.
Can I use Report Writer in a browser?
Yes. Report Writer is fully functional in a browser.
Dashboards and visualization
Will moving charts and gauges on a report affect my dashboard?
No. The dashboard references the report by tab name in the designer — layout changes don’t affect it.
Can I set a report or dashboard to auto-refresh?
No. This is not currently supported.
Which visual styles work with a Pivot Table?
All styles except VG Hierarchy and Analysis Grid — those will produce an error.
Errors and performance
Error: “Report not found” or “The report cannot be displayed”
Either there’s no data for the report, or there’s a hidden control on the grid.
There’s an error when opening an exported report file in Excel
Excel sometimes warns that the file format doesn’t match the extension. Select Yes to open the file — this is an Excel prompt, not a ConnectWise error.
Why is Report Writer slow to load?
Initial load and login can take 15–40 seconds depending on report size. To reduce load time:
- Go to System > Setup Tables.
- Open Manage Labs.
- Select the Disable Report Writer Thumbnails checkbox.
- Select Actions > Mark Active.
Reports are displaying incorrect currency
For IIS (on-premises), go to IIS Manager > Sites/Default Web Site > .NET Globalization > UI Culture and set UI Culture to Auto Detect.
For browser access, add the appropriate language in your browser’s language settings and move it to the top of the list. For example, for South African Rand, select English (South Africa).
For the .NET client, set your workstation’s Location and Formats to the correct language.