
EXCEL表格统计比较麻烦,需要编写工式。
还是建议您使用“方可进销存”
方可进销存针对不同的用户需求分为:方可进销存精简版,方可进销存普及版,方可进销存标准版,方可进销存是集采购管理,销售管理,库存管理,财务管理于一体的中小企业货品进出库,财务对账管理软件,
使用“方可进销存”可以帮您带来以下的好处
一。可以很方便地为您登记好货品的出入库记录,保存历史数据,随时可以查询进出库明细报表。
二。系统根据您已经登记好的出入库单据自动生成库存报表,可以实时了解到货品的库存数量,货品成本金额等这些重要的信息。
三。系统自动生成货品出入库的明细报表,汇总报表,可按时间段来查询,可以导出EXCEL表格分析。
四。财务方面,系统自动根据您的销售单据,采购单据来统计客户的应收款和供应商的应付款情况,收了多少钱,还有多少钱没收这些问题在“方可进销存”里都是自动完成,不需要再手工计算,只需打印报表出来与客户对账即可。
五。软件可以实现多帐户管理,可以为每个帐户分配不同的权限,赋以相应的 *** 作。
六。软件中的单据可以自已设计, 要什么样的格式和风格完全可以自已去修改, *** 作简单,就像WORD一样 *** 作。
七。软件可以设置自动备份功能,可以备份您的每次状态,不用怕忘记了备份。也可以从旧的备份数据中恢复当前的数据
八。 可以建立多个账套,各账套之间的数据独立,互不影响,这种方式适合多仓库或有分公司的用户使用。
九。 单机版与网络版可以相互转换,单机版适合个体,单用户使用,网络版适合多用户,如分公司等协同办工。
十。 软件安装简单, *** 作容易,自带帮助文件和视频教程,只需几步学习即可完全掌握软件的使用。
软件下载安装试用: 在百度搜索栏中输入: 方可进销存 然后点击搜索就可以搜出来很多可以下载安装的网址了。
用表格太费事了,不出问题还好,一出问题又得找人解决,还有可能里面的数据也丢失,太不安全了。用个软件吧,财易进销存管理软件就不错,虽说开始要点钱,但是以后就是终身免费使用,这个不像有型产品,是不会坏的,就算出问题了,售后服务也是终身免费的
可以到网站免费下载试用
主要功能:
财易进销存软件主要分为销售管理,采购管理,仓库管理,财务管理,基本资料,系统设置(权限管理)六大部分主要功能包括:
基础资料:
客户资料、供应商资料、员工资料、商品资料、公司信息、类别维护。
成本价 支持采用指定单价法,移动加权平均法
采购管理:
采购收货单,可以查看未收付情况,可以直接饮用采购订单收货,可方便跟踪每个收货单的付款情况。每进货一次,成本价会自动按照移动加权平均法计算。
采购退货单:可以引用采购收货单进行采购退货,会自动减少应付款。
采购付款单:可以引用采购收货单进行付款,也可以直接给供应商进行预付款。
销售管理:
销售开单(出货单):开单后,库存减少,可作为送货单。自动产生应收款项,可方便跟踪每个销售开单的收款情况,可以设置税率,并自动显示利润,利润率等参数。
销售开单可自动引用该客户以前销售记录销售。
销售订单跟踪,了解每个订单的执行情况。
销售出库单,可以查看未收付情况,可以直接饮用销售订单收货,可方便跟踪每个销售开单的收款情况,可以设置税率,并自动显示利润,利润率等参数。
销售退货单可以引用销售单。
现款销售:直接销售出库,库存减少,并收取客户款项,不产生未收付金额。
仓库管理:
领料出库、退料入库、产品入库、物料领用、库存盘点、库存报废、仓库调拨、借入、借出、借入还出、借出还入,供方客户资料管理,供方供货汇总、明细报表。
钱流管理财务功能:
费用开支:可以做报销,办公费用的一个记载。
其他收入:可以记录一些销售以外的其他收入单。
银行存取款:记录银行存取款情况
应收账款管理:对于销售开单会自动产生应收款,可以做批单收款,也可以单个对销售开单进行收款。
应付账款管理:对于采购收货,会自动产生应付款,支持批单收款。
可以随时了解资金的状况,各个银行账号上的资金状况。
系统管理:
*** 作员管理:可以添加 业务员 管理员 老板 经理等不同角色功能的 *** 作员。
数据库备份恢复、设置密码、系统日志等。
经营分析:
库存分析:库存汇总表,库存明细表、部门领用汇总、明细报表,仓库汇总、明细报表
销售分析:销售毛利汇总、销售明细报表,销售年报表等多种报表,销售利润分析、采购付款汇总、明细报表。
采购分析:客户供货汇总、明细报表,客户付款汇总、明细报表,使公司业务情况一目了然。
三、独家特色功能:
1库存盘点时,支持库存自动盘点,支持从Excel批量导入盘点信息独家。
2开单时,支持从Excel导入商品资料信息,独家。
3独特的订单跟踪功能,支持批单收款,批单付款独家。
4完美的双单位处理功能,可以设置1件=12个,可以输入2件3个,自动计算为27个。
5商品资料设置:分组和商品资料在同一界面,所见及所得的树形界面独家。
6录入商品资料,支持拼音码,中文汉字,编码等模糊输入模式,支持手工查找输入模式,支持条码扫描模式独家。
7众多自定义特色功能,自定义表单录入界面,自定义显示界面独家。
8自由组合设置查询组合条件查询独家。
9唯一一款真正意义上可用的导入功能,初始化时可以很方便的导入商品资料、客户资料。
10可自己设置单据号格式,客户编码,商品编码格式。
何谓数据结构
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种 *** 作。
数据结构主要研究什么?
数据结构作为一门学科主要研究数据的各种逻辑结构和存储结构,以及对数据的各种 *** 作。因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的 *** 作(或算法)。通常,算法的
设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。
什么是数据结构?什么是逻辑结构和物理结构?
数据是指由有限的符号(比如,"0"和"1",具有其自己的结构、 *** 作、和相应的语义)组成的元素的集合。结构是元素之间的关系的集合。通常来说,一个数据结构DS 可以表示为一个二元组:
DS=(D,S), //ie, data-structure=(data-part,logic-structure-part) 这里D是数据元素的集合(或者是“结点”,可能还含有“数据项”或“数据域”),S是定义在D(或其他集合)上的关系的集合,S = { R | R : D×D×},称之为元素的逻辑结构。 逻辑结构有四种基本类型:集合结构、线性结构、树状结构和网络结构。表和树是最常用的两种高效数据结构,许多高效的算法可以用这两种数据结构来设计实现。表是线性结构的(全序关系),树(偏序或层次关系)和图(局部有序(weak/local orders))是非线性结构。
数据结构的物理结构是指逻辑结构的存储镜像(image)。数据结构 DS 的物理结构 P对应于从 DS 的数据元素到存储区M(维护着逻辑结构S)的一个映射:
(PD,S) -- > M 存储器模型:一个存储器 M 是一系列固定大小的存储单元,每个单元 U 有一个唯一的地址 A(U),该地址被连续地编码。每个单元 U 有一个唯一的后继单元 U'=succ(U)。 P 的四种基本映射模型:顺序(sequential)、链接(linked)、索引(indexed)和散列(hashing)映射。
因此,我们至少可以得到4×4种可能的物理数据结构:
sequential (sets)
linked lists
indexed trees
hash graphs
(并不是所有的可能组合都合理)
数据结构DS上的 *** 作:所有的定义在DS上的 *** 作在改变数据元素(节点)或节点的域时必须保持DS的逻辑和物理结构。
DS上的基本 *** 作:任何其他对DS的高级 *** 作都可以用这些基本 *** 作来实现。最好将DS和他的所有基本 *** 作看作一个整体——称之为模块。我们可以进一步将该模块抽象为数据类型(其中DS的存储结构被表示为私有成员,基本 *** 作被表示为公共方法),称之为ADT。作为ADT,堆栈和队列都是一种特殊的表,他们拥有表的 *** 作的子集。 对于DATs的高级 *** 作可以被设计为(不封装的)算法,利用基本 *** 作对DS进行处理。
好的和坏的DS:如果一个DS可以通过某种“线性规则”被转化为线性的DS(例如线性表),则称它为好的DS。好的DS通常对应于好的(高效的)算法。这是由计算机的计算能力决定的,因为计算机本质上只能存取逻辑连续的内存单元,因此如何没有线性化的结构逻辑上是不可计算的。比如对一个图进行 *** 作,要访问图的所有结点,则必须按照某种顺序来依次访问所有节点(要形成一个偏序),必须通过某种方式将图固有的非线性结构转化为线性结构才能对图进行 *** 作。
树是好的DS——它有非常简单而高效的线性化规则,因此可以利用树设计出许多非常高效的算法。树的实现和使用都很简单,但可以解决大量特殊的复杂问题,因此树是实际编程中最重要和最有用的一种数据结构。树的结构本质上有递归的性质——每一个叶节点可以被一棵子树所替代,反之亦然。实际上,每一种递归的结构都可以被转化为(或等价于)树形结构。
从机器语言到高级语言的抽象
我们知道,算法被定义为一个运算序列。这个运算序列中的所有运算定义在一类特定的数据模型上,并以解决一类特定问题为目标。这个运算序列应该具备下列四个特征。 有限性,即序列的项数有限,且每一运算项都可在有限的时间内完成;确定性,即序列的每一项运算都有明确的定义,无二义性;可以没有输入运算项,但一定要有输出运算项;可行性,即对于任意给定的合法的输入都能得到相应的正确的输出。这些特征可以用来判别一个确定的运算序列是否称得上是一个算法。 但是,我们现在的问题不是要判别一个确定的运算序列是否称得上是一个算法,而是要对一个己经称得上是算法的运算序列,回顾我们曾经如何用程序设计语言去表达它。
算法的程序表达,归根到底是算法要素的程序表达,因为一旦算法的每一项要素都用程序清楚地表达,整个算法的程序表达也就不成问题。
作为运算序列的算法,有三个要素。 作为运算序列中各种运算的运算对象和运算结果的数据;运算序列中的各种运算;运算序列中的控制转移。这三种要素依序分别简称为数据、运算和控制。 由于算法层出不穷,变化万千,其中的运算所作用的对象数据和所得到的结果数据名目繁多,不胜枚举。最简单最基本的有布尔值数据、字符数据、整数和实数数据等;稍复杂的有向量、矩阵、记录等数据;更复杂的有集合、树和图,还有声音、图形、图像等数据。 同样由于算法层出不穷,变化万千,其中运算的种类五花八门、多姿多彩。最基本最初等的有赋值运算、算术运算、逻辑运算和关系运算等;稍复杂的有算术表达式和逻辑表达式等;更复杂的有函数值计算、向量运算、矩阵运算、集合运算,以及表、栈、队列、树和图上的运算等:此外,还可能有以上列举的运算的复合和嵌套。 关于控制转移,相对单纯。在串行计算中,它只有顺序、分支、循环、递归和无条件转移等几种。
我们来回顾一下,自从计算机问世以来,算法的上述三要素的程序表达,经历过一个怎样的过程。
最早的程序设计语言是机器语言,即具体的计算机上的一个指令集。当时,要在计算机上运行的所有算法都必须直接用机器语言来表达,计算机才能接受。算法的运算序列包括运算对象和运算结果都必须转换为指令序列。其中的每一条指令都以编码(指令码和地址码)的形式出现。与算法语言表达的算法,相差十万八千里。对于没受过程序设计专门训练的人来说,一份程序恰似一份"天书",让人看了不知所云,可读性
极差。
用机器语言表达算法的运算、数据和控制十分繁杂琐碎,因为机器语言所提供的指令太初等、原始。机器语言只接受算术运算、按位逻辑运算和数的大小比较运算等。对于稍复杂的运算,都必须一一分解,直到到达最初等的运算才能用相应的指令替代之。机器语言能直接表达的数据只有最原始的位、字节、和字三种。算法中即使是最简单的数据如布尔值、字符、整数、和实数,也必须一一地映射到位、字节和字
中,还得一一分配它们的存储单元。对于算法中有结构的数据的表达则要麻烦得多。机器语言所提供的控制转移指令也只有无条件转移、条件转移、进入子程序和从子程序返回等最基本的几种。用它们来构造循环、形成分支、调用函数和过程得事先做许多的准备,还得靠许多的技巧。 直接用机器语言表达算法有许多缺点。
大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正确性、高效性。程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,即使智力超群的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠性差,且开发周期长。 由于用机器语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过
较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡。因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作。因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。这些弊端造成当时的计算机应用未能迅速得到推广。
克服上述缺点的出路在于程序设计语言的抽象,让它尽可能地接近于算法语言。 为此,人们首先注意到的是可读性和可移植性,因为它们相对地容易通过抽象而得到改善。于是,很快就出现汇编语言。这种语言对机器语言的抽象,首先表现在将机器语言的每一条指令符号化:指令码代之以记忆符号,地址码代之以符号地址,使得其含义显现在符号上而不再隐藏在编码中,可让人望"文"生义。其次表现在这种语言摆脱了具体计算机的限制,可在不同指令集的计算机上运行,只要该计算机配上汇编语言的一个汇编程序。这无疑是机器语言朝算法语言靠拢迈出的一步。但是,它离算法语言还太远,以致程序员还不能从分解算法的数据、运算和控制到汇编才能直接表达的指令等繁杂琐碎的事务中解脱出来。 到了50年代中期,出现程序设计的高级语言如Fortran,Algol60,以及后来的PL/l, Pascal等,算法的程序表达才产生一次大的飞跃。
诚然,算法最终要表达为具体计算机上的机器语言才能在该计算机上运行,得到所需要的结果。但汇编语言的实践启发人们,表达成机器语言不必一步到位,可以分两步走或者可以筑桥过河。即先表达成一种中介语言,然后转成机器语言。汇编语言作为一种中介语言,并没有获得很大成功,原因是它离算法语
言还太远。这便指引人们去设计一种尽量接近算法语言的规范语言,即所谓的高级语言,让程序员可以用它方便地表达算法,然后借助于规范的高级语言到规范的机器语言的"翻译",最终将算法表达为机器语言。而且,由于高级语言和机器语言都具有规范性,这里的"翻译"完全可以机械化地由计算机来完成,就像汇编语言被翻译成机器语言一样,只要计算机配上一个编译程序。 上述两步,前一步由程序员去完成,后一步可以由编译程序去完成。在规定清楚它们各自该做什么之后,这两步是完全独立的。它们各自该如何做互不相干。前一步要做的只是用高级语言正确地表达给定的算法,产生一个高级语言程序;后一步要做的只是将第一步得到的高级语言程序翻译成机器语言程序。至于程序员如何用高级语言表达算法和编译程序如何将高级语言表达的算法翻译成机器语言表达的算法,显然毫不相干。
处理从算法语言最终表达成机器语言这一复杂过程的上述思想方法就是一种抽象。汇编语言和高级语言的出现都是这种抽象的范例。 与汇编语言相比,高级语言的巨大成功在于它在数据、运算和控制三方
面的表达中引入许多接近算法语言的概念和工具,大大地提高抽象地表达算法的能力。 在运算方面,高级语言如Pascal,除允许原封不动地运用算法语言的四则运算、逻辑运算、关系运算、算术表达式、逻辑表达式外,还引入强有力的函数与过程的工具,并让用户自定义。这一工具的重要性不仅在于它精简了重复的程序文本段,而且在于它反映出程序的两级抽象。
在函数与过程调用级,人们只关心它能做什么,不必关心它如何做。只是到函数与过程的定义时,人们才给出如何做的细节。用过高级语言的读者都知道,一旦函数与过程的名称、参数和功能被规定清楚,那么,在程序中调用它们便与在程序的头部说明它们完全分开。你可以修改甚至更换函数体与过程体,而不影响它们的被调用。如果把函数与过程名看成是运算名,把参数看成是运算的对象或运算的结果,那么
,函数与过程的调用和初等运算的引用没有两样。利用函数和过程以及它们的复合或嵌套可以很自然地表达算法语言中任何复杂的运算。
在数据方面,高级语言如Pascal引人了数据类型的概念,即把所有的数据加以分类。每一个数据(包括表达式)或每一个数据变量都属于其中确定的一类。称这一类数据为一个数据类型。 因此,数据类型是数据或数据变量类属的说明,它指示该数据或数据变量可能取的值的全体。对于无结构的数据,高级语言如Pascal,除提供标准的基本数据类型--布尔型、字符型、整型和实型外,还提供用户可自定义的枚举类、子界类型和指针类型。这些类型(除指针外),其使用方式都顺应人们在算法语言中使用的习惯。对于有结构的数据,高级语言如Pascal,提供了数组、记录、有限制的集合和文件等四种标准的结构数据类型。其中,数组是科学计算中的向量、矩阵的抽象;记录是商业和管理中的记录的抽象;有限制的集合是数学中足够小的集合的势集的抽象;文件是诸如磁盘等外存储数据的抽象。
人们可以利用所提供的基本数据类型(包括标准的和自定义的),按数组、记录、有限制的集合和文件的构造规则构造有结构的数据。 此外,还允许用户利用标准的结构数据类型,通过复合或嵌套构造更复杂更高层的结构数据。这使得高级语言中的数据类型呈明显的分层。 高级语言中数据类型的分层是没有穷尽的,因而用它们可以表达算法语言中任何复杂层次的数据。 在控制方面,高级语言如Pascal,提供了表达算法控制转移的六种方式。
(1)缺省的顺序控制";"。
(2)条件(分支)控制:"if表达式(为真)then S1 else S2;" 。
(3)选择(情况)控制:
"Case 表达式 of
值1: S1
值2: S2
值n: Sn
end"
(4)循环控制:
"while 表达式(为真) do S;" 或
"repeat S until 表达式(为真);" 或
"for变量名:=初值 to/downto 终值do S;"
(5)函数和过程的调用,包括递归函数和递归过程的调用。
(6)无条件转移goto。
这六种表达方式不仅覆盖了算法语言中所有控制表达的要求,而且不再像机器语言或汇编语言那样原始、那样繁琐、那样隐晦,而是如上面所看到的,与自然语言的表达相差无几。 程序设计语言从机器语言到高级语言的抽象,带来的主要好处是: 高级语言接近算法语言,易学、易掌握,一般工程技术人员只要几周时间的培训就可以胜任程序员的工作;高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高;高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高; 由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程、序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高、程序的质量。
数据结构、数据类型和抽象数据类型
数据结构、数据类型和抽象数据类型,这三个术语在字面上既不同又相近,反映出它们在含义上既有区别又有联系。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由哪些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,物理上的数据结构反映成分数据在计算机内的存储安排。数据结构是数据存在的形式。
数据是按照数据结构分类的,具有相同数据结构的数据属同一类。同一类数据的全体称为一个数据类型。在程序设计高级语言中,数据类型用来说明一个数据在数据分类中的归属。它是数据的一种属性。这个属性限定了该数据的变化范围。为了解题的需要,根据数据结构的种类,高级语言定义了一系列的数据类型。不同的高级语言所定义的数据类型不尽相同。Pascal语言所定义的数据类型的种类。
其中,简单数据类型对应于简单的数据结构;构造数据类型对应于复杂的数据结构;在复杂的数据结构里,允许成分数据本身具有复杂的数据结构,因而,构造数据类型允许复合嵌套;指针类型对应于数据结构中成分数据之间的关系,表面上属简单数据类型,实际上都指向复杂的成分数据即构造数据类型中的数据,因此这里没有把它划入简单数据类型,也没有划入构造数据类型,而单独划出一类。
数据结构反映数据内部的构成方式,它常常用一个结构图来描述:数据中的每一项成分数据被看作一个结点,并用方框或圆圈表示,成分数据之间的关系用相应的结点之间带箭号的连线表示。如果成分数据本身又有它自身的结构,则结构出现嵌套。这里嵌套还允许是递归的嵌套。
由于指针数据的引入,使构造各种复杂的数据结构成为可能。按数据结构中的成分数据之间的关系,数据结构有线性与非线性之分。在非线性数据结构中又有层次与网状之分。 由于数据类型是按照数据结构划分的,因此,一类数据结构对应着一种数据类型。数据类型按照该类型中的数据所呈现的结构也有线性与非线性之分,层次与网状之分。一个数据变量,在高级语言中的类型说明必须是读变量所具有的数据结构所对应的数据类型。最常用的数据结构是数组结构和记录结构。数组结构的特点是:
成分数据的个数固定,它们之间的逻辑关系由成分数据的序号(或叫数组的下标)来体现。这些成分数据按照序号的先后顺序一个挨一个地排列起来。每一个成分数据具有相同的结构(可以是简单结构,也可以是复杂结构),因而属于同一个数据类型(相应地是简单数据类型或构造数据类型)。这种同一的数据类型称为基类型。所有的成分数据被依序安排在一片连续的存储单元中。 概括起来,数组结构是一个线性的、均匀的、其成分数据可随机访问的结构。
由于这、种结构有这些良好的特性,所以最常被人们所采用。在高级语言中,与数组结构相对应的、数据类型是数组类型,即数组结构的数据变量必须说明为array [i] of T0 ,其中i是数组、结构的下标类型,而T0是数组结构的基类型。 记录结构是另一种常用的数据结构。它的特点是:与数组结构一样,成分数据的个数固定。但成分数据之间没有自然序,它们处于平等地位。每一个成分数据被称为一个域并赋予域名。不同的域有不同的域名。不同的域允许有不同的结构,因而允许属于不同的数据类型。与数组结构一样,它们可以随机访问,但访问的途径靠的是域名。在高级语言中记录结构对应的数据类型是记录类型。记录结构的数据的变量必须说明为记录类型。
抽象数据类型的含义在上一段已作了专门叙述。它可理解为数据类型的进一步抽象。即把数据类型和数据类型上的运算捆在一起,进行封装。引入抽象数据类型的目的是把数据类型的表示和数据类型上运算的实现与这些数据类型和运算在程序中的引用隔开,使它们相互独立。对于抽象数据类型的描述,除了必须描述它的数据结构外,还必须描述定义在它上面的运算(过程或函数)。抽象数据类型上定义的过程和函
数以该抽象数据类型的数据所应具有的数据结构为基础。
泛型设计和数据结构与算法
下面我想再说说关于泛型程序设计模型对于数据结构和算法方面的最新推动,泛型思想已经把数据结
构和算法方面的基本思想抽象到了一个前所未有的高度,现在有多种程序设计语言支持泛型设计,比如
ADA,C++,而且据说在JAVA的下一版本和C#中也将对泛型设计进行全面的支持。
先说说泛型设计的基本思想:泛型编程(generic programming,以下直接以GP称呼)是一种全新的程序设计思想,和OO,OB,PO这些为人所熟知的程序设计想法不同的是GP抽象度更高,基于GP设计的组件之间偶合度底,没有继承关系,所以其组件间的互交性和扩展性都非常高。我们都知道,任何算法都是作用在一种特定的数据结构上的,最简单的例子就是快速排序算法最根本的实现条件就是所排序的对象是存
贮在数组里面,因为快速排序就是因为要用到数组的随机存储特性,即可以在单位时间内交换远距离的对象,而不只是相临的两个对象,而如果用联表去存储对象,由于在联表中取得对象的时间是线性的既O[n],这样将使快速排序失去其快速的特点。也就是说,我们在设计一种算法的时候,我们总是先要考虑其应用的数据结构,比如数组查找,联表查找,树查找,图查找其核心都是查找,但因为作用的数据结构不同
将有多种不同的表现形式。数据结构和算法之间这样密切的关系一直是我们以前的认识。泛型设计的根本思想就是想把算法和其作用的数据结构分离,也就是说,我们设计算法的时候并不去考虑我们设计的算法将作用于何种数据结构之上。泛型设计的理想状态是一个查找算法将可以作用于数组,联表,树,图等各种数据结构之上,变成一个通用的,泛型的算法。这样的理想是不是很诱惑人?
泛型编程带来的是前所未有的d性以及不会损失效率的抽象性,GP和OO不同,它不要求你通过额外的间接层来调用函数:它让你撰写完全一般化并可重复使用的算法,其效率与针对特定数据结构而设计的算法旗鼓相当。我们大家都知道数据结构在C++中可以用用户定义类型来表示,而C++中的模板技术就是以类型作为参数,那么我可以想象利用模板技术可以实现我们开始的GP思想,即一个模板函数可以对于各种传递进来的类型起作用,而这些类型就可以是我们定义的各种数据结构。
泛型算法抽离于特定类型和特定数据结构之外,使得其适应与尽可能的一般化类型,算法本身只是为了实现算法其需要表达的逻辑本质而不去被为各种数据结构的实现细节所干扰。这意味着一个泛型算法实际具有两部分。1,用来描叙算法本质逻辑的实际指令;2,正确指定其参数类型必须满足的性质的一组需求条件。到此,相信有不少人已经开始糊涂了,呵呵,不要紧。毕竟GP是一种抽象度非常高的程序设计思想,里面的核心就是抽象条件成为成为程序设计过程中的核心,从而取代了类型这在OO里面的核心地位,正是因为类型不在是我们考虑的重点,类型成为了抽象条件的外衣,所以我们称这样的程序思想为泛型思想------把类型泛化。
这样可以么?
我认为老款财务软件ZCJ的比较好,象金蝶标准版75SP2版本带ZCJ的很稳定,报表很好设置,有一个小手,点开后,功能键F7,取数,设置成功后,很便捷,金蝶是人机结合最好的软件,这个版本,百度一下很容易找到。试一下,很多事务所代理记账都用这款软件软件。
1Pop(PrototypingonPaper)
POP是一款设计界面的原型工具,适用于iOS和Android平台。借助POP,开发者或设计师只需在纸上简单地描绘出创意或想法,拍下几张草图照片,并将照片按顺序放置,利用链接点描摹出各张之间的逻辑关系,就可轻松创建一个动态模型,点击播放即可演示整个模型。追求手绘风格及快速原型的产品经理和设计师(对于短期内使用免费原型工具的人群来说,这也不失为一个好选择)
2Mockplus
Mockplus是一款简洁高效的免费产品原型工具。它为用户提供丰富的组件和图标资源,通过拖曳即可实现界面设计。支持一键导入项目页面和模板,快速搭建基础页面。软件还支持自定义组件库,数据填充,Sketch导入,拖曳设置交互等特色功能实现快速设计。近期,该工具还推出了团队协作功能,团队成员之间可以查看、编辑、评论项目,帮助用户更好地完成协作设计。适用人群:各阶段的产品经理及UI/UX设计师,追求中低保真,交互效果,快速原型,新手或专业人群皆适宜。
3Axure
AxureRP是美国AxureSoftwareSolution公司旗舰产品,是一个专业的快速产品原型工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理。适用于追求强交互效果及细节产品经理及设计师,需要具有一定经验或较强专业性。
4Protoio
Protoio是一个专门用于移动应用的产品原型工具——可以构建和部署全交互式的移动应用的原型,并且可以模拟出相似的成品。基于Web的在线环境,它可以让你制作流行的iPhone,iPad,Android手机以及任何带有屏幕界面的产品原型。并且它可以运行在大多数的浏览器中,并提供了3个重要的接口:dashboard、编辑器以及播放器。擅长于使用Web浏览器的产品经理或设计师。
5BalsamiqMockups
BalsamiqMockups是一款软件工程中快速产品原型工具,可以作为与用户交互的一个界面草图,一旦客户认可也可以作为美工开发HTML的原型使用,特别是在web原型图设计领域有不错的影响力。使用BalsamiqMockups画出的原型图都是手绘风格的图像,看上去非常美观、清爽。此外,这款工具支持几乎所有的HTML控件原型图,比如按钮(基本按钮、单选按钮等)、文本框、下拉菜单、树形菜单、进度条、多选项卡、颜色控件、表格、Windows窗体等。除此以外,还支持iPhone手机元素原型图。适用人群:需要生成简单原型(草图)的产品经理或设计师。
输入控件和显示控件用于创建前面板,它们分别是VI 的交互式输入和输出端口。输入控件指旋钮、按钮、转盘等输入装置。显示控件指图形、指示灯等输出装置。输入控件模拟仪器的输入装置,为VI 的程序框图提供数据。显示控件模拟仪器的输出装置,显示程序框图获取或生成的数据
控件的种类有:数值控件(如滑动杆和旋钮)、图形、图表、布尔控件(如按钮和开关)、字符串、路径、数组、簇、列表框、树形控件、表格、下拉列表控件、枚举控件和容器控件等等。
前面板控件有新式、经典和系统三种样式。
新式及经典控件
许多前面板对象具有高彩外观。为了获取对象的最佳外观,显示器最低应设置为16 色位。位于新式面板上的控件也有相应的低彩对象。经典选板上的控件适于创建在256 色和16 色显示器上显示的VI。
系统控件
位于系统选板上的系统控件可用在用户创建的对话框中。系统控件专为在对话框中使用而特别设计,包括下拉列表和旋转控件、数值滑动杆、进度条、滚动条、列表框、表格、字符串和路径控件、选项卡控件、树形控件、按钮、复选框、单选按钮和自动匹配父对象背景色的不透明标签。这些控件仅在外观上与前面板控件不同,颜色与系统设置的颜色一致。系统控件的外观取决于VI 运行的平台,因此在VI 中创建的控件外观应与所有LabVIEW 平台兼容。在不同的平台上运行VI 时,系统控件将改变其颜色和外观,与该平台的标准对话框控件相匹配。
数值显示框、滑动杆、滚动条、旋钮、转盘和时间标识
位于数值和经典数值选板上的数值对象可用于创建滑动杆、滚动条、旋钮、
转盘和数值显示框。该选板上还有颜色盒和颜色梯度,用于设置颜色值;以
及时间标识,用于设置时间和日期值。数值对象用于输入和显示数值。
数值控件
数值控件是输入和显示数值数据的最简单方式。这些前面板对象可在水平方
向上调整大小,以显示更多位数。使用下列方法改变数值控件的值:
• 用 *** 作工具或标签工具单击数字显示框,然后通过键盘输入数字。
• 用 *** 作工具单击数值控件的递增或递减箭头。
• 使用 *** 作工具或标签工具将光标放置于需改变的数字右边,然后在键盘
上按向上或向下箭头键。
默认状态下, LabVIEW 的数字显示和存储与计算器类似。数值控件一般最
多显示6 位数字,超过6 位自动转换为以科学计数法表示。右键单击数值
对象并从快捷菜单中选择格式与精度,打开数值属性对话框的格式与精度选
项卡,从中配置LabVIEW 在切换到科学计数法之前所显示的数字位数。
滑动杆控件
滑动杆控件是带有刻度的数值对象。滑动杆控件包括垂直和水平滑动杆、液
罐和温度计。可使用下列方法改变滑动杆控件的值:
• 使用 *** 作工具单击或拖曳滑块至新的位置。
• 与数值控件中的 *** 作类似,在数字显示框中输入新数据。
滑动杆控件可以显示多个值。右键单击该对象,在快捷菜单中选择添加滑
块,可添加更多滑块。带有多个滑块的控件的数据类型为包含各个数值的
簇。
关于簇的更多信息见第9 章用字符串、数组和簇将数据分组中的簇一节。
滚动条控件
与滑动杆控件相似,滚动条控件是用于滚动数据的数值对象。滚动条控件有
水平和垂直滚动条两种。使用 *** 作工具单击或拖曳滑块至一个新的位置,单
击递增和递减箭头,或单击滑块和箭头之间的空间都可以改变滚动条的值。
旋转型控件
旋转型控件包括旋钮、转盘、量表和仪表。旋转型对象的 *** 作与滑动杆控件
相似,都是带有刻度的数值对象。可使用下列方法改变旋转型控件的值:
• 用 *** 作工具单击或拖曳指针至一个新的位置。
• 与数值控件中的 *** 作类似,在数字显示框中输入新数据。
旋转型控件可显示多个值。右键单击该对象,选择添加指针,可添加新指
针。带有多个指针的控件的数据类型为包含各个数值的簇。
关于簇的更多信息见第9 章用字符串、数组和簇将数据分组中的簇一节。
时间标识控件
时间标识控件用于向程序框图发送或从程序框图获取时间和日期值。可使用
下列方法改变时间标识控件的值:
• 右键单击控件并从快捷菜单中选择格式与精度。
• 单击时间/日期浏览按钮,显示设置时间和日期对话框,如下所示。
• 右键单击该控件并从快捷菜单中选择数据 *** 作»设置时间和日期,显示
设置时间和日期对话框。
• 右键单击该控件,从快捷菜单中选择数据 *** 作»设置为当前时间。
图形和图表
位于图形和经典图形选板上的图形控件可用于以图形和图表的形式绘制数值
数据。
关于在LabVIEW 中使用图形和图表的更多信息见第10 章,图形和图表。
按钮、开关和指示灯
位于布尔和经典布尔选板上的布尔控件可用于创建按钮、开关和指示灯。布
尔控件用于输入并显示布尔值(TRUE/FALSE)。例如,监控一个实验的温度
时,可在前面板上放置一个布尔警告灯,当温度超过一定水平时,即发出警
告。
布尔控件有六种机械动作。自定义布尔对象,可创建运行方式与现实仪器类
似的前面板。快捷菜单可用来自定义布尔对象的外观,以及单击这些对象时
它们的运行方式。
单选按钮控件
单选按钮控件向用户提供一个列表,每次只能从中选择一项。如允许不选任
何项,右键单击该控件然后在快捷菜单中选择允许不选,该菜单项旁边将出
现一个勾选标志。
单选按钮控件为枚举型, 所以可用单选按钮控件选择条件结构中的条件分
支。
关于枚举控件的详细信息见本章枚举控件一节。关于条件结构的详细信息见
第8 章循环和结构中的条件结构一节。
参考下列使用单选按钮控件的VI 范例:
文本输入框、标签和路径显示框
位于字符串和路径及经典字符串和路径选板上的字符串和路径控件可用于创
建文本输入框和标签、输入或返回文件或目录的地址。
字符串控件
*** 作工具或标签工具可用于输入或编辑前面板上字符串控件中的文本。默认
状态下,新文本或经改动的文本在编辑 *** 作结束之前不会被传至程序框图。
运行时,单击面板的其它位置,切换到另一窗口,单击工具栏上的确定输入
按钮,或按数字键区的<Enter> 键,都可结束编辑状态。在主键区按
<Enter> 键将输入回车符。
右键单击字符串控件为其文本选择显示类型,如以密码形式显示或十六进制
数显示。
关于字符串显示类型的详细信息见第9 章用字符串、数组和簇将数据分组
中的前面板上的字符串一节。
组合框控件
组合框控件可用来创建一个字符串列表,在前面板上可循环浏览该列表。组
合框控件类似于文本型或菜单型下拉列表控件。但是,组合框控件是字符串
型数据,而下拉列表控件是数值型数据。
关于下拉列表控件的详细信息见本章下拉列表控件一节。
关于条件结构的详细信息见第8 章循环和结构中的条件结构一节。
路径控件
路径控件用于输入或返回文件或目录的地址。(Windows 和Mac OS) 如允
许运行时拖放,则可从Windows 浏览器中拖曳一个路径、文件夹或文件
放置在路径控件中。路径控件与字符串控件的工作原理类似,但LabVIEW 会根据用户使用 *** 作
平台的标准句法将路径按一定格式处理。
数组、矩阵及簇控件
位于数组、矩阵和簇及经典数组、矩阵和簇选板上的数组、矩阵和簇控件可
用来创建数组、矩阵和簇。数组是同一类型数据元素的集合。簇将不同类型
的数据元素归为一组。矩阵是若干行列实数或复数数据的集合,用于线性代
数等数学 *** 作。
关于数组和簇的详细信息见第9 章用字符串、数组和簇将数据分组中的用
数组和簇将数据分组一节。
列表框、树形控件和表格
位于列表和表格及经典列表和表格选板上的列表框控件用于向用户提供一个
可供选择的项列表。
列表框
列表框可配置为单选或多选。多列列表可显示更多条目信息,如大小和创建
日期等。
树形控件
树形控件用于向用户提供一个可供选择的层次化列表。用户将输入树形控件
的项组织为若干组项或若干组节点。单击节点旁边的展开符号可展开节点,
显示节点中的所有项。单击节点旁的符号还可折叠节点。
注只有在LabVIEW 完整版和专业版开发系统中才可创建和编辑树形控件。所有
LabVIEW 软件包均可运行含有树形控件的VI,但不能在基础软件包中配置树形
控件。
表格
表格控件可用于在前面板上创建表格。
下拉列表和枚举控件
位于下拉列表和枚举及经典下拉列表和枚举选板上的下拉列表和枚举控件可
用来创建可循环浏览的字符串列表。
下拉列表控件
下拉列表控件是将数值与字符串或建立关联的数值对象。下拉列表控件
以下拉菜单的形式出现,用户可在循环浏览的过程中作出选择。
下拉列表控件可用于选择互斥项,如触发模式。例如,用户可在下拉列表控
件中从连续、单次和外部触发中选择一种模式。
枚举控件
枚举控件用于向用户提供一个可供选择的项列表。枚举控件类似于文本或菜
单下拉列表控件,但是,枚举控件的数据类型包括控件中所有项的数值和字
符串标签的相关信息,下拉列表控件则为数值型控件。
容器控件
位于容器和经典容器选板上的容器控件可用于组合控件,或在当前VI 的前
面板上显示另一个VI 的前面板。(Windows) 容器控件还可用于在前面板上
显示NET 和ActiveX 对象。
关于NET 和ActiveX 控件的详细信息见本章NET与ActiveX控件
(Windows)一节。
选项卡控件
选项卡控件用于将前面板的输入控件和显示控件重叠放置在一个较小的区域
内。选项卡控件由选项卡和选项卡标签组成。可将前面板对象放置在选项卡
控件的每一个选项卡中,并将选项卡标签作为显示不同页的选择器。
可使用选项卡控件组合在 *** 作某一阶段需用到的前面板对象。例如,某VI
在测试开始前可能要求用户先设置几个选项,然后在测试过程中允许用户修
改测试的某些方面,最后允许用户显示和存储相关数据。
在程序框图上,选项卡控件默认为枚举控件。选项卡控件中的控件接线端与
程序框图上的其它控件接线端在外观上是一致的。
关于枚举控件的详细信息见本章枚举控件一节。
子面板控件
子面板控件用于在当前VI 的前面板上显示另一个VI 的前面板。例如,子面
板控件可用于设计一个类似向导的用户界面。在顶层VI 的前面板上放置上
一步和下一步按钮,并用子面板控件加载向导中每一步的前面板。
注只有LabVIEW 完整版和专业版系统才具有创建和编辑子面板控件的功能。所有
LabVIEW 软件包均可运行含有子面板控件的VI,但不能在基础软件包中配置子
面板控件。
参考下列使用子面板控件的范例:labview\examples\general\
controls\subpanelllb。
I/O 名称控件
位于I/O 和经典I/O选板上的I/O 名称控件可将所配置的DAQ 通道名
称、VISA 资源名称和IVI 逻辑名称传递至I/O VI,与仪器或DAQ 设备进
行通信。
I/O 名称常量位于函数选板上。常量是在程序框图上向程序框图提供固定值
的接线端。
注所有I/O 名称控件或常量可在任何平台上使用。这使用户可在任何平台上开发与
特定平台设备进行通信的I/O VI。但是,如果在一个不支持该设备的平台上运行
带有特定平台I/O 控件的VI,系统将会出错。
(Windows)工具菜单中的Measurement & Automation Explorer可用
于配置DAQ 通道名称, VISA 资源名称和IVI逻辑名称。
(Mac OS 和Linux) 使用与仪器相关的配置程序,配置VISA资源名称和
IVI 逻辑名称。关于配置应用程序的详细信息见与仪器相关的文档。
波形控件
波形控件可用于对波形中的单个数据元素进行 *** 作。波形数据类型包括波形
的数据、起始时间和时间间隔(delta t)。
关于波形数据类型的详细信息见第10 章图形和图表中的波形数据类型一
节。
数字波形控件
数字波形控件可用于对数字波形中的单个数据元素进行 *** 作。
关于数字波形数据类型的详细信息见第10 章图形和图表中的数字波形数据
类型一节。
数字数据控件
数字数据控件显示行列排列的数字数据。数字数据控件可用于创建数字波形
或显示从数字波形中提取的数字数据。将数字波形数据输入控件连接至数字
数据显示控件,可查看数字波形的采样和信号。
对象或应用程序的引用
位于引用句柄和经典引用句柄选板上的引用句柄控件可用于对文件、目录、
设备和网络连接进行 *** 作。控件引用句柄用于将前面板对象信息传送给子
VI。
引用句柄是对象的唯一标识符,这些对象包括文件、设备或网络连接等。打
开一个文件、设备或网络连接时, LabVIEW 会生成一个指向该文件、设备
或网络连接的引用句柄。对打开的文件、设备或网络连接进行的所有 *** 作均
使用引用句柄来识别每个对象。引用句柄控件用于将一个引用句柄传进或传
出VI。例如,引用句柄控件可在不关闭或不重新打开文件的情况下修改其
指向的文件内容。
由于引用句柄是一个打开对象的临时指针,因此它仅在对象打开期间有效。
如关闭对象, LabVIEW 会将引用句柄与对象分开,引用句柄即失效。如再
次打开对象, LabVIEW 将创建一个与第一个引用句柄不同的新引用句柄。
LabVIEW 将为引用句柄所指的对象分配内存空间。关闭引用句柄,该对象
就会从内存中释放出来。
由于LabVIEW 可以记住每个引用句柄所指的信息,如读取或写入的对象的
当前地址和用户访问情况,因此可以对单一对象执行并行但相互独立的 ***
作。如一个VI 多次打开同一个对象,那么每次的打开 *** 作都将返回一个不
同的引用句柄。VI 结束运行时LabVIEW 会自动关闭引用句柄,但如果用
户在结束使用引用句柄时就将其关闭将可以最有效地利用内存空间和其它资
源,这是一个良好的编程习惯。关闭引用句柄的顺序与打开时相反。例如,
如对象A获得了一个引用句柄,然后在对象A上调用方法以获得一个指向
对象B的引用句柄,在关闭时应先关闭对象B 的引用句柄然后再关闭对象
A的引用句柄。
NET 与ActiveX 控件(Windows)
位于NET与ActiveX 选板上的NET和ActiveX控件用于对常用的NET
或ActiveX控件进行 *** 作。可添加更多NET或ActiveX 控件至该选板,
供日后使用。选择工具»导入»NET控件至选板或工具»导入»ActiveX控
件至选板,可分别转换NET 或ActiveX 控件集,自定义控件并将这些控件
添加至NET与ActiveX 选板。
注创建NET 对象并与之通信需安装NET Framework 11 Service Pack 1 或更高版
本。建议只在LabVIEW 项目中使用NET对象。
够全的了!!
MIDAS“设计用数值截面”无法进行RC设计是psc参数设置问题,解决方法如下:
1、从主菜单中选择 设计 >PSC设计> PSC设计参数,从树形菜单的菜单表单中选择 设计 > PSC设计参数 > PSC设计参数。
2、从主菜单中选择 设计>PSC设计>PSC设计截面位置,从树形菜单的菜单表单中选择 设计>PSC设计参数>PSC设计截面位置。
3、从主菜单中选择设计>PSC设计>PSC输出截面位置,从树形菜单的菜单表单中选择设计>PSC设计参数>PSC输出截面位置,添加最初输入的单元,修改已输入的单元。
4、从主菜单中选择 设计>PSC设计>PSC设计结果表格>施工阶段正截面法向应力验算,从树形菜单的表格表单中选择设计表格>PSC设计>施工阶段面法向应力验算。
5、在"分析 > 主控数据"中必须选择“计算截面刚度时考虑钢筋”,否则程序计算截面特性时将不考虑预应力钢筋的作用。退出页面,保存就可以了。
我们知道,xlsb格式的Excel文件存储容量小,打开速度快,一般交付时会使用这种格式。但是,在将xlsb格式的Excel文件导入到Spotfire时,发现存在两个问题:
1 数据类型匹配错误(如,文本类型的会被匹配成日期型,数字格式的会被匹配成日期型)
2 Excel数据导入后,某些列在Spotifre中没有任何数据,即,整个一列的数据都丢失了。这个错误比较隐匿,如果不是为了调整筛选器(filter)的类型时发现list box中没有显示任何值,可能不会发现这个问题。
解决方法:
将xlsb格式另存为xlsx后,问题解决。
此问题已记入技术学习笔记。
Type Subtype Short Desc Detailed Description Solution Sample Last Access
Spotfire bug Excel file with extention name xlsb cannot be exported to Sportfire correctly There are 2 issues after xlsb format was imported into Spotfire as datatable:
1 column type cannot be mapped correctly (String column was mapped to DateTime, vice versa)
2 Data in some columns were not imported at all Save Excel raw data as a new Excel file in xlsx format, instead of xlsb format 2019-08-24 17:01:28
打开CSDN APP,看更多技术内容
Spotfire调试经验——百分比的动态计算(Dynamic percentage calculatio
其实这个问题应该是初学Spotfire时就应该掌握的,奈何当时Spotfire是边学边干(美称learning by doing,哈哈),没有接受过良好而系统的培训。长期以来,计算百分比我都是用插入计算列的方法来实现的。这种方法虽然也能满足业务需求,但现在看来
继续访问
Spotfire开发经验——比率计算及多条件排除(sum() over及and (!A o
1 发现该条件为文字描述,如果用count(字段=条件)这种方式进行计算,似乎不起作用 2 增加计算列"字段flag",用于辅助计算目标结果(if (字段=条件), 1, 0) 3 增加计算列,sum (字段flag) over (intersect (分组条件1,分组条件2
继续访问
Spotfire中文帮助文档
Spotfire中文版帮助文档,大家有需要可以下载。根据帮助文档描述可以解决很多实际应用中的问题。
最新发布 TIBCO Spotfire 入门指南
数据分析工具 - TIBCO Spotfire 入门指南(一) 文章目录数据分析工具 - TIBCO Spotfire 入门指南(一)前言一、Sportfire 是什么?二、使用Sportfire 创建一个简单的数据分析模型1设置分析(加载数据)2编辑数据源3创建图表31 创建交叉表32 创建饼图33 创建树形图34 创建散点图35 创建自定义筛选器总结 前言 通过对本指南的学习,你可以了解到如何开始用TIBCO Sportfire分析数据,并能详细了解您可以做什么以及怎么做 一、Spo
继续访问
Spotfire使用经验-在Cross Table(Pivot Table,透视表)中动态计算比例
即,只有在满足特定筛选条件时,计算列的值是对的,而大部分情况下是错的。 解决方法:使用Spotfire自带的row count聚合函数:% of total (需注意,如果是统计在同一行数据中的比例,需选择“columns”作为Axis)。 实例:
继续访问
Spotfire 中的格式字符串(数值、DateTime 日期格式)_种麦南山下的博客
注意:所有这些示例都将数字 1234567 用作数据中的值。 有关详细信息,请参见有关自定义数字格式字符串的宣传资料(例如MSDN)。 二、自定义DateTime格式字符串 以下是某些针对日期时间格式的自定义格式字符串的示例。有关详细信息,请参见
继续访问
Spotfire 导入的数据改为百分比%形式
将excel的百分比值导入spotfire时,如50%,导入进去,数据为05,不会以百分比的形式显示。 这里使用了添加计算列 写入公式,然后选择格式里的百分比 结果显示
继续访问
postgresql-大坑!!!pg导入excel表格中的坑(一)
1导入一张表的时候,发现表格中的数据没有完全导入 2例如表格中的数据是181条,导入到pg中只有100条 原因就是因为字段的长度大于varchar(250);pg导入表格数据的时候,默认是varchar类型的,当字段长度大于250时,此时我们应该选择类型为text,这样就能正确导入了!
继续访问
Spotfire 对列 数据进行自定义排序_种麦南山下的博客
Spotfire 对列 数据进行自定义排序 访问“列属性”对话框的步骤: 1、在菜单栏上,单击“数据”>“列属性”。 2、单击“排序顺序”选项卡。 搜索需要排序的列名称,在“排序顺序”项中可选择自定义排序
继续访问
Spotfire 条形图属性 直线和曲线 格式设置
如下图所示,横线值为017,将其改为17% 条形图上右键 “属性” ,找到直线和曲线,点击标签和工具提示,选中 “值” 行,选择格式。 选择百分比,保留小数的位数。
继续访问
调试经验——使用Spotfire Unpivot进行数据的列转行(数据伸展) *** 作(Unpivoting data in Spotfire)
昨天,第一次使用Spotfire中Data Transformation(数据转换)中的Unpivot功能,感觉很实用。 源数据是Excel文件,格式如下:
继续访问
调试经验——Spotfire Information Link(直连数据库)的创建方法(Creating an Information Link)
正如古人所言,“纸上得来终觉浅,绝知此事要躬行”。今天又被Spotfire的Information Link耗掉了一整天时间。如果自己的经验更丰富一点,或许就是事半功倍了。 用户需求发生了变化,原来query中的一些条件已经过时,导致查询出来的数据量偏小,进而导致一个关键指标(“单位报告提出问题数”, IssuesPerReport)明显偏高。 客户需要将临床试验方案级别(Protocol L
继续访问
经验小结——Spotfire 智能报表与自动化
本来觉得报表和自动化并没没有太多的关联,之前的认识也就是智能报表比传统报表(如,Excel报表、定制报表)界面更好看、性能更好而已。 但是,随着对Spotfire不断使用,觉得之前的认识未免肤浅。Spotfire不仅仅是报表,而且是一种自动化工具。 为什么这么说? 1 数据自动刷新 1)使用Information Link将原来的query配置到Spotfire中,使用cached
继续访问
Spotfire 数据分析学习之一
借着公司便利可以使用Spotfire,决定从今天开始好好学习一下该软件及数据分析知识,我是学习EE出身,现在也算是半路出家,希望和大家一起学习,一起讨论。第一天,首先对Spotfire软件的功能做个简单介绍:Spotfire是数据分析领域非常有名的一款可视化编程软件,它提供了很多便利的可视化 *** 作以及经济学模型。主要特点如下:
继续访问
Spotfire使用经验-限制/排除数据(limit data)
在绘制饼图时,如果某一种类型占比很大而又没多大实际含义或者都是空值,或者不需要对其进行统计分析,则可以使用limit data功能。 举例而言,下面的饼图中,空值将近八成。其他项目就显得很少而显示不出来。 右击视图,Properties-> Data ->Limit Data,选择目标字段,在Expression中输入"字段 修改后的饼图如
继续访问
Spotfire使用经验-箱形图(Box Plot)的绘制
第一次绘制箱形图,特此标记。 Spotfire中的直方图藏在box plot中,不及Excel数据分析那么直观。
继续访问
热门推荐 Oracle查询大数据量后导出到Excle文件的经验
手头上有个报表任务,运行SQL查询脚本近1个小时后,得到60多万条查询记录(导出为Excel文件后,有三四十兆字节大小)。 先后尝试了以下几种办法以将查询结果导出到Excel文件: 1 默认导出选项(Excel xls文件格式)——导出中途,报out of memory错误 2 选择xlsx文件格式,重新导出,同样失败 几个小时就白白浪费掉了。 经过同事指点,在“Export F
继续访问
Spotfire使用经验——使用文档属性(Document Property)实现数据集范围的动态限定
需求描述: 由于业务系统将被升级,现有的Spotfire报表的数据呈现将会收到影响。因此,用户希望能够在Spotfire中选择查看不同时间范围内的数据,即,业务系统升级前的数据和升级后的数据。 解决方法: 用户提出的方法是,创建两份Spotfire报表。我建议用户最好不要这样做,因为以后的维护成本将会翻倍。 目前我提出的解决方案是:创建一个cutoffDate的文档属性(Document
继续访问
学以致用-使用分类汇总分析股价与时间维度(年、月、日、星期)的关系(Excel+Spotfire)
广义的时间其实包括了年、月、日、星期、时区、时、分、秒等多种信息,如ikb中,时间戳显示为:Sat Jul 15 23:46:20 GMT+08:00 2017。 对于大数据量,如果将时间拆分成以上更小的单位,说不定可以看到一些规律(先不管有用没用,靠不靠谱)。 在Excel中,可使用“分类汇总”功能。但是, *** 作步骤繁多。 借助BI工具Spotfire,这个事情可以在几分钟之内搞
继续访问
下载xlsx文件打开一直提示文件已损坏
这是office受保护视图导致的原因所造成的,按照以下 *** 作,问题就不是问题了 解决办法如下: 1、在打开excel2018数据表格时,出现提示“文件已损坏,无法打开”,点击确定按钮 2、进入空白程序界面后,在空白程序左上角点击文件选项 3、在左侧栏目文件菜单中点击最下面的“选项” 4、在d出的窗口中选择顶部的开始-信任中心-信任中心设置 5、在信任中心的左侧选择受保护的
继续访问
TIBCO Spotfire使用技巧:如何在Web网页中嵌入TIBCO Spotfire可视化视图
这是众多使用TIBCO Spotfire做开发及部署时候,大家问的最多的问题! Larry哥每次在跟各位盆友交流的时候,在回答这个问题总是说,so easy,各位请看这页屁屁踢,然后就蒙混过关了,大家也就不再问我细节了,日后各位真正在做开发部署的时候,还是需要去找资料来看具体解决方案。 今天Larry哥就把具体的 *** 作方法摘抄过来,供各位亲参考。 为此特意从油管中搬了这个视频到优酷上,“如
继续访问
Spotfire调试经验——在Spotfire Cross Table(类似Excel Pivot Table)中实现去重百分比计算(% of total)
Excel透视表有个局限性,不能实现去重统计。即,只提供了count函数而没有提供uniqueCount函数。 Spotfire的Cross Table中
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)