MyBox User Guide – Data Tools v6.7.1










MyBox: Easy Tools Set

User Guide – Data Tools



Author: Mara

Version: 6.7.1

Date: 2023-3-13


Contents

1 Introduction 8

1.1 Main Interface 8

1.2 Resources Addresses 9

1.3 Documents 10

1.4 Menu of Tools 12

2 Data in Two-dimensional Storage Structure 13

2.1 Data Objects 13

2.2 Functions Menu 14

2.3 Define Columns 15

2.3.1 Interface of Columns Management 15

2.3.2 Types of Columns 16

2.3.3 Format of Column 17

2.3.3.1 Format for Numbers 17

2.3.3.2 Format for Datetime/Date 18

2.3.3.3 Format for Era 19

2.3.3.4 Define Enumeration 20

2.3.4 Handle Invalid Values 20

2.4 Usages of Columns 21

2.4.1 Load Data 21

2.4.2 Display Data 21

2.4.3 Controls for editing 22

2.4.4 Edit Data Cell 23

2.4.5 Save Data 25

2.4.6 Calculate Data 25

2.4.7 Sort Data 26

2.4.8 Color of Column 26

2.5 Edit Data 27

2.5.1 Mode "Table" 27

2.5.2 Mode "CSV" 28

2.5.3 Save and Recover 29

2.6 View Data 30

2.6.1 View Html 30

2.6.2 View CSV 31

2.7 Define Data Attributes 32

2.8 Row Expression 33

2.8.1 Usages of Row Expression 33

2.8.2 Edit Row Expression 33

2.8.3 Calculate Row Expression 34

2.8.4 Examples 34

2.9 Row Filter 35

2.9.1 Usages of Row Filter 35

2.9.2 Edit Row Filter 35

2.9.3 Exmaples 36

2.10 Group Rows 37

2.10.1 Before and after Grouping 37

2.10.2 Usages of grouping 37

2.10.3 Ways of Data Grouping 37

2.10.4 Group by Equal Values 38

2.10.4.1 Way of Grouping 38

2.10.4.2 Implementation of Grouping 38

2.10.4.3 Results of Grouping 39

2.10.5 Group by Value Ranges 40

2.10.5.1 Way of Grouping 40

2.10.5.2 Split Date/Era 41

2.10.5.3 Edit List of “Start-End” 42

2.10.5.4 Implementation of Grouping 43

2.10.5.5 Results of Grouping 43

2.10.6 Group by Time 44

2.10.6.1 Way of Grouping 44

2.10.6.2 Implementation of Grouping 44

2.10.6.3 Results of Grouping 45

2.10.7 Group by Expression 46

2.10.7.1 Way of Grouping 46

2.10.7.2 Implementation of Grouping 46

2.10.7.3 Results of Grouping 47

2.10.8 Group by Conditions 48

2.10.8.1 Way of Grouping 48

2.10.8.2 Implementation of Grouping 48

2.10.8.3 Results of Grouping 49

2.10.9 Group by Row Number 50

2.10.9.1 Way of Grouping 50

2.10.9.2 Implementation of Grouping 50

2.10.9.3 Results of Grouping 51

2.11 Modify Data 52

2.11.1 Add Rows 53

2.11.2 Set Values 54

2.11.3 Delete 55

2.11.4 Set styles / Mark Abnormal Values 56

2.11.4.1 Manage Styles 56

2.11.4.2 Data Scope 57

2.11.4.3 Define Styles 58

2.11.4.4 Apply Styles 59

2.11.5 Paste Content in System Clipboard 60

2.11.6 Paste Content in MyBox Clipboard 61

2.12 Trim Data 62

2.12.1 Copy/Filter/Query/Convert 63

2.12.2 Sort 64

2.12.3 Transpose 65

2.12.4 Normalization 66

2.12.5 Split/Group 67

2.13 Data Calculation 68

2.13.1 Row Expression 69

2.13.2 Descriptive Statistic 70

2.13.3 Statistic in Groups 71

2.13.3.1 Options of Calculation 71

2.13.3.2 Grouped Data 72

2.13.3.3 Statistic Data 72

2.13.3.4 Data in Chart 73

2.13.3.5 XY Chart 74

2.13.3.6 Pie Chart 75

2.13.4 Simple Linear Regression 76

2.13.4.1 Base of Implementation 76

2.13.4.2 Options of Calculation 76

2.13.4.3 Regression 76

2.13.4.4 Model 77

2.13.4.5 Fitted Chart 78

2.13.4.6 Residual Chart 79

2.13.5 Simple Linear Regression - Combination 80

2.13.6 Multiple Linear Regression 81

2.13.6.1 Regression 81

2.13.6.2 Model 82

2.13.7 Multiple Linear Regression - Combination 83

2.13.8 Frequency Distributions 84

2.13.9 Values Percentage 85

2.14 Data Charts 86

2.14.1 XY Chart 87

2.14.1.1 Data 87

2.14.1.2 Bar Chart 88

2.14.1.3 Stacked Bar Chart 89

2.14.1.4 Line Chart 89

2.14.1.5 Scatter Chart 90

2.14.1.6 Bubble Chart 90

2.14.1.7 Area Chart 91

2.14.1.8 Stacked Area Chart 92

2.14.1.9 Parameters of Data in Chart 92

2.14.1.10 Layout 93

2.14.1.11 Category Axis 94

2.14.1.12 Number Axis 95

2.14.2 Pie Chart 96

2.14.3 Box-and-whisker Chart 97

2.14.3.1 Way of Calculation 97

2.14.3.2 Options of Calculation 98

2.14.3.3 Statistic Data 99

2.14.3.4 Options of Chart 99

2.14.4 Self Comparison Bars Chart 100

2.14.4.1 Way of Calculation 100

2.14.4.2 Options of Calculation 101

2.14.4.3 Options of Chart 101

2.14.5 Comparison Bars Chart 103

2.14.5.1 Way of Calculation 103

2.14.5.2 Options of Calculation 103

2.14.5.3 Options of Chart 103

2.14.6 XYZ Chart 105

2.14.6.1 3-D Scatter 106

2.14.6.2 Surface Chart 107

2.14.7 Locations Distribution 109

2.14.7.1 Options of Data 109

2.14.7.2 Data in Map 109

2.14.7.3 Options of Map 110

2.14.7.4 Options of Playing 111

2.15 Group Charts 112

2.15.1 General Manufacture 113

2.15.1.1 Group Data 113

2.15.1.2 Results of Grouping 114

2.15.1.3 Display Options of Chart 115

2.15.1.4 Options of Playing 115

2.15.2 Group Data – XY Chart 116

2.15.2.1 Specific Options to Generate Chart 116

2.15.2.2 Specific Options to Display Chart 116

2.15.3 Group Data – Pie Chart 117

2.15.3.1 Specific Options to Generate Chart 117

2.15.4 Group Data – Box-and-whisker Chart 118

2.15.4.1 Specific Options to Generate Chart 118

2.15.4.2 Specific Options to Display Chart 118

2.15.5 Group Data – Self Comparison Bars Chart 119

2.15.5.1 Specific Options to Generate Chart 119

2.15.5.2 Specific Options to Display Chart 119

2.15.6 Group Data – Comparison Bars Chart 120

2.15.6.1 Specific Options to Generate Chart 120

2.15.6.2 Specific Options to Display Chart 120

2.16 Input Data 121

2.16.1 Load Contents in System Clipboard 121

2.16.2 Import Examples 122

2.16.2.1 Personal Data 122

2.16.2.2 Statistic Data of China 123

2.16.2.3 Data of Regression 124

2.16.3 Location Data 125

2.17 Output Data 126

2.17.1 Export 127

2.17.1.1 Data Source 127

2.17.1.2 Formats of Targets 128

2.17.1.3 Target Files 128

2.17.2 Convert to Database Table 129

2.18 Manage Data 130

2.19 Splice Data 131

2.20 Data File 132

2.20.1 CSV File 132

2.20.2 Text File 133

2.20.3 Excel File 134

2.20.4 Convert/Split Data Files in Batch 135

2.20.5 Merge Data Files 136

2.21 Data in System Clipboard 137

2.22 Data in MyBox Clipboard 138

2.23 Matrix 139

2.23.1 Edit and Manage Matrices 139

2.23.2 Unary Matrix Calculation 140

2.23.3 Binary Matrices Calculation 141

2.24 Database Tables 142

2.24.1 Manage Database Tables 142

2.24.2 Limitations of SQL Identifier 143

2.24.3 Database SQL 144

2.24.4 SQL Query 145

3 Script and Expression 146

3.1 JShell(Java interactive coding tool) 146

3.1.1 About JShell 146

3.1.2 Run Jshell in GUI 146

3.2 JEXL(Java Expression Language) 148

3.2.1 About JEXL 148

3.2.2 Run JEXL in GUI 148

3.3 Javascript 150

4 Math Function 151

4.1 Define Math Functions 151

4.2 Calculate Math Function 151

4.3 Data Set 155

4.4 XY Chart of Unary Function 156

4.5 XYZ Chart of Binary Function 157

5 Data of Location 158

5.1 Data Constraints 158

5.1.1 Invalid Value 158

5.1.2 Coordinate System: 158

5.1.3 Coordinate Values 158

5.1.4 Time 158

5.1.4.1 Date Formats 158

5.1.4.2 Era 158

5.1.4.3 Examples 159

5.2 Data Operations 159

5.3 Map Data 160

5.4 Geography Code 162

5.4.1 Data Definition 162

5.4.2 Data Constraints 162

5.4.3 Edit Data 162

5.4.4 Define Condition 162

5.4.5 Import Data 162

5.4.5.1 Predefined Data 162

5.4.5.2 CSV Format 163

5.4.5.3 Data from geoname.org: 163

5.4.6 Settings 163

5.5 Location in Map 165

5.6 Location Tools 167

6 Others 168

6.1 Create Barcodes 168

6.2 Decode Barcodes 169

6.3 Message Digest 169

6.4 Encode/Decode Base64 169

6.5 Extract ttf files from ttc file 169


1 Introduction

This is desktop application based on JavaFx to provide simple and easy functions. It's free and open sources.



1.1 Main Interface














1.2 Resources Addresses


Contents

Link

Project Main Page

https://github.com/Mararsh/MyBox/

Source Codes and Compiled Packages

https://github.com/Mararsh/MyBox/releases

Submit Software Requirements and

Problem Reports

https://github.com/Mararsh/MyBox/issues

Data

https://github.com/Mararsh/MyBox_data

Documents

https://github.com/Mararsh/MyBoxDoc

Mirror Site

https://sourceforge.net/projects/mara-mybox/files/

Cloud Storage

https://pan.baidu.com/s/1fWMRzym_jh075OCX0D8y8A#list/path=%2F












1.3 Documents




Name

Version

Time

English

Chinese

Development Logs

6.7.1

2023-3-13

html

html

Shortcuts

6.7.1

2023-3-13

html

html

Functions list

6.7.1

2023-3-13

html

html

Packing Steps

6.7.1

2023-3-13

html

html

Development Guide

2.1

2020-8-27

PDF odt

PDF odt

User Guide - Overview

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Data Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Document Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Image Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - File Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Network Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Media Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

User Guide - Development Tools

6.7.1

2023-3-13

html PDF odt

html PDF odt

Examples - Information in Tree

6.6.1

2022-11-16

html

html

Examples - Favorite Address

6.6.1

2022-11-16

html

html

Examples - Notes

6.7.1

2023-3-13

html

html

Examples - SQL

6.6.1

2022-11-16

html

html

Examples - JShell

6.6.1

2022-11-16

html

html

Examples - JEXL

6.6.1

2022-11-16

html

html

Examples - JavaScript

6.6.1

2022-11-16

html

html

Examples - Math Function

6.6.1

2022-11-16

html

html

Examples - Row Filter

6.6.1

2022-11-16

html

html

About - data grouping

6.7.1

2023-3-13

html

html

About - Color

6.6.1

2022-11-16

html

html

About - Coordinate System

6.6.1

2022-11-16

html

html

About - Media

6.6.1

2022-11-16

html

html

About - Data Analysis

6.6.1

2022-11-16

html

html

About - Items in one sentence about java

6.7.1

2023-3-13

html

html

About - Items in one sentence about javafx

6.7.1

2023-3-13

html

html

Palette - Art hues wheel(RYB) - 24 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Common Web Colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Chinese Traditional Colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Japanese Traditional Colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Colors from colorhexa.com

6.7.1

2023-3-13

rgba all

rgba all

Palette - Art hues wheel(RYB) - 12 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Art hues wheel(RYB) - 360 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Optical hues wheel(RGB) - 12 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Optical hues wheel(RGB) - 24 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Optical hues wheel(RGB) - 260 colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Art paints

6.7.1

2023-3-13

rgba all

rgba all

Palette - MyBox Colors

6.7.1

2023-3-13

rgba all

rgba all

Palette - Gray scale

6.7.1

2023-3-13

rgba all

rgba all

Stories of Images

6.7.1

2023-3-13

html PDF odt

html PDF odt








1.4 Menu of Tools




















2 Data in Two-dimensional Storage Structure

2.1 Data Objects

  1. Following objects can be edited in consistent way:

  1. Data are represented as two-dimensional storage structure:














2.2 Functions Menu

Hover or click button “Functions” to pop Functions Menu.




































2.3 Define Columns

2.3.1 Interface of Columns Management

Under tab “Columns”, add/delete/change columns in table view:

  1. Column names should not be null nor duplicated.

  2. Click table cell to edit value directly.

  3. Select one row and click button “Edit” to open edit window.

  4. Can rename all columns with sequence numbers.

  5. Can set random colors.

  6. Can adjust orders of columns.

  7. Click button "OK" to apply modifications of columns to "Table" of current data.

  8. Click button "Cancel" to discard modifications of columns and pick data from "Table" of current data.

  9. When changes have not been saved, if modifications have not been applied to data, “**” is displayed in tab header, or else “*” is displayed in tab header.








2.3.2 Types of Columns

  1. Types of columns include: String, Double, Float, Long, Integer, Short, Boolean, Datetime, Date, Era, Longitude, Latitude, Enumeration, Color.

  2. This attribute is used to display, edit, calculate, and save data.

  3. Longitutde and Latitude are defined together generally.






















2.3.3 Format of Column

  1. This attribute is mainly for display. When data are inputted/edited, formats are not applied automatically and original inputs are kept.

  2. In some interfaces, like "Copy" or "Export", options "Save date/time/era and numbers as columns' formats" can be checked.

2.3.3.1 Format for Numbers

To numbers, format can be: group in thousands, group in ten thousands, scientific notation, and no format.














2.3.3.2 Format for Datetime/Date

To Datetime/Date, following are supported in formats: MM/dd/yy, yy-MM-dd, milliseconds, time zone, T separator, patch century, etc..




























2.3.3.3 Format for Era

To Era, following are supported in formats: MM/dd/yy, yy-MM-dd, milliseconds, time zone, T separator, patch century, prefix/suffix of “AD” and “BC” in Chinese and English,etc..






















2.3.3.4 Define Enumeration

To Enumeration, list of values can be defined.








2.3.4 Handle Invalid Values

  1. How columns handle invalid values, including: skip, count as empty, and count as zero.

  2. In some context, “count as empty” equals to “skip”.

  3. This attribute is only used for display or calculation. When data are inputted/edited, invalid values are not handled automatically.







2.4 Usages of Columns

Principle of column usages is “Most tolerability and least manufacture”.

2.4.1 Load Data

When load data, types of columns are not checked, and original values are read and imported.

2.4.2 Display Data

  1. Parse values as columns' types.

  2. Handle invalid values as columns' definitions.

  3. Rewrite values as columns' formats.

  4. Displayed values may be different from current actual values.

  5. Example, Column type is Double and value “abc” is read:












2.4.3 Controls for editing



































2.4.4 Edit Data Cell

  1. When user clicks a data cell in table view, editing is started. Its original value is displayed, while both type and format of column are ignored.

  2. While user inputs and modifies the value, value in the edit control is checked by column type:

  1. When focus leaves the data cell, value in the edit control is checked:

  1. Example, column type is Double, count invalid as empty, and decimal scale is 2. When read “abc”:

  1. Other data cells are not affected. That is, data cells are always in originial values if they are not changed.










2.4.5 Save Data

  1. Values are written into file of CSV/Texts/Excel as strings.

  2. Values are written into database table as nearest types:

Column Type of MyBox

Data Type of JDBC

String

VARCHAR

Double

DOUBLE

Float

FLOAT

Long

BIGINT

Integer

INT

Short

SMALLINT

Boolean

BOOLEAN

Datetime

TIMESTAMP

Date

DATE

Era

BIGINT

Longitude

DOUBLE

Latitude

DOUBLE

Enumeration

VARCHAR

Color

VARCHAR



Notice: derby does not support negative date, so Ear is saved as long.

  1. All values in Matrix are saved as Double.

2.4.6 Calculate Data

  1. Data are handled as original values, without concern about types and formats of columns.

  2. Values are parsed as need. Example, if the calculation requires double values, then try to convert values as doubles.

  3. If value conversion fails, then invalid value is handled as definition of column.

  4. Calculation itself can define how to handle invalid values. Definition of calculation priors to definition of column.

  5. Both column and calcultion can define decimal scale. Definition of calculation priors to definition of column.

  6. Example, Column type is String, and descriptive statistic is running against it:

2.4.7 Sort Data

  1. For any calculations involved in sorting, data will be translated into a temporary database table, and be sorted by database system.

  2. Results of sorting are related to columns' types. Example, string “124” is smaller than string “18”, while number “124” is bigger than number “18”.

2.4.8 Color of Column

Column color is mainly used for data charts.

When chart is generated, elements in it are displayed in colors as their columns' definitions.. Then user can set chart in random colors.





















































2.5 Edit Data

2.5.1 Mode "Table"

"Table" is the master edit mode:

    1. Its modifications are applied to other panes automatically.

    2. It is the final data to save.

    3. To string values, except for text file, multiple lines can be edited and saved:










2.5.2 Mode "CSV"

"CSV" is the assist edit mode.

    1. Click button "OK" to apply its modifications to "Table".

    2. Click button "Cancel" to discard its modifications and pick data from "Table".

    3. Click button "Delimiter" to pick data from "Table" and apply new delimiter while its modifications are discarded.

    4. If value contains delimeter or line break, it should be surrounded by quotes.




















2.5.3 Save and Recover

  1. When changes are not saved, * is displayed in tab header.

  2. Click button "Save" to write modifications to file and database:

  1. Click button "Recover" to discard all modifications and load data from file and database.
























2.6 View Data

2.6.1 View Html

  1. View data of current data.

  2. Options: Form, Title, Column Names, Row Numbers.




























2.6.2 View CSV

  1. View data of current data.

  2. Options: Form, Title, Column Names, Row Numbers.

  3. Set delimiter.




























2.7 Define Data Attributes

Data name, decimal scale, and maximum value of random.




























2.8 Row Expression

2.8.1 Usages of Row Expression

JavaScript expression can be data values when manufacture/trim/calculate data or generate chart.

2.8.2 Edit Row Expression

  1. If the script is blank, then return empty string.

  2. It can include any valid elments which Nashorn can parse(ECMAScript 5.1).

  3. It should be a value finally.

  4. It can include following placeholders:

#{TableRowNumber}

#{DataRowNumber}

#{<column_name>}

#{<column_name>- <statistic-name>}

  1. All valid placeholders are listed in left.

  2. To save the script, click "Edit" button.

  3. Hover or click button “Examples” to paste example codes.

  4. Hover or click button “Histories” to paste codes in histories.




















2.8.3 Calculate Row Expression

When MyBox evaluates the expression:

  1. Placeholders are replaced with actual values of each data row.

  2. Statistic values are calculated by all data.

  3. '#{xxx}' is handled as string while #{xxx} is handled as number.

  4. When handles all pages, script fails when it includes “#{TableRowNumber}” .

2.8.4 Examples



expression

meaning

#{DataRowNumber} % 2 == 0

data row number is even

#{TableRowNumber} % 2 == 1

odd rows in current page

Math.abs(#{v1}) + Math.PI * Math.sqrt(#{v2})

calculation

'#{v1}'.replace(/hello/ig, 'Hello')

replace all “hello”(case-insensitive) as “Hello” in column “v1”

'#{v1}'.toLowerCase()

lower case of value of column “v1”

'#{v1}'.split(‘,’)

split value of column “v1” by comma

#{v1} - #{v1-Mean}

difference between value of column “v1” and mean of column “v1”

new Date('#{time}'.replace(/-/g,'/')).getFullYear()

year of value of column “time”





2.9 Row Filter

2.9.1 Usages of Row Filter

“Row Filter” is special “Row Expression”, and can be condition to filter data rows.

2.9.2 Edit Row Filter

  1. It should be boolean value("true" or "false") finally.

  2. Can set maximum rows to take.

  3. Can be saved in tree.

















2.9.3 Exmaples



Expression

meaning

#{DataRowNumber} % 2 == 0

data row number is even

#{TableRowNumber} % 2 == 1

odd rows in current page

Math.abs(#{v1}) >= 0

value of column “v1” is number

#{v1}) > 0

value of column “v1” is larger than zero

#{v1} - #{v2} < 100

difference between values of “v1” and “v2” is less than 100

'#{v1}’ == ‘’

value of column “v1” is null or empty

'#{v1}'.length > 0

value of column “v1” is not empty

'#{v1}'.search(/Hello/ig) >= 0

value of column “v1” includes “Hello”(case-insensitive)

'#{v1}'.startsWith(‘Hello’)

value of column “v1” starts with “Hello”

var array = [ ‘A’, ‘B’, ‘C’];array.includes(‘#{v1}’)

value of column “v1” is one of “A”, “B”, “C”

#{v1} < #{v1-Mean}

value of column “v1” is less than mean of column “v1”

new Date('#{time}'.replace(/-/g,'/')).getTime() > new Date('2016/05/19 09:23:12').getTime()

value of column “time” is later than '2016/05/19 09:23:12'





























2.10 Group Rows

2.10.1 Before and after Grouping

  1. Before grouping, rows can be filtered. That is, objects of grouping are filtered rows.

  2. In order to implement sorting and statistic with database system, data are converted as temporary database table automatically before grouping.

  3. Sorting condition and maximum data number of each group can be set for grouped data.

2.10.2 Usages of grouping

With grouped data, following can be handled:

  1. Add grouping information in source data, which are 2 new columns: Group Number and Group Parameter.

  2. Split data into multiple files of groups.

  3. Calculate descriptive statistic of groups.

  4. Display following types of charts in sequence of groups dynamically: XY chart, pie chart, comparison bars chart, self comparison bars chart, box-and-whisker chart.


2.10.3 Ways of Data Grouping

MyBox supports six ways to group data:


Grouping

Results

Way

Parameters

complete

Non-intersect

Equal values

Several column names

Yes

Yes

Value Ranges

Column name + Size of split

Yes

Yes

Column name + Number of split

Yes

Yes

Column name + List of “start-end”

Possible

Possible

Time values

Column of date/time + Time unit

Yes

Yes

Expression

Row expression

Yes

Yes

Conditions

Several row filters

Possible

Possible

Row numbers

Size of split

Yes

Yes

Number of split

Yes

Yes

List of “Start-end”

Possible

Possible



Following are their descriptions.







2.10.4 Group by Equal Values

2.10.4.1 Way of Grouping

Select several columns and put rows into same group when they have same values of these columns.







2.10.4.2 Implementation of Grouping

  1. Convert data as a temporary database table

  2. Read each row and group them by equal values of selected columns. The results like executing SQL of “group by”.







2.10.4.3 Results of Grouping

  1. Complete: Each row belongs to a group.

  2. Non-intersect: Each row only belongs to one group.























2.10.5 Group by Value Ranges

2.10.5.1 Way of Grouping

Select one column and divide data by value ranges of this column.

Following 3 selections can be for the split:


















2.10.5.2 Split Date/Era

When split rows of date/era:

  1. Values of the column are converted as milliseconds.

  2. Time unit can be set.

  3. For items of “Start-End”, ranges should be in valid formats of date/era.





















2.10.5.3 Edit List of “Start-End”

  1. Add/Delete/Update start-end items in table.

  2. Set whether includes “start”/“end” for “start-end” items.

















2.10.5.4 Implementation of Grouping



2.10.5.5 Results of Grouping






2.10.6 Group by Time

2.10.6.1 Way of Grouping

Only when data include date/time columns, this way can be taken:

  1. Select a column of date/time type.

  2. Select time unit: century/year/month/day/hour/minute/second.



Examples:







2.10.6.2 Implementation of Grouping

  1. Convert data as a temporary database table.

  2. As time unit, save values are in same groups.





2.10.6.3 Results of Grouping

  1. Complete: Each row belongs to a group.

  2. Non-intersect: Each row only belongs to one group.





















2.10.7 Group by Expression

2.10.7.1 Way of Grouping

Define a row expresion, and rows are in same groups when they have same values of this expression.



Examples:







2.10.7.2 Implementation of Grouping

  1. Convert data as a temporary database table.

  2. Calculate the expression against each row, save values are in same groups.





2.10.7.3 Results of Grouping

  1. Complete: Each row belongs to a group.

  2. Non-intersect: Each row only belongs to one group.






























2.10.8 Group by Conditions

2.10.8.1 Way of Grouping

Define some row filters and data rows are divided in groups by these row filters.







2.10.8.2 Implementation of Grouping

  1. Convert data as a temporary database table.

  2. For each row filter, scan data rows to pick out group members which satisfy condition.








2.10.8.3 Results of Grouping























2.10.9 Group by Row Number

2.10.9.1 Way of Grouping

Divide data rows by their row numbers. Following 3 selections can be for the split:







2.10.9.2 Implementation of Grouping

  1. Convert data as a temporary database table.

  2. Count range of row numbers for each group.

  3. Scan data rows, and set groups as row numbers.







2.10.9.3 Results of Grouping

















2.11 Modify Data

Hover or click button “Function” to select functions under menu item “Modify”.


































2.11.1 Add Rows

  1. Select where to add new rows: Front, End, Above some row, Below some row.

  2. Set rows numberto be added.

  3. Set values for new rows. Edit controls are provided as types of columns:








2.11.2 Set Values

  1. Select data rows. Row filter can be set.

  2. Select columns to be set.

  3. Select way to set values:

  1. If handle all pages of data file, then auto-backup before set values.























2.11.3 Delete

  1. Select data rows. Row filter can be set.

  2. Option: Whether continue when error.

  3. If handle all pages of data file, then auto-backup before delete.






















2.11.4 Set styles / Mark Abnormal Values

2.11.4.1 Manage Styles

  1. Add/Edit/Delete/Rename styles.

  2. Define title and sequence number of the style.

  3. Set whether the style marks abnormal values.






























2.11.4.2 Data Scope

Define conditions to determine which data cells to apply the style:

  1. Range of data rows

  2. Column names.

  3. Row filter.



Notice, data of a row number may be changed when some rows are added or deleted. Example, when insert 2 rows before "row 6", original "row 12" becomes "row 14" while current "row 12" was "row 10".

So "row number" is not right way to locate a specific data row while rows number is changing. A way to refer sepcial rows is the expression composed of column values.




















2.11.4.3 Define Styles

  1. Font color, font size, background color, bold, etc.

  2. More values in format of JavaFx CSS.










































2.11.4.4 Apply Styles

When load data page, all styles of the data are applied to the rows one by one in order of their sequence numbers(from small to large).

When data scopes of styles are interlaced, style with larger number overrides the one with smaller number for the interlaced part.
































2.11.5 Paste Content in System Clipboard

  1. Read contents in System Clipboard.

  2. Guess delimeter and parse data.

  3. User can select a delimeter to parse data.

  4. Select how to parse:

  1. Select whether first line defines column names.

  2. Based on parsed data, select rows and columns to be pasted.

  3. Select location to paste data: row and column in target data.

  4. Select the way to paste data: Replace, Insert Above, or Append Below.












2.11.6 Paste Content in MyBox Clipboard

  1. Select data item in MyBox Clipboard.

  2. Select rows and columns to be pasted.

  3. Select location to paste data: row and column in target data.

  4. Select the way to paste data: Replace, Insert Above, or Append Below.




































2.12 Trim Data

Hoever or click button “Function” and select functions under menu item “Trim”.


































2.12.1 Copy/Filter/Query/Convert

  1. Select data rows. Row filter can be set.

  2. Select columns to be copied.

  3. Select wthether:

  1. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  2. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.
















2.12.2 Sort

  1. Select data rows. Row filter can be set.

  2. Select columns to sort and whether descending.

    Data type of column affects sorting results.

  3. Maximum rows number of results can be set.

  4. Select columns to be copied.

  5. Select whether copy row number or column name.

  6. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  7. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.






2.12.3 Transpose

  1. Select data rows. Row filter can be set.

  2. Select columns to be calculated.

  3. Select whether:

  1. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  2. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.
















2.12.4 Normalization

  1. Select data rows. Row filter can be set.

  2. Select columns to be calculated.

  3. Select objects: Accroding to Columns/rows/all.

  4. Select algorithms: MinMax(Range can be set), sum(L1), Zscore(L2).

  5. To non-numeric, skip or count as zero.

  6. Select columns to be copied.

  7. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  8. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.






2.12.5 Split/Group

  1. Select data rows. Row filter can be set.

  2. Set parameters of grouping.

  3. Select columns to be copied.

  4. Set sort conditions and maximum data rows in each group.

  5. Select whether include row numbers.

  6. Select target:







2.13 Data Calculation

Hover or click button “Function” to select functions under menu item “Calculation”.


































2.13.1 Row Expression

  1. Select data row. Data filter can be set.

  2. Select columns to be copied.

  3. Input row expression and its name.

  4. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  5. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.














2.13.2 Descriptive Statistic

  1. Select data rows. Data filter can be set.

  2. Select columns to be calculated.

  3. Select statistic items:

count, sum, mean, geometric mean, sum of squares, mode, skewness,

population variance, sample variance, population standard deviation, sample standard deviation,

minimum(Q0), lower quartile(Q1), median(Q2), upper quartile(Q3), maximum(Q4),

upper extreme outlier line(E4), upper mild outlier line(E3), lower mild outlier line(E2), lower extreme outlier line(E1)

  1. Select objects: Accroding to columns/rows/all.

  2. Set decimal scale.

  3. To non-numeric: skip or count as zero

  4. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  5. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.




2.13.3 Statistic in Groups

2.13.3.1 Options of Calculation

  1. Select data rows. Data filter can be set.

  2. Set parameters of grouping.

  3. Select columns to be calculated.

  4. Select statistic items. “Count” is always selected.

  5. Set decimal scale.

  6. To invalid numbers: set as blank or zero.












2.13.3.2 Grouped Data

After data are grouped, 2 columns are added: “Group id”, “Group Parameter”.




2.13.3.3 Statistic Data

Based on grouped data, calculate statistic values for each group.




2.13.3.4 Data in Chart

  1. Statistic data are trimmed into columns and rows for chart.

  2. If select “Display all data in chart”, then data of all pages are displayed in chart. Or else only data of current page are disaplyed in the chart.










































2.13.3.5 XY Chart

Statistic data of groups can be displayed as XY chart:

  1. Select columns to be displayed

  2. Select statistic values to be displayed.

  3. Select category axis: group parameter, or group id.

  4. Select type of XY chart.

  5. Select whether transpose the chart.

  6. Set maximum data number in the chart.








2.13.3.6 Pie Chart

Groups and their “Count” are displayed as Pie chart.

  1. Select category axis: group parameter, or group id.

  2. Set maximum data number in the chart.




















2.13.4 Simple Linear Regression

2.13.4.1 Base of Implementation

This tool is based on Apache Commons Math.

The regression does not store data, so calculation itself has not memory limitation when handle lots of rows.

2.13.4.2 Options of Calculation

  1. Select data rows. Data filter can be set.

  2. Select one column as independent variable.

  3. Select another column as dependent variable. It should not be the same column of independent variable.

  4. Set desired significance level(alpha).

  5. Select whether includes intercept.

  6. Select whether display all data in chart.

  7. Set decimal scale.

2.13.4.3 Regression

Display values status of regression steps in table, including number of observations, slope, intercept, coefficient of determination(R-Square), correlation coefficient(R), mean of squared error(MSE) , sum of squared errors(SSE), total sum of squares(SSTO), sum of squares about regression(SSM/SSR), etc.










2.13.4.4 Model

  1. Display fitted liear model.

  2. Display data status of last regression step.

  3. Input value fo independent variable, and generate predicted value.




















2.13.4.5 Fitted Chart

  1. When handle all data rows(all pages), option to display all values in chart.

When display all values in chart, need concern memory limitation when load lots of data.

Or else only values in current page will be displayed in chart while all pages involve regression, and no memory limitation.

  1. Set parameters of plot, X axis and Y axis.

  2. Options to display fitted points, fitted line, or model description in chart.

  3. Options to display data labels.

  4. Set random colors to fitted points/line.

  5. Fitted chart can be popped.

  6. Html including fitted chart and its data can be created.

  7. Display fitted chart's data in table.








2.13.4.6 Residual Chart

  1. X axis can be set as: predicted value, independent varaible, or actual value.

  2. Option whether standardize residuals.

When standardize residuals, upper line and lower line of Sigma2(95%) will be displayed.

  1. Set random color to points and lines.

  2. Display residual chart's data in table.


















2.13.5 Simple Linear Regression - Combination

This tool helps to generate data of simple linear regression:

  1. Select some columns as candidates of independent variables.

  2. Select some columns as candidates of dependent variables.

  3. Select options like decimal scale, alpha, whether include intercept.

  4. When click button "OK":

  1. Select one model and click button "View" to view its regression data, fitting chart, and residual chart.














2.13.6 Multiple Linear Regression

2.13.6.1 Regression

This tool helps to generate data of multiple linear regression based on Apache Commons Math:

  1. Select some column as independent variables, whose data should be numbers.

  2. Select a column as dependent variable, whose data should be numbers.

  3. Select whether include intercept.

  4. Click button "OK":












2.13.6.2 Model

User can input values of independent variables and predict value of dependent variable.




























2.13.7 Multiple Linear Regression - Combination

This tool helps to generate data of multiple linear regression based on Apache Commons Math:

  1. Select some columns as candidates of independent variables.

  2. Select some columns as candidates of dependent variables.

  3. Select whether include intercept.

  4. When click button "OK", the tool does following:

  1. Select one model and click button "View" to view its regression data












2.13.8 Frequency Distributions

  1. Select data row. Data filter can be set.

  2. Select one column to count frequency.

  3. Option whether case-insensitive

  4. Set decimal scale.

  5. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  6. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.




























2.13.9 Values Percentage

  1. Select data row. Data filter can be set.

  2. Select columns to be calculated.

  3. Select objects: Accroding to columns/rows/all.

  4. Set decimal scale.

  5. To negative values: skip, zero, or absoluate value.

  6. To non-numeric, skip or count as zero.

  7. Select columns to be copied

  8. Results can be written as external data, including: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table, json, xml, html, or pdf.

  9. When handle rows for current page or selected ones, results can be written in current page: insert, append, or replace data in defined location of the table.






2.14 Data Charts

Hover or click button “Function” to select functions under menu item “Charts”.






























2.14.1 XY Chart

2.14.1.1 Data

  1. Select data rows. Data filter can be set.

  2. Select type of XY Chart.

  3. Select one column as "Category Axis", to define data names.

  4. Select several columns as "Value Axis". Different value series are shown in different colors or shapes.

  5. By default, "Category Axis" is the horizontal axis and "Number Axis" is the vertical axis.

  6. To invalid data:, skip or count as zero.

  7. When display all data rows(all pages), need concern memory limitation.

  8. Click button “Menu” to set parameters of chart.

  9. Click button “Pop” to display current chart as image in popped window.

  10. Click button “Data” to display data of the chart in data table.

  11. Click button “Html” to display data of the chart in html page.














2.14.1.2 Bar Chart

  1. Represents data size with bars' heights.

  2. "Category" column is always counted as strings.




2.14.1.3 Stacked Bar Chart

  1. Represents data size with bars' heights.

  2. "Category" column is always counted as strings.










2.14.1.4 Line Chart

  1. Represents data trend with lines connecting points.

  2. "Category" column can be counted as strings or numbers.




2.14.1.5 Scatter Chart

  1. Represents data distribution with symbols.

  2. "Category" column can be counted as strings or numbers.










2.14.1.6 Bubble Chart

  1. Represents data size with circles of different radius

  2. "Category Column" and "Value Column" define coordinates of data.

  3. Select several columns as "Size Columns" to defines data size.

  4. All columns should be numbers. Size columns should be non-negative.






















2.14.1.7 Area Chart

  1. Represents data size with area size.

  2. "Category" column is always counted as strings.





2.14.1.8 Stacked Area Chart

  1. Represents data size with area size.

  2. "Category" column is always counted as strings.










2.14.1.9 Parameters of Data in Chart

  1. Options about label: not display, point, value, category, etc.

  2. Location of labels.

  3. Font size of labels.

  4. Decimal scale.




























2.14.1.10 Layout

Set parameters of plot: title, font size, location of legend, zero-lines, grid lines, line width, etc.






























2.14.1.11 Category Axis

Set parameters of category axis: label, font size, location, tick, count values as string or number, coordinate, etc.




























2.14.1.12 Number Axis

Set parameters of number axis: label, font, location, tick, coordinate, etc.






























2.14.2 Pie Chart

Data numbers are represented as percentages with a circle divided into segments.

  1. Select data rows. Data filter can be set.

  2. Select one column as "Category Axis", to define data names..

  3. Select another column as "Number Axis". Values should be non-negative.

  4. When display all data rows(all pages), need concern memory limitation

  5. Click button “Menu” to set parameters of chart.

  6. Click button “Pop” to display current chart as image in popped window.

  7. Click button “Data” to display data of the chart in data table.

  8. Click button “Html” to display data of the chart in html page.
















2.14.3 Box-and-whisker Chart

2.14.3.1 Way of Calculation

Box-and-whisker chart represents data distribution:

  1. Sort data according to column/row/all in ascending order.

  2. Following items can show aggregation and discreteness of data:

Minimum Q0 = in 0%(start) of the data list

Lower quartile Q1 = in 25% of the data list

Median Q2 = in 50%(middle) of the data list

Upper quartile Q3 = in 75% of the data list

Maximum Q4 = in 100%(end) of the data list

  1. Following values can be used to mark ourliers of data:

Lower extreme outlier line E1 = Q1 - 3 * ( Q3 - Q1 )

Lower mild outlier line E2 = Q1 - 1.5 * ( Q3 - Q1 )

Upper mild outlier line E3 = Q3 + 1.5 * ( Q3 - Q1 )

Upper extreme outlier line E4 = Q3 + 3 * ( Q3 - Q1 )

  1. Following values can be referred for discreteness:

Mean = avarage of the data list



































2.14.3.2 Options of Calculation

  1. Select data rows. Data filter can be set.

  2. Select objects: According to columns, rows(select category column), or all.

  3. Select columns to be calculated.

  4. Set conditions of sorting, and maximum data number to take.

  5. To invalid values: skip, or count as zero.

2.14.3.3 Statistic Data

Generated statistic data can be viewed and edited.






















2.14.3.4 Options of Chart

  1. Box width

  2. Whether display outliers lines or mean

  3. Whether display connection lines of values, and whether dotted lines

  4. Whether transpose

  5. Maximum data number in chart

  6. Random colors

  7. Click button “Menu” to set parameters of chart.

  8. Click button “Pop” to display current chart as image in popped window.

  9. Click button “Data” to display data of the chart in data table.

  10. Click button “Html” to display data of the chart in html page.






2.14.4 Self Comparison Bars Chart

2.14.4.1 Way of Calculation

Self comparison bars show difference between data and reference values. Bars are calculated by following rulers:

  1. If value is zero, no bar

  2. When compare as absoluate values:

maximum_value = maximum_absolute_value_of_column/row/all

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

  1. When compare as range of minimum and maximum:

maximum_value = maximum_value_of_column/row/all

minimum_value = minimum_value_of_column/row/all

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

2.14.4.2 Options of Calculation

  1. Select data rows. Data filter can be set.

  2. Select columns to be calculated.

  3. Select columns to be copied.

  4. Set conditions of sorting, and maximum data number to take.

  5. Select how to handle invalid data.

  6. Set decimal scale.

  7. When display all data rows(all pages), need concern memory limitation.

2.14.4.3 Options of Chart

  1. Select objects to compare: columns/rows/all.

  2. Select comparison way: absoluate values, or range of minimum and maximum.

  3. Set maximum width of bars.

  4. Set maximum data number in chart.

  5. Select whether display row numbers, values, percentages, categories, calculated values.

  6. Edit data in chart.

  7. Edit html of chart.










































2.14.5 Comparison Bars Chart

2.14.5.1 Way of Calculation

Comparison bars show difference between two series of data. Bars are calculated by following rulers:

  1. If value is zero, no bar

  2. When compare as absoluate values:

maximum_value = maximum_absolute_value_of_value_columns

precentage = absolute_value / maximum_value

width = maximum_width * precentage

color = If value is larger than zero, color_of_column.

If value is less than zero, inverted_color_of_column

  1. When compare as range of minimum and maximum:

maximum_value = maximum_value_of_value_columns

minimum_value = minimum_value_of_value_columns

precentage = (value - minimum_value) / (maximum_value - minimum_value)

width = maximum_width * precentage

color = color_of_column

2.14.5.2 Options of Calculation

  1. Select data rows. Data filter can be set.

  2. Select one column as category column(unnecessary).

  3. Select two columns to be compared.

  4. Select columns to be copied.

  5. Set conditions of sorting, and maximum data number to take.

  6. Set decimal scale.

  7. When display all data rows(all pages), need concern memory limitation.

2.14.5.3 Options of Chart

  1. Select comparison way: absoluate values, or range of minimum and maximum.

  2. Set maximum width of bars.

  3. Set maximum data number in chart.

  4. Select whether display row numbers, values, percentages, categories, calculated values.

  5. Edit data in chart.

  6. Edit html of chart.








































2.14.6 XYZ Chart

  1. Base on echarts-gl, 3D charts can be displayed in html with technic of WebGL.

  2. Webview of JavaFX does not support WebGL, so generated html will be displayed by system web browser.

  3. Pleas make sure your system web browser supports WebGL and does not limit local JavaScript files.


















2.14.6.1 3-D Scatter

  1. Select data rows. Data filter can be set.

  2. Select data axises:

  1. Select other columns to be popped in labels

  2. Set parameters of the chart: projection, color, width, height, whether dark, point size.








2.14.6.2 Surface Chart

  1. Select data rows. Data filter can be set.

  2. Select data axises:

  1. Select other columns to be popped in labels.

  2. Set parameters of the chart: projection, color, width, height, whether dark, wire frame.











































2.14.7 Locations Distribution

Display location data in map dynamically.

2.14.7.1 Options of Data

  1. Select data rows. Data filter can be set.

  2. Select one column for each og following: Label, Longtitude, Latitude, and Size.

  3. Select other columns to be displayed in popped labels.

  4. Select coordinate system of data.

  5. Set conditions of sorting, and maximum data number to take.

2.14.7.2 Data in Map

Data referred by map are displayed in table.








2.14.7.3 Options of Map

  1. Map type: TianDi map, or GaoDe map.

  2. Select projection and size of map.

  3. Set image and text of markers.

  4. Select whether pop information.

  5. Select controls of map.


















2.14.7.4 Options of Playing

  1. Select timer:

  1. Select whether: Loop, Reverse, Accumulate, Move Center, Link.

  2. Auto-play.

  3. Display specific frame.

  4. Buttons of navigation.

  5. Snapshot:

  1. Set maximum data number in chart.




2.15 Group Charts

Hover or click button “Function” to select functions under menu item “Group Charts”.


































2.15.1 General Manufacture

After data are grouped, generate one chart for each group, and display them in sequence dynamically.

2.15.1.1 Group Data

  1. Select data rows. Data filter can be set.

  2. Set conditions of grouping.

  3. Set specific options to generate chart.

  4. Set conditions of sorting, and maximum data number to pick.

  5. Set decimal scale, and how to handle invalid values.


















2.15.1.2 Results of Grouping

After calculation, grouped data are displayed in table.






























2.15.1.3 Display Options of Chart

  1. Specific display options of chart.

  2. Set maximum data number displayed in chart.

2.15.1.4 Options of Playing

  1. Select timer:

  1. Select whether: Loop, Reverse, Accumulate, Move Center, Link.

  2. Auto-play.

  3. Display specific frame.

  4. Buttons of navigation.

  5. Snapshot:




2.15.2 Group Data – XY Chart

2.15.2.1 Specific Options to Generate Chart

  1. Select one column as category axis.

  2. Select several columns as value axis.

2.15.2.2 Specific Options to Display Chart

  1. Type of XY chart

  2. Whether transpose
















2.15.3 Group Data – Pie Chart

2.15.3.1 Specific Options to Generate Chart

  1. Select one column as category axis.

  2. Select one column as value axis.






















2.15.4 Group Data – Box-and-whisker Chart

2.15.4.1 Specific Options to Generate Chart

  1. Select several columns to be calculated.

2.15.4.2 Specific Options to Display Chart

  1. Box width

  2. Whether display outliers lines or mean

  3. Whether display connection lines of values, and whether dotted lines

  4. Whether transpose

  5. Maximum data number in chart














2.15.5 Group Data – Self Comparison Bars Chart

2.15.5.1 Specific Options to Generate Chart

  1. Select several columns to be calculated.

  2. Select columns to be copied.

2.15.5.2 Specific Options to Display Chart

  1. Select objects to compare: columns/rows/all.

  2. Select comparison way: absoluate values, or range of minimum and maximum.

  3. Set maximum width of bars.

  4. Set maximum data number in chart














2.15.6 Group Data – Comparison Bars Chart

2.15.6.1 Specific Options to Generate Chart

  1. Select one column as category column(unnecessary).

  2. Select two columns to be compared.

  3. Select columns to be copied.

2.15.6.2 Specific Options to Display Chart

  1. Select comparison way: absoluate values, or range of minimum and maximum.

  2. Set maximum width of bars.

  3. Set maximum data number in chart










2.16 Input Data

2.16.1 Load Contents in System Clipboard

  1. Read contents in System Clipboard.

  2. Guess delimeter and parse data.

  3. User can select a delimeter to parse data.

  4. Select how to parse:

  1. Select whether first line defines column names.

  2. Based on parsed data, select rows and columns to load. Data filter can be set.






2.16.2 Import Examples

Hover or click button “Examples” and item in popped menu.

2.16.2.1 Personal Data

Record private data.






























2.16.2.2 Statistic Data of China

Data from China National Bureau of Statistics.




































2.16.2.3 Data of Regression

Data can be used to analyse models of regression.


































2.16.3 Location Data

Data can be used to generate “Location Distribution”.
































2.17 Output Data

Hover or click button “Function” to select functions under menu item “Data”.
































2.17.1 Export

2.17.1.1 Data Source

  1. Select data rows and columns.

  2. Data filter can be set.
























2.17.1.2 Formats of Targets

  1. Select targets and their formats: csv, texts, excel, xml, json, html, pdf, MyBox Clipboard.

  2. Set options of target files.

  3. Split files in maximum lines.

  4. Select whether include row numbers.

  5. Select whether save date/time/era and numbers as columns' formats.





2.17.1.3 Target Files

  1. Set target path.

  2. Select whether open files after export.






2.17.2 Convert to Database Table

  1. Select data rows. Data filter can be set.

  2. Select columns to be copied.

  3. Select whether import data.




  1. Create auto-increment column, or select some columns as primary key.





2.18 Manage Data

MyBox records definition of data objects in its internal table:



csv/excel/text files

MyBox Clipboard

Matrice

Database tables

Time to create data definition

When data file is opened for the first time

When data are copied in MyBox Clipboard

When new matrix is saved in Matrices Manager

When new table is saved in Database Table Manager

Storage location of data

Data file

Files under MyBox internal path.

Database table of MyBox

Database tables of MyBox

When delete data definition

Data file is not affected

Internal file is deleted

Data of matrix are cleared

Database table is dropped




















2.19 Splice Data

  1. Select or open two data.

  2. Select rows and columns from the two data:

  1. Options:

  1. Target can be following: new csv/excel/text file, matrix, system clipboard, MyBox clipboard, database table.
















2.20 Data File

2.20.1 CSV File

  1. In the file:

  1. When the file is opened for the first time, the tool guesses its delimiter and charset.

  2. When file is loaded abnormally, change options and click Refresh button.

  3. Data are paginated. When pages number is larger than 1, changes should be saved before run some functions.

    Options: charset, whether has first line as field names, and delimiter of data.

  4. To string values, multiple lines can be edited and saved.

  5. Data can be saved as different charsets and delimiters.




2.20.2 Text File

  1. In the file:

  1. When the file is opened for the first time, the tool guesses its delimiter and charset.

  2. When file is loaded abnormally, change options and click Refresh button.

  3. Data are paginated. When pages number is larger than 1, changes should be saved before run some functions.

    Options: charset, whether has first line as field names, and delimiter of data.

  4. Not support multiple lines in values.

  5. Data can be saved as different charsets and delimiters.




2.20.3 Excel File

  1. Choose one worksheet to handle.

  2. Worksheets can be added/renamed/deleted.

  3. In general, the first line(header) defines column names, and each of followed lines defines a row of data.

  4. If file is read abnormally, change options and click button "Refresh".

  5. Data are paginated. When pages number is larger than 1, changes should be saved before run some functions.

  6. To string values, multiple lines can be edited and saved.

  7. Data can be saved with current sheet only or all worksheets.



Notice: Tool can only handle base data in Excel file.

If file includes format, style, formula, or chart, suggest to save changes as new file to avoid data loss.










2.20.4 Convert/Split Data Files in Batch

  1. Source files' formats can be csv, excel, and text. Options of source files can be set.

  2. Target files' formats include csv, text, excel, xml, json, html, pdf. Options of target files can be set.

  3. Split files as maximum lines.


































2.20.5 Merge Data Files

  1. Set source format.

  2. Set target format.






































2.21 Data in System Clipboard

  1. Read contents in System Clipboard.

  2. Guess delimeter and parse data.

  3. User can select a delimeter to parse data.

  4. Select how to parse:

  1. Select whether first line defines column names.

















2.22 Data in MyBox Clipboard








































2.23 Matrix

2.23.1 Edit and Manage Matrices

  1. Edit matrix.

  2. Matrix can be saved and reused.




































2.23.2 Unary Matrix Calculation

Transpose, Row Echelon Form, Reduced Row Echelon Form, Determinant By Elimination, Determinant By Complement Minor, Inverse Matrix By Elimination, Inverse Matrix By Adjoint, Matrix Rank, Adjoint Matrix, Complement Minor, Normalize, Multiply Number, Divide By Number, Power.








































2.23.3 Binary Matrices Calculation

Plus, Minus, Hadamard Product, Kronecker Product, Horizontally Merge, Vertically Merge.






































2.24 Database Tables

2.24.1 Manage Database Tables

  1. View table definition.

  2. Execute SQL.






























2.24.2 Limitations of SQL Identifier

  1. Table name and column names should satisfy "Limitations of SQL identifier":

Example, AbC is same as abc and aBC.

Example, "AbC" is different from AbC or "ABC" while "ABC" is same as ABC and abc.

  1. When MyBox create name of table/column: The name will be quoted if it includes invalid character.

  2. After database table is created:






2.24.3 Database SQL

  1. Provide examples of SQL statements.

  2. List names of all user tables automatically.

  3. View table definitions of all user tables.

  4. Display outputs of execution and results of query.

  5. SQL codes can be organized as information of tree.

  6. Can load or save as external files.




















2.24.4 SQL Query

Database table has a special function menu: “Functions” - “Trim” - “Query”, which can help to input and execute SQL query:

  1. Names of table and columns are listed in left.

  2. Provide examples and record histories.



















3 Script and Expression

3.1 JShell(Java interactive coding tool)

3.1.1 About JShell

JShell is one of tools in JDK:

  1. JShell provides capability to interactively evaluate "snippets", as Read-Eval-Print Loop (REPL).

  2. "Snippet" is a single expression, statement, or declaration of Java programming language code:

  1. Extrenal Java classes should be accessible:

  1. JShell can be used for scientific computation and Java codes debug.

3.1.2 Run Jshell in GUI

This tool helps to run JShell in GUI:

  1. Input several snippets and click button "Start" to run them:

  2. Snippets are evaluated one by one.

  3. Results of snippets will affect later snippets, like "an execution environment".

  4. Attributes of all evaluated snippets will be shown in a table.

  5. Click button "Delete" or "Clear" to drop some or all snippets from current environment.

  6. Click button "Reset" to empty JShell and environment becomes blank.

  7. Press "CTRL+1" to pop list of code completion suggestions.

  8. If added MyBox class paths, all methods of MyBox can be referred.

  9. JShell codes are organized in tree. Examples are provided.






















































3.2 JEXL(Java Expression Language)

3.2.1 About JEXL

JEXL(Java Expression Language) is a library to generate values dynamically with variables and scripts.

  1. JEXL has different syntax from Java. It is more like javascript.

  2. Before run expression/script, all variables in it should have values held by JexlContext.

  3. Refer to Java classes by creating their instances as local variables. Full package name is required.

  4. JEXL can be used for scientific computation and data manufacture.

3.2.2 Run JEXL in GUI

This tool helps to run JEXL in GUI:

  1. Input JEXL expression/script.

Notice: Use single quotes instead of double quotes to surround strings.

  1. Input Java codes of setting JexlContext like following:

jexlContext.set("name", value);

Example, set following to use Math.PI in expression/script:

jexlContext.set("Math", Math.class);

  1. Input parameters of JEXL script if any. Separate values by comma.

  2. Click button "Start" to evaluate the expression/script.

  3. MyBox does following in JShell enrionment automatically:

  1. If all variables and paramters have valid values, result is shown in right pane.

  2. JEXL codes are organized in tree. Examples are provided.




























































3.3 Javascript

This tool helps to manage and run codes in JavaScript:

    1. Edit codes in JavaScript.

The script can include any valid elments which WebEngine can parse(ECMAScript 6).

    1. Run the script.

Its results are displayed in right pane. And it affects the web page in right pane too.

    1. Javascript codes are organized in tree. Examples are provided.
















4 Math Function

This tool helps to manage and calculate math functions:

4.1 Define Math Functions

  1. List names of variables of the function, separated by English comma.

The names should satisfy rules of JavaScript:

  1. Define function expression as a piece of codes in JavaScript:

  1. Define domain of the function as a piece of codes in JavaScript:

  1. Give the name of calculation result.

  2. Saved in tree.

  3. Examples are provided.

4.2 Calculate Math Function

  1. When the tool calculates a script, 'var <variable_name>=<variable_value>;' are inserted in the head of it before the evaluation.

  2. If script of domain is not blank, the given values of variables are inserted in it and check the result:


















































4.3 Data Set

With defined range, interval, and decimal scale, data set of the function can be generated.




























4.4 XY Chart of Unary Function

To unary function, XY charts, including scatter chart and line chart, can be displayed.




\

















4.5 XYZ Chart of Binary Function

To binary function, XYZ chart, including 3D scatter chart and surface chart, can be displayed.














5 Data of Location

5.1 Data Constraints

5.1.1 Invalid Value

  1. Null value of integer/long/short is the minimum value(MIN_VALUE)

  2. Null value of double is the maximum value(Double.MAX_VALUE)

5.1.2 Coordinate System:

  1. CGCS2000(China Geodetic Coordinate System), real locations and approximate to WGS-84(GPS).

  2. GCJ-02(China encrypted coordinate), encrypted data with offsets of real locations.

  3. WGS-84(GPS), real locations.

  4. BD-09(Baidu encryted coordinate), based on GCJ-02.

  5. Mapbar coordinate, based on GCJ-02.

  6. When coordinate is unknown or invalid, the default value is CGCS2000.

5.1.3 Coordinate Values

  1. Decimal values of longitude and latitude, instead of Degrees Minutes Seconds(DMS), are used when data handled.

  2. MyBox provides "Location Tools" to convert coordinate values between decimal and DMS.

  3. Valid range of longitude is `-180~180`, and valid range of latitude is `-90~90`.

5.1.4 Time

5.1.4.1 Date Formats

5.1.4.2 Era

"0 AD" = "1 BC" = "0" = "-0" = "0000" = "-0000" = "0001-01-01 00:00:00 BC" = "公元前1" = "公元前0001-01-01 00:00:00"

"1 AD" = "1" = "0001" = "0001-01-01 00:00:00" = "0001-01-01 00:00:00 AD" = "公元1" = "公元0001-01-01 00:00:00"

"202 BC" = "-203" = "-0203" = "-0203-01-01 00:00:00" = "0202-01-01 00:00:00 BC" = "公元前202" = "公元前0202-01-01 00:00:00"

"202 AD" = "202" = "0202" = "0202-01-01 00:00:00" = "0202-01-01 00:00:00 AD" = "公元202" = "公元0202-01-01 00:00:00"

5.1.4.3 Examples

2020-07-13 11:30:59

-2020-07-13 11:30:59

-581-01-23

960

公元960

公元前770-12-11

公元前1046-03-10 10:10:10

202 BC

960-01-23 AD

1046-03-10 10:10:10 BC

5.2 Data Operations

  1. Add/Delete/Edit/Copy/Clear/Refresh data.

  2. Query data:

  1. Import data in csv format:

  1. Export data:

  1. Delete/Clear data:

  1. Define, manage, and use "Conditions":

5.3 Map Data

  1. Kinds of data can be presented in map, including Geography Codes, Location Data, and Coordinate Querying.

  2. Data in map can be:

  1. TianDiTu:

  1. GaoDe Map:

  1. Adjust map level by:

  1. Marker image:

  1. Marker text

  1. Pop information:

  1. Snapshot:

  1. Keys of map can be changed in "Settings". The default keys are free and shared by all MyBox users.

5.4 Geography Code

5.4.1 Data Definition

  1. Basical attributes: id, level, longitude, latitude, chinese_name, english_name, 5 codes, 5 aliases,

  2. Subordinate: owner, continent, country, province, city, county, town, village, building. ("Ancestors")

  3. Auxiliary attributes: altitute, precision, coordinate system, area(square meters), population, comments, isPredefined.

5.4.2 Data Constraints

  1. Not null values: id, level, chinese_name or english_name.

  2. Values of "level": global(only "Earth"), continent, country, province(state), city, county(district), town, village(neighborhood), building, point of interest.

  3. Data is unnecessary to be subordinated level by level. Cross-over can happen. Example, a village is subordinated to Antarctica, and a city belongs to a country without province level.

  4. Match data:

5.4.3 Edit Data

  1. "subordinate" of data is set by selecting node in locations tree.

  2. "level" of data should be lower than its ancestors.

  3. Data must have either chinese_name or english_name.

  4. Select or display coordinate in map.

  5. Set as "Predefined data" or "Inputted data" against selected rows.

5.4.4 Define Condition

All geograhy codes in MyBox are organized as a Locations Tree by their subordination relationship. Multiple nodes can be selected.

5.4.5 Import Data

5.4.5.1 Predefined Data

Include continents, countries, Chinese provinces /cities /counties.

Countries have values of "area" and "population".

5.4.5.2 CSV Format

https://github.com/Mararsh/MyBox_data/tree/master/md/GeographyCode/en

Level,Longitude,Latitude

And "Chinese Name" or "English Name"

Altitude,Precision,Coordinate System,Square Kilometers,Population,

Code 1,Code 2,Code 3,Code 4,Code 5,Alias 1,Alias 2,Alias 3,Alias 4,Alias 5,

Continent,Country,Province,City,County,Town,Village,Building,Comments

5.4.5.3 Data from geoname.org:

http://download.geonames.org/export/zip/

countryCode postalCode placeName

adminName1 adminCode1 adminName2 adminCode2 adminName3 adminCode3

latitude longitude accuracy

5.4.6 Settings

  1. Customize colors of data rows.

  2. Provide "Default" and "Random" buttons.










































5.5 Location in Map

  1. Query geography code by:

  1. Query result can be saved in Geography Code table.
















5.6 Location Tools

  1. Convert coordinate value between decimal and DMS. Valid examples of DMS:

48°51'12.28"

-77° 3' 43.9308"

48°51'12.28"N

2°20'55.68"E

S 34° 36' 13.4028"

W 58° 22' 53.7348"

1184854.152

-320410.461

东经1184854.152

北纬320410.461

西经1184854.152

南纬320410.461

  1. Convert coordinate values as other coordinate systems.








6 Others

6.1 Create Barcodes

  1. Supported 1-d barcodes:

  1. Supported 2-d barcodes:

  1. Examples of parameters and suggested values.

  2. Validate generated barcode at once.

6.2 Decode Barcodes

  1. Supported 1-d barcodes: Code39, Code128, Interleaved2Of5, ITF_14, EAN13, EAN8, EAN_128, UPCA, UPCE

  2. Supported 2-d barcodes: QR_Code, PDF_417, DataMatrix

  3. Display contents of barcodes and its meta data including barcode type and error correction level if any.

6.3 Message Digest

  1. Create digest for files or inputted texts.

  2. Support MD2, MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512/224, SHA-512/256, SHA3-224, SHA3-256, SHA3-384, SHA3-512.

  3. Ouput: Base64, Hexadecimal, Formatted hexadecimal.

6.4 Encode/Decode Base64

  1. Encode file or texts as Base64.

  2. Decode Base64 file or Base64 texts.

  3. Set charset for texts.

  4. Output as file or texts.

6.5 Extract ttf files from ttc file



<End of Document>

Page 1 / Total 165