- ?
说说自己做的数据库:我不爱玩电脑游戏,自己做数据库自己欣赏
阿鸟满麻
展开
说说自己做的数据库:我不爱玩电脑游戏,自己做数据库自己欣赏
做数据库,还得从十几年前说起。那时候我还在学校工作,财务和劳资都是自己的事,为了工作上的方便,我几乎痴迷于Excel(电子表格),各种表格和数据处理都通过电脑,真是很方便。虽然我没有参加过任何电脑等级考试,但自己在Excel方面应该是达到了中级水平。何以见得?理由有二:一是有几位学校老师参加电脑中级考试,他们的电脑试题是请我做的(开卷)。二是有几位在某单位财务处工作的朋友,一次聚会的时候,主管处财务电脑技术的朋友问过我一些Excel方面的问题,之后他说那些问题都是中级考试题,并惊讶地说我的电脑水平应该在中级以上。我没有丝毫吹牛的意思,谈到这个话题是因为我不打牌,还有不喝酒不抽烟,他们说那你会什么呢?我说我爱好电脑还有读书和运动。
玩Excel到了一定的程度,就想学更高深一点的数据库。当时想做数据库的动力,除了学习上的兴趣外,还有实际的好处,那就是便于自己对教职工的档案信息管理。刚开始我也是看C语言,记英语单词,背英语命令。忙活了个把月,总是记了新的忘了旧的,写一小段程序,要不停地翻书上的命令。后来一想,英语对我实在是太难了,高考时英语就只考了5分的我(还是靠选择题蒙的),现在更是浪费精力。想做数据库的努力被迫停止了。时间是1999年。2003年,我的办公室有了因特网(家里还没有买电脑),自学东西比以前方便了。于是,做数据库的想法再次在我心头涌起。通过学习、摸索,我发现用Access做数据库,很适合自己。中文界面,可视化操作,这款软件几乎就是为象我这样对英语一窍不通的人设计的。我高兴万分。记得一连两个月,每天晚上,我都要去办公室学习,有时高中生11点半下晚自习我才回家。星期六星期天,更是泡在办公室里。笔记记了一大本,有时被一个问题卡住了,就反复查资料,有时查不到资料,就用推理法和排除法反复操作,直到正确为止。
大概在两个多月之后,我终于做出了一个非常漂亮的,学校任何一个老师都可以可视化操作的《职工数据库》。通过这个数据库,可以随意生成《职工通讯录》、《职工个人工资条》、《职工工资待遇转移单》《职工档案信息表》等各种表格。只要我的电脑是开着的,校长要查任何一个人的资料,我几秒钟就可以搞定。后来,我把自己的成果演示给爱人看,她这才知道我晚上在办公室干什么了,也理解我了。
暑假期间,我又在《职工数据库》的基础上,做了一个《退休职工数据库》。更让我有成就感的是,后来熟练地做了一个《****区初三学生中考成绩数据库》,近万名学生,只要提供学生的一个信息,姓名或学号……,几秒种就能从上万人的库里搜出该学生的详细成绩和关联信息。
几后年学校移交地方了,我的单位也变更了几次。我备份在自己邮箱里的数据库,因为物事人非的缘故,已几年没有下载出来翻看打理了。2008年下半年的某一天,我又想起了自己的数据库。把学校的那些资料调出来温习赏玩一番之后,我觉得那个数据库与现在的要求相比,有许多需要改进的地方。于是,开始准备做一个更加完备的职工信息数据库。经过一个多月的努力,一个可以分层管理的、可视化页面非常完备的《职工信息数据库》就做成了。数据的输入、维护、查询、打印等,都有不同的口令,只有授予权限的人才能进入相应的工作界面。值得一提的是,这次我增加了两个特别的窗口,一个是彩照录入窗口,一个是个人简历录入窗口。这对自己也是一个提高,彩照的录入,可以扫描可以摄影,窗口为一寸大小。个人简历窗口,因为有多层逻辑不关联的内容并列在一起,在设计的时候遇到了一定的困难,为了减轻设计难度,“家庭成员情况”和“主要社会关系”都只设计了四栏,我想应该是基本够用了。这个数据库可以为一个上十万人的企业领导提供全方位的数据查询,只要有一部手提电脑,两秒钟就可以随时调阅任何一个职工的资料,相当方便。当然,我做这个数据库并没有任何实际的用途,纯粹是自己的个人爱好。当时我只录入了几个人的信息资料,用来对数据库进行检验,效果非常好。
一晃又是多年过去了,没事的时候看看自己的数据库,权当是一种智力游戏,就象读书写文章一样,让自己的生活充满乐趣!
- ?
数据库查询脚本编辑,EXCEL组合公式来帮忙!
Kande
展开
作为实施顾问,可能经常会接触到SQL或应用到PLSQL,查询数据库相关数据,或者修改相关参数。
如果是少量数据,直接select * from table ,或者加上条件语句where,就可以了。
但是如果遇到如下大量数据定制查询的情况呢?
这样写可是不符合语法的哦,需要加工成类似下图这个样子。
加上单引号,与分隔符,如果数量少,一个个敲进去也没关系,可是如果数据量大,一只手按单引号,一只手按向下,联合操作,也需要按很久,麻烦不说,还容易疏漏。
那么,我们可以试试用excel组合功能,来批量搞定这些符号,如下图:
记得把最后一个“,”删除哦。
当然你也可以使用CONCATENATE函数来代替“&”符号,完成内容的组合,如下图:
关于组合,你也可以这样玩:
应用到到刚才的场景,也可以把脚本调整成这样:
向下合并时,一定要注意调整列宽哦。
是不是很好玩?快来试试吧。
- ?
Excel催化剂生成完全组合笛卡尔积结果表,数据库技术落地Excel
骗子
展开
在数据库的多表查询中,通常会有各种连接关系,同样地在Excel环境中,也有很大的场景需要用到类似数据库的多表查询,如经典的VLOOKUP就是其中一种类似LEFT JOIN查询的查询效果。在很多时候需要生成一个完全数据组合时,也是需要用到数据库的笛卡尔积查询表的原理,让两个表产生任意的完全组合,此次Excel催化剂同样将非常有价值的数据库技术,搬到Excel环境中供普通用户无需掌握任何数据库查询知识,轻松一键完成所要的数据结果。
笛卡尔积查询表是什么?
简单说就是两个表的两两组合,产生不重复的记录集,如A表有10行,B表有20行,两两组合出来的结果为200行,A表的第1行与B表关联,产生20条记录,A表总共10行数据,所以总共产生了20*10=200行数据。
一般来说多表查询时,会对笛卡尔积查询表返回的结果进行筛选,如VLOOKUP的效果就是筛选出源表中LookupValue与查询表的查找列对应的某一行记录值相同的行,而不是返回所有查找表的行,所以一般笛卡尔积查询表会产生大量的数据,因其未经条件去筛选交叉后的结果表。
使用场景
很常见的一个场景,某一堆商品款号,想生成一份它所有尺码的数据表,用于关联后续其他的销售指标、库存指标等,防止因销售指标数据或库存指标数据某些数据缺失而遗漏掉部分数据,致使计算类似销售动销率、库存周转率等指标时,未能生成预期正确的结果。
原有数据
最终想要的数据结构
其实两两组合,不局限说只有一列的数据表,可以有多列的。甚至多个表也能胜任,所有操作都是一键完成。
原有数据
多个表两两组合结果
具体操作
构造好需要生成结果表的数据源
需要每个表有表头列标题,中间不断行等最基本的标准数据源结构表格要求。多个表之间列标题名不重复。
点击生成按钮即可完成。
只需简单一键,即可完成数据库管理员写一大堆SQL语句才能得到的结果,并且只需依赖于Excel的数据环境!
结果表生成
总结
无数次听到外行人动不动就说颠覆Excel、取代Excel,说这样话的人,甚至连说话的资格都没有,连Excel是什么物种都不知道,只按自己认为的Excel是什么就作一些哇纵取宠吓人的结论,实在只能显示出自己的无知。
Excel催化剂,致力于让Excel更伟大、更强大,让更多人可以享受到数据领域的各样技术的红利,数据库技术是一个非常棒的技术,Excel是一个非常棒的用户端使用软件,两者结合,借助Excel催化剂的作用,威力无穷。
- ?
2017年最全的excel函数大全10—数据库函数
Seaham
展开
上次给大家分享了《2017年最全的excel函数大全9—数学和三角函数(下)》,这次分享给大家数据库函数。
DAVERAGE 函数
描述
对列表或数据库中满足指定条件的记录字段(列)中的数值求平均值。
用法
DAVERAGE(database, field, criteria)
DAVERAGE 函数用法具有下列参数:
Database构成列表或数据库的单元格区域。 数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。 列表的第一行包含每一列的标签。Field指定函数所使用的列。 输入两端带双引号的列标签,如 使用年数 或 产量;或是代表列表中列位置的数字(不带引号):1 表示第一列,2 表示第二列,依此类推。Criteria为包含指定条件的单元格区域。 可以为参数指定 criteria 任意区域,只要此区域包含至少一个列标签,并且列标签下至少有一个在其中为列指定条件的单元格。
备注
可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。
例如,如果区域 G1:G2 在 G1 中包含列标志 Income,在 G2 中包含数量 10,000,可将此区域命名为 MatchIncome,那么在数据库函数中就可使用该名称作为参数 criteria。
虽然条件区域可以位于工作表的任意位置,但不要将条件区域置于列表的下方。 如果向列表中添加更多信息,新的信息将会添加在列表下方的第一行上。 如果列表下方的行不是空的,Excel 将无法添加新的信息。确定条件区域没有与列表相重叠。若要对数据库中的一个完整列执行操作,请在条件区域中的列标签下方加入一个空行。
案例
条件案例
在单元格中键入一个等号表示要输入公式。 要显示包括等号的文本,将文本和等号用双引号括起,如下所示:
=彭德威
如果您在输入表达式(公式、运算符和文本的组合)且要显示等号而不是使 Excel 在计算中使用等号,也可以这样操作。 例如:
=''=条目''
其中条目是要查找的文本或值。 例如:
Excel 在筛选文本数据时不区分大小写字符。 但是,您可以使用公式来执行区分大小写的搜索。
以下各节提供了复杂条件的案例。
一列中有多个条件
布尔逻辑:(销售人员 = 李小明 OR 销售人员 = 郑建杰)
要查找满足“一列中有多个条件”的行,请直接在条件区域的单独行中依次键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:B3) 显示“销售人员”列 (A8:C10) 中包含“李小明”或“郑建杰”的行。
多列中有多个条件,其中所有条件都必须为真
布尔逻辑:(类型 = 农产品 AND 销售额 1000)
要查找满足“多列中有多个条件”的行,请在条件区域的同一行中键入所有条件。
在下面的数据区域 (A6:C10) 中,条件区域 (A1:C2) 显示“类型”列中包含“农产品”并且“销售额”列 (A9:C10) 中值大于 ¥1,000 的所有行。
多列中有多个条件,其中所有条件都必须为真
布尔逻辑:(类型 = 农产品 OR 销售人员 = 李小明)
要查找满足“多列中有多个条件,其中所有条件都必须为真”的行,请在条件区域的不同行中键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中包含“农产品”或“销售人员”列 (A8:C10) 中包含“李小明”的所有行。
多个条件集,其中每个集包括用于多个列的条件
布尔逻辑:( (销售人员 = 李小明 AND 销售额 3000) OR (销售人员 = 郑建杰 AND 销售额 1500) )
要查找满足“多个条件集,其中每个集包括用于多个列的条件”的行,请在单独的行中键入每个条件集。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:C3) 显示“销售人员”列中包含“李小明”并且“销售额”列中值大于 ¥3,000 的行,或者显示“销售人员”列中包含“郑建杰”并且“销售额”列 (A9:C10) 中值大于 ¥1,500 的行。
多个条件集,其中每个集包括用于一个列的条件
布尔逻辑:( (销售额 6000 AND 销售额 6500 ) OR (销售额 500) )
要查找满足“多个条件集,其中每个集包括用于一个列的条件”的行,请在多个列中包括同一个列标题。
在下面的数据区域 (A6:C10) 中,条件区域 (C1:D3) 显示“销售额”列 (A8:C10) 中值在 6,000 和 6,500 之间以及值小于 500 的行。
查找共享某些字符而非其他字符的文本值的条件
要查找共享某些字符而非其他字符的文本值,请执行下面一项或多项操作:
键入一个或多个不带等号 (=) 的字符,以查找列中文本值以这些字符开头的行。 例如,如果键入文本“李”作为条件,则 Excel 将找到“李小明”、“李威”和“李新”。使用通配符。
可以使用下面的通配符作为比较条件。
在以下数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中以“肉”开头的行或“销售人员”列 (A7:C9) 中第二个字符为“建”的行。
将公式结果用作条件
可以将公式的计算结果作为条件使用。 记住下列要点:
公式必须计算为 TRUE 或 FALSE。因为您正在使用公式,请像您平常那样输入公式,而不要以下列方式键入表达式:
=''=条目''
不要将列标签用作条件标签;请将条件标签保留为空,或者使用区域中并非列标签的标签(在以下案例中,是“计算的平均值”和“精确匹配”)。
如果您在公式中使用列标签而不是相对单元格引用或区域名称,Excel 在包含条件的单元格中显示错误值 #NAME? 或 #VALUE!。 您可以忽略此错误,因为它不影响区域的筛选。
用作条件的公式必须使用相对引用来引用第一行中相应的单元格(在下面的案例中,是 C7 和 A7)。公式中的所有其他引用必须是绝对单元格引用。
下列各子部分提供将公式结果用作条件的具体案例。
筛选大于数据区域中所有值的平均值的值
在以下数据区域 (A6:D10) 中,条件区域 (D1:D2) 显示“销售额”列 (C7:C10) 中值大于所有“销售额”值的平均值的行。 在公式中,“C7”引用数据区域 (7) 的第一行的筛选列 (C)。
使用区分大小写的搜索筛选文本
在数据区域 (A6:D10) 中,通过使用 EXACT 函数执行区分大小写的搜索,条件区域 (D1:D2) 显示“类型”列 (A10:C10) 中包含“Produce”的行。 在公式中,“A7”引用数据区域 (7) 中首行的筛选列 (A)。
DCOUNT 函数
描述
返回列表或数据库中满足指定条件的记录字段(列)中包含数字的单元格的个数。
字段参数为可选项。 如果省略字段,DCOUNT 计算数据库中符合条件的所有记录数。
用法
DCOUNT(database, field, criteria)
DCOUNT 函数用法具有下列参数:
Database必需。 构成列表或数据库的单元格区域。 数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。 列表的第一行包含每一列的标签。Field必需。 指定函数所使用的列。 输入两端带双引号的列标签,如 使用年数 或 产量;或是代表列表中列位置的数字(不带引号):1 表示第一列,2 表示第二列,依此类推。Criteria必需。 包含所指定条件的单元格区域。 可以为参数 criteria 指定任意区域,只要此参数包含至少一个列标签,并且列标签下至少有一个在其中为列指定条件的单元格。
备注
可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。
例如,如果区域 G1:G2 在 G1 中包含列标签 Income,在 G2 中包含数量 ¥100,000,可将此区域命名为 MatchIncome,那么在数据库函数中就可使用该名称作为条件参数。
虽然条件区域可以位于工作表的任意位置,但不要将条件区域置于列表的下方。 如果向列表中添加更多信息,新的信息将会添加在列表下方的第一行上。 如果列表下方的行不是空的,Microsoft Excel 将无法添加新的信息。确定条件区域没有与列表相重叠。若要对数据库中的一个完整列执行操作,请在条件区域中的列标签下方加入一个空行。
案例
DCOUNTA 函数
描述
返回列表或数据库中满足指定条件的记录字段(列)中的非空单元格的个数。
字段参数为可选项。 如果省略字段,DCOUNTA 计算数据库中符合条件的所有记录数。
用法
DCOUNTA(database, field, criteria)
DCOUNTA 函数用法具有下列参数:
Database必需。 构成列表或数据库的单元格区域。 数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。 列表的第一行包含每一列的标签。Field可选。 指定函数所使用的列。 输入两端带双引号的列标签,如 使用年数 或 产量;或是代表列表中列位置的数字(不带引号):1 表示第一列,2 表示第二列,依此类推。Criteria必需。 包含所指定条件的单元格区域。 可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下至少有一个在其中为列指定条件的单元格。
备注
可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。
例如,如果区域 G1:G2 在 G1 中包含列标签 Income,在 G2 中包含数量 ¥100,000,可将此区域命名为 MatchIncome,那么在数据库函数中就可使用该名称作为条件参数。
虽然条件区域可以位于工作表的任意位置,但不要将条件区域置于列表的下方。 如果向列表中添加更多信息,新的信息将会添加在列表下方的第一行上。 如果列表下方的行不是空的,Excel 将无法添加新的信息。确定条件区域没有与列表相重叠。若要对数据库中的一个完整列执行操作,请在条件区域中的列标签下方加入一个空行。
案例
条件案例
在单元格中输入 =文本时,Excel 将它解释为公式并尝试计算它。 要输入=文本以使 Excel 不会尝试计算它,请使用以下用法:
=''=条目''
其中条目是要查找的文本或值。 例如:
在筛选文本数据时,Excel 不区分大小写。 但是,您可以使用公式来执行区分大小写的搜索。
以下各节提供了复杂条件的案例。
一列中有多个条件
布尔逻辑:(销售人员 = 李小明 OR 销售人员 = 郑建杰)
要查找满足“一列中有多个条件”的行,请直接在条件区域的单独行中依次键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:B3) 用于计算“销售人员”列中包含“李小明”或“郑建杰”的行。
多列中有多个条件,其中所有条件都必须为真
布尔逻辑:(类型 = 农产品 AND 销售额 2000)
要查找满足“多列中有多个条件”的行,请在条件区域的同一行中键入所有条件。
在下面的数据区域 (A6:C12) 中,条件区域 (A1:C2) 用于计算“类别”列中包含“农产品”并且“销售额”列中值大于 ¥2,000 的行。
多列中有多个条件,其中所有条件都必须为真
布尔逻辑:(类型 = 农产品 OR 销售人员 = 李小明)
要查找满足“多列中有多个条件,其中所有条件都必须为真”的行,请在条件区域的不同行中键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中包含“农产品”或“李小明”的所有行。
多个条件集,其中每个集包括用于多个列的条件
布尔逻辑:( (销售人员 = 李小明 AND 销售额 3000) OR (销售人员 = 郑建杰 AND 销售额 1500) )
要查找满足“多个条件集,其中每个集包括用于多个列的条件”的行,请在单独的行中键入每个条件集。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:C3) 用于计算“销售人员”列中包含“李小明”并且“销售额”列中值大于 ¥3,000 的行,或者用于计算“销售人员”列中包含“郑建杰”并且“销售额”列中值大于 ¥1,500 的行。
多个条件集,其中每个集包括用于一个列的条件
布尔逻辑:( (销售额 6000 AND 销售额 6500 ) OR (销售额 500) )
要查找满足“多个条件集,其中每个集包括用于一个列的条件”的行,请在多个列中包括同一个列标题。
在下面的数据区域 (A6:C10) 中,条件区域 (C1:D3) 用于计算“销售额”列中值在 ¥6,000 和 ¥6,500 之间以及值小于 ¥500 的行。
查找共享某些字符而非其他字符的文本值的条件
要查找共享某些字符而非其他字符的文本值,请执行下面一项或多项操作:
键入一个或多个不带等号 (=) 的字符,以查找列中文本值以这些字符开头的行。 例如,如果键入文本“李”作为条件,则 Excel 将找到“李小明”、“李威”和“李新”。使用通配符。
可以使用下面的通配符作为比较条件。
在以下数据区域 (A6:C10) 中,条件区域 (A1:B3) 用于计算“类型”列中以“肉”开头的行或“销售人员”列中第二个字符为“建”的行。
将公式结果用作条件
可以将公式的计算结果作为条件使用。 记住下列要点:
公式必须计算为 TRUE 或 FALSE。因为您正在使用公式,请像您平常那样输入公式,而不要以下列方式键入表达式:
=''=条目''
不要将列标签用作条件标签;请将条件标签保留为空,或者使用...
- ?
一张模板替代数百Excel,这个工具让报表工作自动进行
Nora
展开
Excel的重度用户对这个话题肯定非常感兴趣。
因为每天重复以下事情,一天两天还好,时间长了谁都受不了。
收集数据、复制、粘贴、清洗数据、转换数据,然后用固定的处理逻辑,输出同样的结果
我把这些工作称为常规工作,属于必须做,做好不出彩,做不好有责任。
作为数据民工,每天要处理非常多的数据,深有体会。相比之下,我更愿意每天处理新的需求,分析异常业务情况的数据分析工作,显然这样的价值更高。
可如果大部分的时间已被常规工作占据,哪还有时间来做更有价值的事情?
把这些工作推给别同事? —— 凭什么!拼手速、学快捷键节省时间? —— 一切不能释放你双手的办法都不是好办法。
自动化是唯一的出路!把原先需要几十分钟,几个小时甚至几天的工作内容自动化。腾出了时间,才有机会搞更有价值的东西。
一说到自动化,很多人就想到Excel宏、VBA什么的,这可是编程呀,必须VBA吗?
误会啊误会,如果是这样,我今天就不写这些文字了。
从我自己在企业的数据工作经历来看,70%的自动化都不需要VBA,VBA我只用于处理一些极个别复杂的需求。大部分常规性的报表我们都交给更专业的报表工具去开发,尤其是固定式报表,这个自动化比例能达到90%,上手难度却只是VBA的一半。
举个例子,有一份每天早上需要发布的销量报表,老板的要求是:
1)从总体,区域,产品,城市,分公司视角
2)展示当天、当月、当年的销售情况
3)还要给出利润及利润率
4)除此以外,还要展示出营业利润额的趋势。
正常不出意外的情况下,这份报表每天要花2~3个小时汇总制作。用报表工具做自动化模板后,一键刷新,整个过程不超过5分钟,只需要翘脚等待刷新完成。
这个报表工具就是FineReport。
罗列几个能解决大家报表制作的痛点,也是它广泛为人所用的亮点:
1、 制作报表高效低重复,自动化;
2、 数据填报,数据自动更新汇总;
3、 可视化dashboard真是酷炫;
一、高效做报表,1张模板顶替数百张Excel
为什么能如此高效,关键在于他做报表的逻辑。
1、FineReport自动化模板的做表逻辑
常规我们用Excel做报表,是把数据从数据库导出来,复制粘贴到一张或多张表上,然后对这个表数据做处理,每天有数据,就每天手动复制更新。
而FineReport直接是通过连接数据库,读取数据字段来设计报表模板的,和数据库实时对接。制作模板处理的对象是数据字段(区别于Excel的单元格数据)。模板中一个单元格放一个数据字段,对数据字段进行求和、求平均等各种函数公式的运算。且当这个数据字段下的数据有新增时,设置自动刷新就能一键更新报表。
其实和excel类似,excel对一个单元格做公式处理,然后下拉。这边是直接对数据字段处理,省去了下拉的过程,展示报表时,自动扩展开来,就相当于报报表结果中的每一个数据,都变成能自动计算的公式。只要你改变数据源,它将像多米诺骨牌一样,自动进行。
以下是用FineReport做报表模板时的场景,做的时候可能是仅仅一行,但预览时却是扩展出来的密密麻麻的 “风景”,这里就要谈谈它的数据是怎么展开的,即扩展原理。
FineReport报表中单元格的扩展是有方向的,可纵向扩展,也可横向扩展,也可以不扩展。
单元格的扩展是针对某一个单元格,当报表主体中绑定了多个单元格时,单元格与单元格之间依靠父子格关系跟随扩展。子格的数据会根据父格的数据进行过滤分组显示,并且还会跟随父格的扩展方向而扩展。
2、三大类报表设计方式,基本能解决日常所有报表需求,并且一表复用。
1)普通模板设计,此者最常用。依靠着单元格的扩展与父子格的关系来实现模板效果,可进行参数查询,填报报表,图表设计等。比如交叉报表、行式报表、分组报表等等。(以上↑)
2)聚合报表设计,针对不规则大报表。适用于一张模板中显示多个独立模块的报表,几个报表块汇总在一起的复杂报表。(以下↓)
3)决策报表设计,就是表单,也是dashboard,用于弥补普通报表分页预览不能展示控件的问题。同时表单可以进行自由拖拽设计,自适应页面大小显示,自由制作驾驶舱可以更好的在各种大小类型的屏幕上展示,包括移动端、大屏。
以下举例一些常见的报表格式。
交叉表
行式报表
分组报表
自由报表
3、参数实现数据查询和过滤
在很多情况下,我们需要根据条件查询数据,过滤。在FineReport中,通过设置参数绑定数据字段和过滤的控件(单选框复选框等等),参数可用JS编辑更多复杂的情况,通过界面输入查询条件来控制报表显示的内容及形式,而后导出打印。
二、数据填报自动更新汇总
做报表的另外一个难题是有关数据源的提交,审批,更新,汇总。试想你有没有经历过每天守着点等大家发邮件送Excel,挨个保存、打开、汇总数据的麻木操作。回头数据出错,还要打回重新沟通,数据采集总是最难的。
填报就是向数据库中录入数据,用于固定格式固定条件的数据收集。就好比你注册头条时提交的邮箱、收集、用户名、密码,都会按照格式存放到数据库中。
填报也需要一个模板,类似于一个可写入的操作模式,操作流程如下:
填报模板由控件组成,文本控件、数字控件、密码控件、单复选框、网页、文件等等。控件对应着数据字段。有了填报,就可以收集数据,并且允许用户实现对数据库的增删改。出于数据质量和数据安全的考虑,还可以对填报进入的数据做校验操作。
三、可视化dashboard及分析
酷炫的dashboard都需要通过FineReport的表单(决策报表)来设计展现。通过拖拽报表块、图表块和各类控件初步设计界面。
不同于普通报表,普通报表是一个整体,无法实现局部刷新。表单是由各个组件组成,可以实现组件内刷新,即局部刷新。像动态大屏都是全局或者局部刷新的,所以需要用决策报表制作实现。
决策报表制作过程
新建表单:FineReport支持新建工作薄,即普通报表模板,还支持新建表单,两种设计模式;
拖入组件:FineReport表单支持多种不同的组件类型,包括报表块、tab块、绝对画布块、参数、图表和控件等等;
定义数据集:定义各个组件数据来源,图表组件数据即可来源于数据集,也可来源于单元格;
设置表单样式:即设置表单的显示样式。
2、数据可视化与交互
大家看到上述的可视化会好奇,这是什么图表制作的。其实大多由FineReport自带的H5图表。此前有提到FineReport良好的开放性,可让IT同事写代码开发,所以在制作时,也可接入Echarts等第三方控件来制作图表。
最后
以上便是FineReport一部分功能,篇幅有限,很多细节无法展开。
要说效率,最大的好处就是从数据库中读出数据自动产生报表,且一类报表做成一个固定样式的模板,每次只要同步一下,自动生产周期性的报表,如日报、周报、月报、季报等。 每次按照条件查询,Excel批量导出/打印,少了人力去一个一个用Excel统计汇总。
而且操作上,大多数功能FineReport都封装成模块了,包括写SQL取数,汇总筛选过滤等,基本上都有对应的功能键。像著名的资产负债表,如果按照以往写代码或者写复杂的SQL语句,就有点摧残生命了,而且那天书般的SQL语句要是出点错谁来查,如果数据来自多个源,那就彻底无法解脱了。
最后,对于新手,刚开始尝试这么做时,会遇到非常多的阻力。原因有两个:
做表的思维方式完全不一样,需要适应上手finereport自动化模板需要学习新的技能你需要不断的尝试和练习。但是,当你拥有这种思维方式,掌握相应的技能后,你将深深体会到它的威力,不过切记低调、低调。
还等什么呢?赶紧解放自己,get这个技能吧!
- ?
仅需4步,轻松在Excel处理300万行数据
高垣
展开
这场软件PK,是时候分出胜负了,今天就是大结局。有必杀技在手,Excel已经看到了胜利的曙光。
在99%的人眼中,Excel能处理的最大数据是100万行,假如现在是300万行,估计都束手无策,只能寄希望于数据库。不学习真的限制了你的想象力,300万行数据Excel也能轻松统计。
300万行一个表肯定是存放不下,可以存放在多个工作表、多个工作簿甚至是数据库,不管何种储存形式,Excel都可以处理。今天,卢子就以存放在多个工作表为例进行说明。
在Excel存放着3个工作表,每个工作表100万行数据,合计300万,现在要统计每个姓名的总金额。
Step 01点数据→新建查询→从文件→从工作簿,浏览到指定的工作簿,导入,在导航器再选择工作簿的名称(相当于选中所有工作表),点编辑。
Step 02 选择Data这一列,右键选择删除其他列,再点扩展按钮,确定。展开后就看到所有数据,将第一行用作标题。
Step 03 点关闭并上载至,选择仅创建连接,勾选将此数据添加到数据模型。划重点,这一步是最重要的,不能有半点差错。数据模型就相当于一个大型的数据库,甚至可以容纳几千万行数据,正因为如此,才能让Excel突破百万行数据。
Step 04 直接创建透视表,默认情况下透视表的数据源就是数据模型中的数据,再勾选姓名和金额就完成统计。
神奇吗?有没一种想亲自体验一把的想法?
- ?
Excel到底有多厉害?小白才用来做数据管理…
惠笑旋
展开
Excel就像一把天山寒铁淬炼而成的杀猪刀,本身已经很厉害,但具体有多厉害取决于用它的人。
Excel最牛逼的地方在于它不是小李飞刀也不是轩辕剑——需要练个10年8年才能用,它只是一把菜刀,老百姓可以用来切菜,高手可以用来刮胡子,绝世高手拿着直接从南天门一直砍刀蓬莱东路。
表格是什么?表格就是数据容器,对于非IT人士来说,这辈子可能都不会用数据库,但是!Excel让每个人都可以管理数据库了!其提供的基本功能足以完成大部分数据管理统计工作。
打个比方,同事拿到全国资料开始挨个数每个省有多少个客户数了半个小时,而你只是点了两下鼠标就完成了工作。没错,在同事眼里你就是那个百年难得一见的练武奇才(以后就可以承担更多工作了,可喜可贺)!
要你命2000:数据处理(函数)
别人向你扔屎,你可以躲。客户扔给你屎,你只能接住!比如这种屎:
这种乱七八糟表格是没有任何数据意义的,如果只有三坨,动手处理一下就好了,如果有100坨,怎么办?不要紧张,我们只需要处理一行,其余99行交给excel即可。。。
首先,数据-分列:
然后,直接查找替换,将没用的天字去掉:
最后这个毛比较难以处理,动用函数:先找出具体数字,如果里面有“毛”字,直接将结果乘以0.1,一个规范的表格就诞生了:
(如无特殊需要,最后带汉字的D列可以用E列覆盖掉)
Excel也可以为自己所用,再来举一个例子:
时间管理。与一般时间管理App不同,因为我们可以自己设计研发,做出最适合自己的版本!Go!
首先写两行:
拖动一下右下角的小圆点:
同理增加横轴:
填写数据,编写公式。这样计算当天任务量:
=COUNTA(B2:P2)
这样计算完成量
这样计算完成度
=Q3/Q2
最后完成度那里设置单元格格式-数字-百分比。最后填写数据。最终效果图(点击看大图):
只要三个函数,每天的工作生活一览无遗!
P.s还可以拓展一些功能,比如当天完成度到达xx就有奖励/惩罚之类
总结:掌握了函数,只要是和数据相关的工作,就可以考虑用Excel来处理。
要你命3000:控制一切
著名篮球员赤木刚宪曾经说过,掌握代码就等于掌握了整个Excel,此言非虚。Excel自带编程功能,只有想不到,没有做不到!接下来就用解决吃饭问题做一个简单例子展示一下:
对于有选择困难症的人,让上天来决定吃啥是最好了,我们先填一点数据,如图:
然后选择开发工具-VisualBasic(为了做例子专门下了一个office365,我也是拼了= =),然后什么都不管,直接粘贴代码:
Dim a As Integer '定义公共变量Sub随机Dim x As IntegerDim y As Integera = 0Randomize '初始化reselect:x = Rnd * (3 - 1) + 1 '生成2至7的随机数,代表列数y = Rnd * (4 - 1) + 1 '生成2至6的随机数,代表行数Range("a1:d3").Interior.ColorIndex = xlNone '去掉填充色Cells(x, y).Interior.ColorIndex = 3 '填充为红色a = a + 1If a = 300 Then Exit SubGoTo reselectEnd Sub
然后保存回到excel,选择开发工具-插入-表单-按钮,画一个按钮在excel上,命名为“吃啥好”
在按钮上点右键,指定宏,选择我们刚才做的函数,然后点确定:
Excel制作的半即时战斗模拟(原文地址Excel潜能系列——Excel游戏(2v2战斗~5v5战斗模拟器)【更新V1.5】 Einsphoton_Einsphoton_新浪博客)
超牛的EXCEL版《超级玛丽》总结:掌握了代码,理论上可以用它来做任何小型项目!
用来做动画:
[Excel]Bad Apple!!
推荐书籍:
你早该这么玩Excel(数据管理、工作用)
Excel2013高级VBA编程宝典(装逼、开发用)
另外光有技巧是不够的,表格美化也很重要。(做人也一样,牛逼不够,还得帅。。。)
- ?
EXCEL玩转数据库,8种技巧,几十种功能,终于被整合一起了
蒋曼云
展开
前言:
在职场报表中,EXCEL的魔法,可以说无处不在,是一项每个人必须掌握的技能,但是在EXCEL所有的函数之中,有一种函数,称之为【数据库函数】,高效,运行速度快,专门为大数据提供,却很少为人知
收藏+转发,传播知识,是一种美德
函数解释
数据库函数均有三个相同的参数:database、field 和 criteria。这些参数指向数据库函数所使用的工作表区域。其中参数 database 为工作表上包含数据清单的区域。参数 field 为需要汇总的列的标志。参数 criteria 为工作表上包含指定条件的区域。写法为=(database、field,criteria)
本篇主要介绍DGET、dcount、daverage、dmax、dmin 5个函数,套路完全一致。
特别提醒
这是一个让人又爱又恨的函数,爱,是因为这个函数,处理数据高效,快速。
恨,是因为如果不知道原理,会出大问题的
经典应用:
用法1:以关键词开头的处理
当我们在第三个参数,如实例,输入A的时候, 实际上,计算的是以A开头的所有物料的库存DSUM函数,计算以A开头的所有库存的和dcount函数,计算以A开头的物料的个数dmax函数,计算以A开头的物料的库存的最大值dmin函数,计算以A开头的物料的库存的最小daverage函数,计算以A开头的物料的库存的平均值特别提醒,是以A开头,不是单元格值等于A!!!!在第二个参数,我们这里输入的是2,是因为返回的值,在条件区域的第二列,当然我们可以直接输入B2,就是列号也是可以的用法2:不以A为结尾,的符合条件的值,主要为中间,或是首字母为A,如果末尾为A,只要中间有A这个字符,也是符合条件的
用法3:包含A的所有符合条件的个数
用法4:和用法3一样,为包含A的符合条件的个数
用法5:第二个字符为A的符合条件的个数,且字符长度大于等于3,因为一个问号,代表一个字符
用法6:以B开头的符合条件的值,因为没有,所以都为0
用法7:
这里输入的是,先切换到英文,而后输入单引号',而后输入=A,意思是单元格值完全等于A的符合条件的个数,所以只有一个单元格
用法8:
第二个字符为A,并且长度等于3的符合条件的值的处理
数据库函数,使用方法,就介绍完了.
- ?
怎样用excel做简单的数据库?
皮灵萱
展开
点击“外部数据”页,选择“EXCEL”
在弹出的获取外部数据向导中点击”浏览“
在弹出来的浏览窗口找到EXCEL表格所存放的位置选中后点击”打开“
如无特殊数据或要求保留标题直接在后边点击完成,否则点击“下一步”根据提示修改需要的数据类型、保存标题等操作。完成后在左边可以看到数据表名,双击可以正常在ACCESS进行正常操作。
(本文内容由百度知道网友一梦中贡献)
- ?
用数据库和用Excel的区别?
门迭塔
展开
首先,我们先来说说数据库是什么?官方说法就是:按照数据结构来组织,存储和管理数据的仓库。数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。比如数据分析,数据整合等等。但是,数据库的使用成本太高,这就像每个人都是程序员一样,所以我在这里说的,是适合所有小白使用的数据库的应用软件。
Excel表格大家的熟悉程度可就非同一般了,我们几乎每天都在与Excel表格为伍,公司的财务报表,人力资源的信息,行政的考勤记录等等都是用Excel记录的,那么,在数据膨胀化的时代,Excel还能满足我们的需求吗?答案就可见一斑了~
首先,我觉得数据库的安全性要比Excel强很多,起码在我编辑到一半数据的时候,即使没有来得及保存,数据库的数据也是不会丢失的,他会永远存在于数据库里,已备我不时之需。但是这一点Excel是做不到的,我想大家都经历过数据录入一半的时候,电脑突然出现故障导致所有数据丢失的事件,当时的懊恼和无助,你可还记忆犹新??
其次,数据库的数据是可以在线共享的,这种共享是多人可以同时操作一个表格并且数据之间是不会有所干扰的,在此基础上,和你共同协作的人也可以看见你创建的数据,当然这是在你允许的情况下。而Excel的分享只能是不断的通过媒介(比如微信,QQ,邮件)来不断的转发给需要的人,当然转发的同时它已经失去了时效性。而数据最可怕的就是失去时效性。
再有,数据库的数据分析能力远远超过Excel表格,不只是在于他的图表分析,而且有强大的BI功能做数据的大集合,你可以任意将你需要的表格里任意字段提取出来作为你聚合表里的一部分,你甚至可以将不是同一个表格里的数据做任何的运算,这不就是管理层梦寐以求的数据统计报表吗?你还需要在不同的表格里花费大量的时间一点一点计算那可怜的数据吗?
以后所有的数据都将平台化,这是数据时代的大趋势,看看你是在掌握数据还是数据掌握你,就只差一个数据库了~
用excel制作数据库
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并