---
title: "使用 Altova MissionKit 分析足球统计数据"
date: "2011-11-22"
tags: 
  - "charts"
  - "data-mapping"
  - "flextext"
  - "mapforce"
  - "xml-charts"
description: 探索如何使用Altova MissionKit分析美国国家橄榄球联盟（NFL）四分卫的各项数据，通过数据映射技术，将传统的四分卫评分与ESPN的Total QBR进行比较。
---
Status: #blog

Tags:  #charts #data-mapping #flextext #mapforce #xml-charts

Categories: [Altova](/blog/zh/category/altova.md) 
# 使用 Altova MissionKit 分析足球统计数据

本文利用来自[NFL.com](http://www.nfl.com/)和[ESPN.com](http://espn.go.com/)的统计数据，旨在展示如何轻松地处理和分析在线数据，即使这些数据使用了不同的指标，并且仅以文本格式提供。在之前的博文中，我们已经看到如何轻松地从互联网上收集大量以XML格式提供的数据。但对于那些在线提供但未以XML格式提供，或者被埋藏在旧数据处理系统中，仅以文本报告形式提供的数据，该如何处理呢？ 

一个例子是四分卫的评分系统。 美国国家橄榄球联盟（NFL）使用一种名为“传球效率评级”的指标，该指标仅根据四分卫的传球完成次数、传球尝试次数、达阵次数和失误次数来评估其表现。 今年，ESPN推出了一种新的评分系统，名为“总四分卫评分”（Total QBR）。 “Total QBR”指标包含了更多的数据，例如预期得分平均值和关键时刻表现指数，ESPN声称这些数据能够更准确地衡量一名四分卫的表现。 让我们比较这些系统生成的排名结果，看看是否能从中获得一些有用的信息。 在这个例子中，我们将使用 Altova MissionKit 的数据导入和分析工具，用于比较评分。 如果您想亲身体验一下，MissionKit 软件可以供您使用 [免费试用30天，立即下载](https://www.altova.com/zh/download-trial/) 来自 Altova 网站。 您可以在这里[访问本示例中使用的文件](https://www.altova.com/zh/library/Analyze_Football_Stats.zip)。 首先，我们需要原始数据来进行分析。 我们以整个2010赛季的数据作为数据来源。 我们可以通过以下方式获取该表格： [来自NFL.com的帕塞尔球员评分](http://www.nfl.com/stats/categorystats?archive=true&conference=null&statisticCategory=PASSING&season=2010&seasonType=REG&experience=null&tabSeq=0&qualified=true&Submit=Go) 然后，复制并粘贴这段内容，将其保存为一个新的文本文件。 

[![NFL.com 网站上 2010 年最佳五位传球手](https://lh4.ggpht.com/-NFI7wG2wUrs/TsZmOXa00FI/AAAAAAAAAJE/uCkScVLIjuI/NFL_top5_passers%25255B12%25255D.png?imgmax=800 "NFL.com_top5_passers_2010")](http://www.nfl.com/stats/categorystats?archive=true&conference=null&statisticCategory=PASSING&season=2010&seasonType=REG&experience=null&tabSeq=0&qualified=true&Submit=Go) 

我们可以访问类似的内容 [ESPN网站上发布的四分卫总评分排行榜](http://espn.go.com/nfl/story/_/id/6834591/nfl-tom-brady-led-nfl-qbr-2010-season) 并创建一个新的文本文件。 

[![ESPN 综合四分卫表现评估 (Total QBR) 2010 年榜单前五名](https://lh6.ggpht.com/--qirc5-52q4/TsZmOv717GI/AAAAAAAAAJM/Ve-k_TN3hjY/QBR_Top5%25255B6%25255D.png?imgmax=800 "ESPN_Total_QBR_Top5_2010")](http://espn.go.com/nfl/story/_/id/6834591/nfl-tom-brady-led-nfl-qbr-2010-season) 

现在我们有两个文本文件，其中包含以不同顺序排列的数据表格。下一步是将这些表格合并到一个文件中，并生成图表。首先，我们需要一个用于存储目标数据的模式文件。在XMLSpy中，我们可以快速且图形化地创建一个XSD文件，其中包含一系列QB节点，以及这些节点对应的子节点，例如：名、姓、球队、传球评分和排名，以及总QBR和排名。 

[![QB_Schema.xsd 文件](https://lh3.ggpht.com/-9h9gpOW-kqU/TsZmPXj_F7I/AAAAAAAAAJc/_DHTF90Sv5E/QB_Schema_thumb%25255B4%25255D.png?imgmax=800 "QB_Schema.xsd")](http://lh6.ggpht.com/-qXpexJy1EGU/TsZmOxjUSII/AAAAAAAAAJU/FT2UQU_yVgw/s1600-h/QB_Schema%25255B6%25255D.png) 

现在，在MapForce中，我们打开文本文件，并使用FlexText功能来解析文本，将其转换成一个类别列表。 

[![NFL_四分卫_数据_灵活文本](https://lh3.ggpht.com/-npZOeSDInk8/TsZmP7U5MLI/AAAAAAAAAJs/WHiPtNpWqIc/NFL_QB_Data_FlexText_thumb%25255B2%25255D.png?imgmax=800 "NFL_QB_Data_FlexText")](http://lh3.ggpht.com/-mh92ItHpYW4/TsZmPvKSwaI/AAAAAAAAAJk/tUpiq04Nabo/s1600-h/NFL_QB_Data_FlexText%25255B6%25255D.png) 

[![总问卷调查结果](https://lh3.ggpht.com/-27iEt2-Jsnc/TsZmQl8KVkI/AAAAAAAAAJ8/wpo08a8R-Tg/Total_QBR_thumb%25255B1%25255D.png?imgmax=800 "Total_QBR")](http://lh4.ggpht.com/-KhYTL2EEOws/TsZmQSUo9yI/AAAAAAAAAJ0/PA_XAqBd1kI/s1600-h/Total_QBR%25255B3%25255D.png) 

然后，我们使用 MapForce 创建一个映射文件，将文本文件中的数据映射到目标 XML 文件。 内置函数可以轻松地从“Player”字符串中提取姓名，并且一个值映射功能可以将球队简称转换为字符串（例如，将“ARI”转换为“亚利桑那红雀队”，将“ATL”转换为“亚特兰大猎鹰队”等）。 在测试我们的过滤器时，我们设置了“优先级上下文”，以确保为每个独特的四分卫获取正确的数据集。 

[![QB_Schema (可能指“QB模式的结构”或“QB模式的架构”)](https://lh5.ggpht.com/-vVdpMSTjr7g/TsZmRelhLqI/AAAAAAAAAKM/_HYG6G38x58/QB_Schema_thumb%25255B6%25255D.png?imgmax=800 "QB_Schema")](http://lh3.ggpht.com/-jOytwVfR0SA/TsZmRJYIzRI/AAAAAAAAAKE/NBETC3PmYoc/s1600-h/QB_Schema%25255B10%25255D.png) 

一旦我们完成数据映射，我们就可以保存生成的 XML 数据文件，并在 StyleVision 中将其用作源文件，用于设计样式表。在这个样式表中，我们将创建一个表格，显示排名前十的球员，并使用图表直观地展示球员评分（Passer Rating）和总表现指标（Total QBR）。 

[![QB_Charts1 (可能指“QB图表1”或“QB图表一”)](https://lh4.ggpht.com/--dzB3khn8Bs/TsZmSR90j9I/AAAAAAAAAKc/NdQ_e0U9cxc/QB_Charts1_thumb.png?imgmax=800 "QB_Charts1")](http://lh4.ggpht.com/-K08g7lYmPTo/TsZmRvA_AxI/AAAAAAAAAKU/MjdwKcOXYA8/s1600-h/QB_Charts1%25255B2%25255D.png) 

[![QB_Charts2 (可能指“QB图表2”或“QB图表版本2”)](https://lh6.ggpht.com/-olKarjh0n3c/TsZmSy4ocyI/AAAAAAAAAKs/6gGgwbA-R6g/QB_Charts2_thumb%25255B1%25255D.png?imgmax=800 "QB_Charts2")](http://lh3.ggpht.com/-ES18REY87K4/TsZmSs7KsBI/AAAAAAAAAKk/NpHX2YcUR2k/s1600-h/QB_Charts2%25255B3%25255D.png) 

现在，我们已经有了这两个评分系统排名情况的直观展示，我们可以分析它们的差异，并尝试判断哪个系统更有效。例如，佩顿·曼宁在传球评分中排名第十，但在总综合表现（Total QBR）中排名第二。这可以解释为，总综合表现考虑了关键时刻的表现，而佩顿·曼宁在2010赛季曾有过几次关键时刻的逆转。现在，我们已经收集到了一系列 [文件（包括在 XMLSpy 中创建的 XSD 文件，以及从 MapForce 导入的 FlexText 和映射文件，以及在 StyleVision 中创建的样式表设计）](https://www.altova.com/zh/library/Analyze_Football_Stats.zip), 我们可以轻松地更新文本数据文件，以便分析新的四分卫数据。在赛季后期，我们可以用2011年的数据更新文本表格，然后让数据通过映射关系流入样式表，从而更新图表，并查看本赛季的排名。这个例子主要使用了NFL的数据，但这种方法可以很容易地应用于其他数据集和数据源，这些数据源可以以文本文件形式访问，也可以以其他格式提供。 

您可以了解更多关于如何使用 Altova MissionKit 产品的知识，方法是参加我们的培训课程 [免费的在线培训课程](https://www.altova.com/zh/aot/online-training.aspx).
