ActiveReports provides a wide range of data visualization solutions. Users can display data in an image to make the report data more visual and easy to understand. ActiveReports reports provide most common 2D and 3D chart types, including XY tables and financial charts. By using the custom functions of the chart control, such as modifying the coordinate axis, graph note, and legend, you can create any chart effects you need. In addition to common chart types, it also provides a wide range of data visualization controls such as waveform charts, data entries, and icons. This section mainly shows the use of the waveform chart control nested in the table control to display the trend of monthly sales details, as well as the use of the data bar control and graphical control to show the completion of annual sales performance.
1. Create a report file
Create an application named rptSalesDashboard. the ActiveReports report file of rdlx uses the ActiveReports page report as the project template. After the report is created, select convert to continuous page layout (CPL) Report from the report menu items of, converts a fixed-page report to a continuous report.
2. Open the report resource manager and create a report data source according to the following information:
| Name: |
NWind_CHS |
| Type: |
Micorsoft OleDb Provider |
| Ole db Provider: |
Microsoft. Jet. OLEDB.4.0 |
| Server or file name: |
Data \ NWind_CHS.mdb |
3. Add a dataset
Right-click the new NWind_CHS data source and select the Add dataset menu item to add the following two datasets:
General-Name: SalesByCategory
Query-query:
Select
Category. category name, t .*
from
(
SELECT
DATEPART ("m", Order. Order Date)
AS
Subscription month, category. Category ID,
SUM
(Order details. Quantity)
AS
Sales Volume
FROM
(Order
INNERJOIN
Order Details
ON
Order. Order ID = order details. Order ID)
INNERJOIN
Product
ON
Order details. Product ID = product. Product ID)
INNERJOIN
Category
ON
Product. Category ID = category. Category ID
WHERE
DATEDIFF ("yyyy", Order. Order Date, '2017-01-01 ') = 0
GROUPBY
DATEPART ("m", Order. Order Date), category. Category ID, category. category name
ORDERBY
DATEPART ("m", Order. Order Date), category. Category ID, category. category name)
as
T
INNERJOIN
Category
ON
T. Category ID = category. Category ID
General-Name: SalesBySupplier
Query-query:
SELECT
Supplier. Company Name,
First
(Product. Product Name)
AS
Product Name,
SUM
(Order details. Quantity)
AS
Sales volume,
SUM
(Order details. unit price * Order details. Quantity)
AS
Sales amount
FROM
Order Details
INNERJOIN
(Product
INNERJOIN
Supplier
ON
Product. Supplier ID = supplier. Supplier ID)
ON
Order details. Product ID = product. Product ID
GROUPBY
Supplier. company name, product. Product ID, product. Product Name
ORDERBY
Supplier. Company Name;
4. design the report page
4.1 Add the Table control from the Visual Studio toolbox to the report design interface, and set the properties of the Table control according to the following list:
| General-dataset Name: |
SalesByCategory |
| Detailed data grouping: |
Name: tablew.detail_group
Group expression: = [Category ID] |
The controls used in each cell and their attributes are as follows:
| Cell |
Widget |
Attribute |
| Cells [3, 1] |
TextBox |
Value: = Fields! Category name. Value |
| Cells [3, 2] |
TextBox |
Value: = Fields! Category name. Value |
| Cells [3, 3] |
Sparkline |
SeriesValue: = Fields! Sales volume. Value
Range. Backdrop. GradientStyle: VerticalCenter
Range. Backdrop. FillColor: Gray
Range. Backdrop. GradientEndColor: = Theme. Colors! Accent3
Range. LowerBound: = Fields! Sales volume. Value <Avg (Fields! Sales volume. Value, "SalesByCategory") * 0.8
Range. UpperBound: = Fields! Sales volume. Value> Avg (Fields! Sales volume. Value, "SalesByCategory") * 1.5
SparklineType: Columns |
| Cells [3, 4] |
Bullet |
BestValue: 2.5
Range1Boundary: 0.85
Range2Boundary: 1.65
TargetStyle. LineColor: Brown
TargetStyle. LineWidth: 5pt
TargetValue: 1
TickMarks: Inside
TicksStyle. LineColor: Gray
TicksStyle. LineWidth: 1pt
Value: = Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory ")
ValueColor: = Theme. Colors! HyperlinkFollowed
WorstValue: 0 |
| Cells [4, 4] |
Image |
MIMEType: image/png
Source: Database
Value: = IconSet ("Arrows", Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory") >=1.5, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory") >=1.2, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory") >=1.0, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory") >=0.8, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesByCategory") <0.8) |
4.2 Add the Table control from the Visual Studio toolbox to the report design interface, and set the properties of the Table control according to the following list:
| General-dataset Name: |
SalesBySupplier |
| Sort: |
Expression: = [sales volume]
Direction: Descending |
| Detailed data grouping: |
Name: tablew.detail_group
Group expression: = [Category ID] |
| Filter: |
Expression: = [sales volume]
Operator: TopN
Value: 10 |
The controls used in each cell and their attributes are as follows:
| Cell |
Widget |
Attribute |
| Cells [3, 1] |
TextBox |
Value: = Fields! Product Name. Value |
| Cells [3, 2] |
TextBox |
Value: = Fields! Company Name. Value |
| Cells [3, 3] |
TextBox |
= Fields! Sales volume. Value |
| Cells [3, 4] |
Bullet |
BestValue: 1.6
LabelFormat: 0%
Range1Boundary: 0.4
Range2Boundary: 0.8
TargetShape: Dot
TargetStyle. LineColor: Brown
TargetStyle. LineWidth: 3pt
TargetValue: 0.6
TickMarks: Inside
TicksStyle. LineColor: LightGray
TicksStyle. LineWidth: 1pt
Value = Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesBySupplier ")
ValueColor: = Theme. Colors! HyperlinkFollowed
WorstValue: 0 |
| Cells [4, 4] |
Image |
MIMEType: image/png
Source: Database
Value: = IconSet ("Flags", Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesBySupplier")> 1.2, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesBySupplier")> 1.0, Fields! Sales volume. Value/Avg (Fields! Sales volume. Value, "SalesBySupplier") <= 1.0, False, False) |
The final design results are as follows:
650) this. width = 650; "width =" 644 "height =" 395 "title =" ActiveReports report function display sales data console "style =" border-width: 0px; display: inline; "alt =" ActiveReports report function display sales data console "src =" http://www.bkjia.com/uploads/allimg/131228/20425064Q-0.png "border =" 0 "/>
5. Run the program
650) this. width = 650; "width =" 644 "height =" 495 "title =" ActiveReports report function display data visualization "style =" border-width: 0px; display: inline; "alt =" ActiveReports report function display data visualization "src =" http://www.bkjia.com/uploads/allimg/131228/2042501132-1.png "border =" 0 "/>
Online Demo and source code:
Http://www.gcpowertools.com.cn/products/activereports_demo.htm
650) this. width = 650; "width =" 644 "height =" 508 "title =" ActiveReports report function display "style =" border-width: 0px; display: inline; "alt =" ActiveReports report function display "src =" http://www.bkjia.com/uploads/allimg/131228/2042502C7-2.png "border =" 0 "/>
This article from the "grape city control blog" blog, please be sure to keep this source http://powertoolsteam.blog.51cto.com/2369428/1255872