二维存储结构的数据

1 数据对象

1.1 外部形式

以下对象可以以一致的方式来编辑和计算:

1.2 存储结构

数据被表示为二维存储结构:

2 创建数据

可以用以下方式之一来创建新数据:

新数据是临时数据,保存时需要输入必要的参数,如文件名或表名。

3 打开数据

可以用以下方式之一来打开已存在的数据:

4 四种处理模式

4.1 页数据的网页-只读

4.2 表格-编辑

除了文本文件,对于字符串类型的数据,支持编辑和保存多行:

4.3 CSV-编辑

4.4 页数据的文本-只读

5 定义数据

在模式“表格-编辑”或模式“CSV-编辑”下, 点击按钮或菜单“定义数据”。

5.1 数据列的管理界面

在“列”页签下,在表格中增/删/改数据的列:

  1. 列名不能为空也不能重复。

  2. 直接点击表格单元以编辑

  3. 也可以选择列并点击“编辑”按钮以弹出列的编辑窗。

  4. 可以重命名所有字段为序列号。

  5. 可以随机设置颜色。

  6. 可以调整列的顺序。

  7. 点击按钮“确定”以把列的修改应用于当前数据。

  8. 点击按钮“恢复”以丢弃修改并从当前数据读取列的定义。

5.2 列的类型

  1. 列的类型包括:字串、双精度、浮点、长整型、整型、短整型、布尔型、日期时间、日期、纪元、经度、纬度、枚举型、可编辑枚举型、色彩。

  2. 此属性用于数据的显示、编辑、计算、和保存。

  3. 通常应成对定义经度和纬度。

5.3 列的格式

  1. 此属性主要用于显示,在编辑输入数值时不会自动应用格式、而是保持原始的输入。

  2. 在一些界面上,如“复制”或“导出”,可选“按照列的格式保存日期/时间/纪元和数字”。

5.3.1 数字的格式

对于数字类型,可选:以千分组、以万分组、科学计数法、无格式。

5.3.2 日期时间/日期的格式

对于日期时间/日期类型,支持:MM/dd/yy、yy-MM-dd、毫秒、时区、T分隔、补全世纪。

5.3.3 纪元的格式

对于纪元类型,支持:M/d/y、y-M-d、毫秒、时区、T分隔、补全世纪、中文前后缀(“公元”、“公元前”)、英文前后缀(“AD”、“BC”)。

5.3.4 定义枚举型

对于枚举型,可定义数值列表。

5.4 对于非法值的处理

  1. 数据列对于非法值的处理策略:略过、计为空值、计为零。

  2. 在一些上下文环境中,“计为空值”等同于“略过”。

  3. 此属性只用于显示或者计算,在编辑输入数值时不会自动处理非法值。

5.5 列的颜色

列的颜色主要用于数据图。

当数据图初始生成时,与列相关的图元素显示为列的颜色。其后用户可以设置为随机颜色。

5.6 数据的属性

在“属性”页签下,设置:数据名、小数位数、随机数的最大值、描述。

6 检验数据值

  1. 检验的对象可以是当前页中的数据行、也可以是全部数据。

  1. 以下内容被检验:

  1. 选项:

7 编辑数据

列的应用原则为:“最大包容、最少处理”。

7.1 加载数据

加载数据时,不检查列类型,原样读取和导入。

7.2 显示数据

  1. 若选择“编辑时检验数据”,则按列类型解析数值

  2. 按列的定义来处理非法值

  3. 按列的格式来重写数值

  4. 被显示的数值,可能与当前实际数值并不相同。

  5. 例如,列的类型为双精度,读入数值“abc”:

7.3 编辑的控件

  1. 对于布尔类型,显示选择框。

  2. 对于枚举类型,显示下拉选择列表。

  3. 对于颜色类型,显示调色盘。

  4. 对于经度/纬度,可在地图上选择位置。

7.4 编辑数据单元

  1. 点击可编辑的数据单元,开始编辑。

  2. 开始编辑时,数值原样显示,忽略列类型和列格式。

  3. 在输入和修改数值过程中,按列类型检查输入框中的数值。

  1. 按回车键以提交修改,按ESC键以取消修改。

  2. 选项:当焦点离开数据单元(点击其它控件)时,自动提交修改。

  3. 当修改被提交后,检查编辑框中的数值:

  1. 例如,列的类型为双精度,非法值计为空,小数位数为2。读入数值“abc”:

  1. 其它数据单元不受影响。即只要不修改数据单元,它们就一直保持原样。

  1. 选项:编辑时检验数据。即,不选此项时,编辑时不检查数据。

8 保存数据

8.1 界面操作

8.2 保存数据文件

CSV/文本/Excel文件的数值都按字符串写入。

选项:保存时检验数据。即,不选此项时,保存时不检查数据。

8.3 保存数据库表

对于数据库表的数值,总是检查类型和非空。

数据库表的数按“就近类型”写入:

MyBox的列类型

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

注: derby不支持负数的时间类型,所以只能用长整型保存纪元。

8.4 保存矩阵

对于矩阵的数值,总是检查类型和非空。

所有数值都按双精度写入。

9 计算数据

  1. 忽略列类型和列格式,用数据原值来处理,

  2. 按计算的要求解析数值。例如计算需要双精度数字,则试图将数值转换为双精度。

  3. 若数值转换失败,则按列的定义处理非法值。

  4. 计算本身也可以定义对非法值的处理策略。计算的定义优先于列的定义。

  5. 列和计算都可以定义小数位数。计算的定义优先于列的定义。

  6. 例如,列类型为字串,对它进行描述性统计:

10 数据排序

  1. 所有涉及到排序的计算,数据都会转换为临时数据库表,然后利用数据库系统来排序。

  2. 排序结果与列的类型有关。例如,字串“123”小于字串“18”,而数字“123”大于数字“18”。

11 管理数据

在内部数据表中记录数据对象的定义:


csv/excel/文本

MyBox粘贴板

矩阵

数据库表

何时增加数据的定义

当数据文件第一次被打开时

当数据复制到MyBox粘贴板中

在矩阵管理器中保存新矩阵时

在数据库表管理器中保存新数据库表时

数据的存储位置

数据文件

MyBox内部目录下的文件

MyBox数据库表

MyBox数据库表

当删除数据的定义

数据文件不受影响

删除内部文件

删除矩阵的数据

删除数据库表

12 数据文件

数据文件是外部数据,即:MyBox记录数据文件的定义、同时保持它的独立性。

在MyBox读写数据文件之后,数据文件应当仍然可以被其它方式正常读写。

12.1 CSV文件

在CSV文件中:

MyBox处理CSV文件时:

12.2 Excel文件

在Excel文件中:

MyBox处理Excel文件时:

注意:工具只能处理Excel文件的基本数据。如果文件包含格式、风格、公式、或图,建议把修改保存为新文件以免数据丢失。

12.3 文本文件

在文本文件中:

MyBox处理文本文件时:

13 临时数据文件

以下情形会生成临时数据文件:

临时数据文件为CSV格式,缺省的存放位置为MyBox内部的临时文件目录。

对于MyBox临时文件目录下的文件:

选项:将临时数据文件写在"generated"目录下。
选择此项后,临时数据文件就不会被当作“临时文件”了。


更详细的说明见《用户手册-数据工具》