QlikView中文教程v8part3ADVANCED+FEATURES.docx
- 文档编号:23141836
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:36
- 大小:38.54KB
QlikView中文教程v8part3ADVANCED+FEATURES.docx
《QlikView中文教程v8part3ADVANCED+FEATURES.docx》由会员分享,可在线阅读,更多相关《QlikView中文教程v8part3ADVANCED+FEATURES.docx(36页珍藏版)》请在冰豆网上搜索。
QlikView中文教程v8part3ADVANCED+FEATURES
QlikViewTutorialV8
高级特性
ADVANCEDFEATURES
第十七课更多的关于联合
LESSON17MOREABOUTASSOCIATIONS
字段页出现在每次脚本执行之后,它包含一个已命名的选项ShowSystemFields.如果这个选项被选中,AvailableFields下的列表会多出六个以美元符$打头的字段.这些字段被称作系统字段,用来获取QlikView文件的逻辑结构非常有用.
本次课的第一部分描述系统字段和展示如何将它们显示在系统面板上.第二部分展示一个例子,你能够使用系统字段解决普通的问题:
在联合字段中显示频率信息.
创建一个系统面板
Creatingasystemsheet
1启动QlikView.
2打开Advanced.qvw.
3在工具栏上点击AddSheet按钮.
4打开SheetProperties对话框.命名为System.
5切换到Fields页.
6移动系统字段(以美元符$打头的字段)到FieldsDisplayedinListboxes下.如果你没有发现系统字段,请选中ShowSystemFields选项.
系统字段展示
恢复字段名称($Field),
thenamesofthefieldsretrieved($Field),
已装载表名称($Table),
thenamesofthetablesloaded($Table),
表中行数和栏位数($Rowsand$Fields),
thenumberofrowsandcolumnsinatable($Rowsand$Fields),
特定字段的栏位号($FieldNo),和
thecolumnnumberforaspecificfield($FieldNo),and
已装载表信息($Info).
thenamesoftheinfotablesloaded($Info).
7点击OK.
8调整列表直到你看到所有的字段名和所有的字段值.
9将文件另存为System.qvw.
使用系统面板
Usingthesystemsheet
现在你的系统面板已准备就绪,但还需要对他进行改良,为列表$Field选择ShowFrequency:
1打开列表$Field的Properties对话框,并切换至General页.
2选中ShowFrequency,然后切换至Sort页.
3选中Frequency下拉选择Descending,然后点击OK.
现在$Field字段中的值,在表里面通过其频率数降序排列.列表开始按频率分类,字段的首部是频率最高的.
你看到字段Country在表中出现了三次,CustomerID和SalesmanID在表中出现了两次,其他的字段至出现了一次.现在点击toolbar上的TableViewer按钮,来得到单独包含数据结构的窗口.
三个字段出现了不止一次,它们用于联合文件中的表.
4点击OK,退回到你的文件.
5点击列表$Field中的Country.
现在程序显示字段Country出现在表Country1(一个逻辑表,有三个country表连接组成),Customer和Markets中,其他的列表提供附加的信息,相关表的行数和字段数,和字段的栏位号.
此外列表$Info显示表通过Country连接的信息.
一旦在列表中只有一个表或是信息表是可用的(选取或可选),一个小的信息符号i出现在列表的右上角.点击它,这将允许你直接地编辑表:
6在列表$Table中点击其中任意一个表.
7信息符号i出现在列表的右上角.点击它.注意,那些字段为了这个作业已被放置在相同的文件夹中.
8现在通过相关联的程序(如:
Excel)打开原始表.研究它,然后关闭程序回到QlikView.
9清除你之前的选取操作.
注意,如果表的文件类型(扩展名通常是csv),没有连接到合适的文件编辑器,表将不会被打开.为了将文件类型和程序联系起来,打开资源管理器.在打开方式中选择程序,比较好的是记事本或是Execl,然后点击OK.
当作业中存在大量复杂数据结构设置,它不可能保持全部数据结构的良好展现.系统面板此时起着决定性的重要作用.
创建系统表
Creatingasystemtable
此外在列表中显示系统字段,你也可以通过创建系统表来图解它们的关系:
1右键点击面板里的空白处,在浮动菜单中选择NewSheetObject下的SystemTable.
现在你的面板上出现了系统面板.调整它的大小.研究它.你将发现第一行栏位,列出文件中所有能够找到的字段,通过一个栏位跟随着每个已装载表的字段.如果表中包含最左侧字段列表中的字段,这个字段也将出现在表栏位中;如果不是,将显示一个'-'(表明一个NULL值).
你能够很容易地发现哪个字段是关键连接词.例如,在多于一个表中通用的字段.系统字段因而能够清晰地展现出文件中表是如何连接的.
在联合字段中显示频率
Showingfrequencyinassociatingfields
支持你的作业,在面板Customer中,希望看到你有多少顾客在不同的国家里.例如,这些国家在多少时间段里存有数据.
1切换至面板Customer.
2右键点击列表Country,点击Properties...
3切换至General页.
选项ShowFrequency是不能选取状态.例如,这个字段没有可以显示的频率.为什么?
研究系统面板,你很清晰的看到,字段Country出现在多个表里.事实上,三个已装载表包含一个字段名为Country.Country1和Market包含地理信息和一个属于不同国家的市场列表,单独的列出每个国家尽一次.表Customer,包含多于一个有若干个顾客居住的国家.三个Country字段在联合时被视为一个,它不可能让程序知道究竟是哪个表将参与数据频率的计算.
至此,猜想一下,导致错误结果的原因.QlikView设计好,当数据解释不明确的联合字段时,将不允许既定的操作.
实际上你对顾客表里的国家频率感兴趣.为了获得你需要的信息,在第二时间,从表Customer.csv使用一个新的名称装载字段Country:
4关闭列表Properties对话框.
5打开EditScript对话框.
6找到装载Customer.csv的声明,并将光标放到最后,然后输入引号中的内容',CountryasCustomerCountry'.现在EditScript对话框中产生类似脚本:
...
Load[CustomerID],
Customer,
Address,
City,
Zip,
Country,CountryasCustomerCountry
FROM[..\Application\DataSources\CUSTOMER.CSV](ansi,txt,delimiteris',',embeddedlabels);
...
你需要保持字段Country,否则这里将没有关键连接字段并且导致不能联合实现装载的表.
7点击Reload按钮.
8移动新字段CustomerCountry到FieldsDisplayedinListboxes下,然后点击OK.
现在你的面板Customer包含第二个国家列表,只列出有顾客居住的国家.这个字段名不在文件中和其他字段名相通用,这第二个字段不是联合字段.它因此有可能显示频率信息.
9右键点击列表CustomerCountry,然后选择Properties...
10在General页,选中ShowFrequency,然后切换到Sort页.
11选中Frequency,然后点击OK.
现在国家按照频率来排列.你也许需要调整列表来观察数字.
至此它事实上比Country字段更多地感觉到是有字段CustomerCountry在这个面板上(你对哪个国家没有顾客不感兴趣),操作如下:
12删除列表Country.
当在面板Customer上选取国家的时候,那现在将一直显示最小的顾客选项.
13调整布局.
14保存文件.
联合字段在显示频率上还有两个能力上的限制:
基于联合字段的统计表不能显示大多数统计实体.
在图表中使用联合字段,它将不能创建包含依靠在频率信息之上的函数表达式(例如,SUM,COUNT函数,AVERAGE)除非转变为明显的修改器.
15关闭文件.如果你希望,可以和文件SystemFinal.qvw进行比较,它在Advanced文件夹下.
16如果你这时不想同QlikView一起作业,现在你可以退出程序.
为得到更多信息,请参见ReferenceManual.
第十八课成行装载
LESSON18LOADINLINE
在某些案子中,你也许希望在脚本中通过键盘直接地添加需要的资料,这相当于从一个文件或是数据库装载它.在这次课,你将学会如何联机装载.
联机装载也能使用映射(通过一个文件名来联合新的信息和已经存在的信息),这组成本次课的第二个部分.
以联机装载添加记录
Addingarecordwithloadinline
1开始QlikView,并且打开..\Tutorial\Advanced文件夹下的文件Inline.qvw.
文件的创建来自两个表,Customer.csv和Transact.csv.你希望为文件添加一个顾客,但不改变原文件.操作如下:
2打开EditScript对话框.
3将光标放到脚本的末端,然后操作如下:
Load*Inline[
CustomerID,Customer,Address,City,Zip,Country
1181,Alexander'sCateringService,Fisherman'sDrive4,Portsmouth,BH354RW,GreatBritain];
第一行(CustomerID,Customer,Address,City,Zip,Country)列出Customer.csv(你希望添加记录的表)中的字段名称.
第二行(1181,Alexander’sCateringService,Fisherman’sDrive4,Portsmouth,BH354RW,GreatBritain)包含将被添加的记录.
开始的星号'*'与'allfields'相等.
注意由于排版上的空间限制,在上面例子中的记录没有在同一行上.当复制这个成行子句进脚本时,你要将全部记录放在独立的一行中,这很重要:
Portsmouth等等,将因此跟随在Fisherman’sDrive4之后.观察Advanced文件夹下的文件InlineFinal.qvw.
4点击Reload按钮.
5点击OK,关闭对话框.
6没有新字段被添加,但那里有新字段的值在一些列表中.点击列表customer中的Alexander'sCateringService并研究结果.
被括弧包含的数据在成行装载之后是被视为普通表.拥有customer表相同的字段设置,成行装载表将和customer表连接.你能通过研究系统面板非常容易地检查它:
在列表$Table(连接表总是给第一个输入表的名称,在本案中,是Customer)中只有两个表被显示.
另存文件为MyInline.qvw或是类似的名称.
自然地,成行装载表能够为其他的目的所使用,而不仅仅是给存在的表添加数据.如果,为一个例子,你希望装载很小的表,在脚本中直接地创建它们比创建和装载一个外部文件要来的容易一些.
为成行装载映射数据
Mappingdatawithloadinline
文件Inline.qvw包含一个关于年度中月份的字段,它像数字那样书写.你希望使用月份拼写名称来创建一个图表,另一个图表显示每个季度的销售,使用数据映射将是很容易的.
数据映射的意思是通过一个字段名联合新信息到已就绪存在的信息.数据映射典型的例子能够连接一个计算数到另一个计算数或是将一个数据分裂到三个年份字段中,月份和年份,分别显示.数据映射能够使用一个外部文件或是在脚本中直接使用成行装载.
在这个例子中,你将使用成行装载来映射月份数字相对应月份和季度.
此时我们将使用内嵌成行来创建成行装载声明,这通常比在脚本中直接书写来得更为便利.
1打开EditScript对话框.
2将光标放置到脚本末端.
3点击InlineData下的InlineWizard...按钮.
4打开InlineDataWizard对话框,看到一个小的电子表格,很像在实际工作中的那样.然而这里的数据单元不支持公式.
5将光标放到左上角的数据单元中.使用Enter或是'↑↓←→'光标键在临近的单元间移动来输入如下信息.
MonthMonthNameQuarter
1January1
2February1
3March1
4April2
5May2
6June2
7July3
8August3
9September3
10October4
11November4
12December4
6最后在每行的首部上方双击并输入字段名Month.在剩下的栏位重复此操作.
如果你需要一个表例如,Excel,它能通过粘贴的方式输入进QlikView的InlineDataWizard对话框中.
7点击OK.现在EditScript对话框中产生类似脚本:
LOAD*INLINE[
Month,MonthName,Quarter
1,January,1
2,February,1
3,March,1
4,April,2
5,May,2
6,June,2
7,July,3
8,August,3
9,September,3
10,October,4
11,November,4
12,December,4];
8点击Reload按钮.
两个新字段被添加进AvailableFields列表,MonthName和Quarter.成行装载表已经通过字段Month和交易表联合.
TheinlinetablehasbeenassociatedwiththetransacttableviathefieldMonth.
9点击OK.
10创建一个柱状图,显示每季度的销售(选择Quarter为显示维度,并添加表达式'Sum(Sales)').在本案你需要帮助,请参见WorkingwithQlikView.
11保存文件.如果你希望,可以和文件InlineFinal.qvw进行比较,它在Advanced文件夹下.
12如果你这时不想同QlikView一起作业,现在你可以退出程序.
第十九课字段组和循环展示
LESSON19FIELDGROUPSANDCYCLICDISPLAY
像图表中的维度那样替代显示单一字段,为了达到这个目的可以定义字段组.和字段组一起作业允许你使用非常有效的方式来显示数据,至此将引起图表由于字段的选取而在一个分层的(下钻)或循环的顺序中显示.在这次课,这些重要的特征将被解释:
你将分别定义分层的和循环的字段组并创建相应的图表.
在图表中字段组的使用应该不会导致循环展示的混乱.循环展示,组成本次课最后的部分,能够适用与任何包含多个表达式的图表,表达式的结果会顺序的显示.就好像使用字段组,但他占用空间并允许你迅速改变在图表中的数据显示.
字段组
Fieldgroups
在QlikView和许多其他数据库观察者,OLAP等等,它们之间存在一个主要的不同.在QlikView中这里不需要在输入的数据中预先定义任何层次.QlikView独一无二的逻辑联合给你完全的自由度来存取任何字段,就好像在任何序列中都拥有一个完全的维度.为了更多用途这个自由度是极端强大的.
无论如何,那种场合是当一个预先定义的层次能够实际地帮助你来更有效的显示数据.QlikView因此提供定义字段组的可能.组能够分层(下钻)或是不分层(循环).
创建下钻组
Creatingadrill-downgroup
当若干个字段来自自然的层,它产生创建下钻组的感觉.
1开始QlikView,然后打开..\Tutorial\Advanced文件夹下的文件Groups.qvw.
2选择Settings菜单下的DocumentProperties...切换至Groups页.
3点击New...按钮.打开GroupSettings对话框.在GroupName处改变默认名称为Time.
4在AvailableFields列表中选取Year,Quarter和Month至UsedFields下.
5将顺序排成自上而下:
Year,Quarter,Month.这非常重要,至此组中字段的顺序符合了图表中的展现顺序.
6点击两次OK.
现在你创建了一个下钻组,在图表中你能像使用维度变量那样使用它.
创建和使用下钻图表
Creatingandusingadrill-downchart
为了创建下钻图表,操作如下:
1切换至面板Sales,然后点击toolbar中的Createchart按钮.
2在WindowTitle下输入Drill-down,然后点击Next>来到Dimensions页.
之前创建的Time组被列出普通的字段名.然而,能够很容易的区分它们:
在字段组的前面总是伴随着特殊符号.下钻组,这个符号是一个'↓'箭头.
3选取Time移动至UsedDimensions下.
4点击Next>.
5自动打开EditExpression对话框,组成表达式Sum(Sales),然后点击Paste,然后点击OK.
6在Label处输入Sales,点击Next>.
7点击Next>直到你达到Colors页.选中Multicolored.
8点击Next>来到Number页.
9在Number页,选中Integer.在ThousandSymbol处输入1000$,然后点击Finish.
图表,显示每一年度的总销售,就像所有其他柱状图那样.然而,一旦你进行选取将导致字段Year变成只有一个可能的值,你发现它的下钻特征:
10在图表中选取柱体2002.
一个普通的图表现在会显示一个柱体,来描述2002年度的总销售.然而,这个图表显示2002年度每一季度的总销售(在字段列表中的第二个字段定义从Quarter开始).
11选取描述为第四季度的柱体.
图表转变为显示所选季度中每个月的总销售.Month是第三个,也是最后一个在字段组中的字段.
在层次字段中,一旦多于一个值成为可能,图表会自动向后钻.为了回到层次中,点击上钻图标去到下一个字段名.
创建循环组
Creatingacyclicgroup
有时候将字段组成组也许有用,他不能来自天然层次或者甚至通常是什么都没有.基于此原因能在图表中快速改变数据显示并占用空间.
任何字段能够在循环组中组合在一起.
1选择Settings菜单下的DocumentProperties...切换至Groups页.
2点击New...按钮.打开GroupSettings对话框.在GroupName处改变默认名称为Cyclic.
3在AvailableFields列表中选取Country,Salesman和Year至UsedFields下.当定义循环组时字段在列表中的顺序不是很重要.
4选中CyclicGroup选项.
5点击两次OK.
现在你创建了一个循环组.在图表中你能像使用维度变量那样使用它,它将允许你当保持相同的表达式(Y轴)的时候,在字段组(X轴)之间转变.
创建和使用循环图表
Creatingandusingacyclicchart
为创建循环图表,操作如下:
1点击toolbar中的Createchart按钮.
2在WindowTitle下输入Cyclic,然后点击Next>来到Dimensions页.
Cyclic组被列出普通的字段名.就像drill-down(Time)组那样,在它前面伴随着特殊符号.Cyclic组,这个符号是一个圆形箭头.
3选取Cyclic移动至UsedDimensions下.
4点击Next>.
5自动打开EditExpression对话框,组成表达式Sum(Sales),然后点击Paste,然后点击OK,关闭对话框.
6在Label处输入Sales,点击Next>.
7点击Next>.在Sort页,选中Sortby下的Y-value并下拉选取Descending.点击Next>.直到你达到Presentation页.
8在Presentation页,选中MaxVisibleNumber(1-100),输入10.
9点击Next>直到你达到Colors页.选中Multicolored.点击Next>到达Number页.
10在Number页,选中Integer,并在ThousandSymbol处输入1000$,然后点击Finish.
最初,你的图表显示了每个国家的总销售,这个字段在字段列表中是第一个.
11通过点击图表的右下角的圆形图标转换到下一个字段,第二个字段,开始被显示.
12如果你再点击图表,将显示每年的总销售.Year是字段组中的第三个也是最后一个.当列表中最后一个字段被使用,将会转换回到第一个字段.图表能够无限的循环下去.
也能够通过右键点击圆形图标,一个包含循环组中的字段列表被显示出来便于直接选取.
13最小化图表.
这个方法中在一个框架里显示三个图表是显示数据非常有效的方法.也允许你快速转换图表显示数据.
循环展现表达式
CyclicdisplayofExpressions
图表Properties对话框中的Expressions页提供一个命名组按钮.如果你有一个带有两个表达式的图表,你能选择顺序地显示它们用来代替同时的显示方式.在表达式间进行转换是通过一个类似循环图表中的按钮来完成.
TheExpressionspageintheChartPropertiesdialogprovidesabuttonnamedGroup.
为创建一个图表来循环展现表达式,操作如下:
1点击toolbar中的Createchart按钮.
2在WindowTitle下输入CyclicDisplay,然后点击Next>来到Dimensions页.
3选取Year移动至UsedDimensions下,然后点击Next>.
4自动打开EditExpression对话框,组成表达式Sum(Sales),然后点击Paste.
5点击OK.表达式现在被显示在Expressions页上.注意,Group按钮是不可点击状态:
你需要在图表
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QlikView 中文 教程 v8part3ADVANCED FEATURES