♫ 音乐 ♫
SAP Analytics Cloud 拥有一项独特的优势，
就是它能支持用户直接在其中对数据进行建模。
准备或整理数据是建模的第一步。
你需要映射，清理和转换数据，为分析做准备。
建模时，你可以从电脑或谷歌云盘中直接导入文件，
或者通过导入数据连接，连接企业预置型和云数据源。
需要注意的是，对于通过实时数据连接连接的数据源，
在 SAP Analytics Cloud 中进行数据准备和建模既不可行，也无必要。
因为实时数据连接采用的是源系统中已有的模型，
这些模型均采用新数据实时更新。
在本视频中，我将向你展示如何利用
SAP Analytics Cloud 建模工具准备数据。
我将介绍如何检查数据质量、 如何定义数据关系、
如何通过快捷操作和转换功能更新数据，
以及如何创建地理位置。
如果你想跟着本视频操作，请点击下方链接， 下载 Excel 数据集。
视频结束时，你将完成数据集准备并创建好模型，
之后，你就可以开始进行分析了。
我们假设 Best Run Technology 是一家办公室和客户遍布全球各地
的大型企业
和很多全球企业一样， Best Run Technology 的 KPI 与员工差旅挂钩。
你下载的数据集正是 从 SAP Concur 差旅费用软件中导出来的。
首先，我们从主菜单中选择“创建>模型”。
由于我们采用的是 Excel 数据集，
所以我们选择“从电脑导入文件”选项。
上传 Excel 文件“Best Run Travel”，选择第一页，
名为“数据上传”，点击“导入”。
由于文件中含有大量记录， 你会发现数据已经被取样。
数据取样有助于加快 SAP Analytics Cloud 在数据准备阶段的运行速度。
模型建好后，你对样本做的改动
将应用到整个数据集。
现在，我们打开建模工具的数据集成工作区。
你会注意到，工具栏中没有保存选项。
因为你必须一次性完成所有数据准备工作。
数据导入后，它们会以常见的行列格式排列。
该视图称为“表格视图”
在数据右方，详情面板列出了数据概要和模型信息。
你可以利用该面板更新模型信息， 并选择模型选项。
因为该模型仅用于分析， 所以我们就不选择“启用计划”选项了。
如果你想清晰了解数据集概况， 你可以切换到卡片视图模式。
通过卡片视图，你可以轻松地按列查看数据集。
每张卡片代表一列数据， 并给出了一些概要信息。
选择一张卡片后， 相应列的详细信息就会显示在详情面板上。
你也可以通过面板修改和优化数据。
我们先来看看列的分类情况。
度量和维度的定义是否正确呢？
在这个模型中，分类相当准确， 但通过利用详情面板，
我们可以在必要时更改数据类型。
比如，"数目"列中的信息代表
每项记录的差旅人数。
因为每行仅记录一名差旅人员的信息， 所以这项数值始终为 1。
这就说明列是度量值，不是维度值， 我们需要更新列的类型。
分类错误的情况不太可能发生， 因为 SAP Analytics Cloud 可以识别数据模式，
通常能够推断出一列数值是度量值还是维度值。
但在这种情况下，最好再次确认一下。
你也可以打开详情面板， 添加维度属性，比如描述、特性
以及层次结构等。
描述内容能为 ID 维度列提供情境信息。
比如，在 HR 模型中， 你可能需要添加描述“员工姓名”
到“员工 ID”维度列。
当你在案例中展示维度信息时， 或者将描述添加至表格以后，
描述内容会自动显示。
特性信息由与维度相关的信息构成。
同样以 HR 模型为例，你可以添加 员工的电子邮件地址和电话号码
作为“员工 ID”的特性。
这些特性信息会选择性地显示在案例的图表中。
层次结构也是维度属性， 用于创建父子关系，
这些关系将支持你向下钻取， 查看图表内不同详细程度的信息。
各类维度属性都可以在数据准备阶段创建， 也可以
在模型建成后再添加。
好了，让我们给模型添加一些描述和特性。
等模型建好后，我们再添加层次结构。
我们先按照从 A 到 Z 的顺序整理卡片。
数据集中有些 ID 列可以与相应的描述列匹配，
比如，“舱位等级”和“舱位等级描述”这两列。
请注意，ID 卡片与描述卡片上的
唯一值个数应当是一致的。
4 个 ID 应有 4 个对应的描述值。
下面我们在“舱位等级”和“舱位等级描述”之间 创建描述关联。
首先，我们选择 ID 维度列， 也就是”舱位等级”，
然后打开详情面板，选择“添加属性”、 “描述”，再选择
“舱位等级描述”。
这样就可以了！
接下来，继续添加以下描述：
然后我们再添加一些特性。
数据集中的纬度和经度坐标将用来创建地理位置，
但它们也具有各自的位置维度。
我们先看“Home_Office_ID”维度，
添加“Home_Office_LAT”和“Origin_Airport_Code”作为特性。
然后对“Origin_Airport_Code”和 “Destination_Airport”重复相同操作。
数据准备工作还包括清理数据，
确保模型中仅包含相关数据。
选择一张度量卡片后， 你可以在详情面板上检查数据质量，
并查看数据分布情况。
此时，你可以检查数据是否存在异常， 确保所有的值
都有意义。
我们现在选择“Ticket_Price”卡片。
详情面板上的数据分布区显示最低
票价为 0。
我们只想取大于 0 美元的值进行分析，所以我们可以
从模型中删除这些记录。
要想删除 0 美元的记录，你需要切换到表格视图， 选择一个值为 0 美元的单元格，
再通过快捷操作，删除值为 0 美元的行。
在数据准备过程中， 你也可能在数据集中发现整列
毫无分析价值的数据。
比如，维度列“Home_Office”没有任何价值， 因为已经有了
ID 列和描述列。
要想删除整列数据，先选择相应的卡片， 切换到表格视图，
你会发现该列仍然处于被选中的状态，
现在从列菜单中选择“删除列”快捷操作。
如你所见，可用的快捷操作很少，
但你可以通过转换功能作出更多改动。
关于数据转换，你可以从 SAP Analytics Cloud 推荐的 智能转换操作中选择，
也可以利用转换工具条自己创建转换选项。
比如，在“Carrier_Alliance”维度的详情面板中，
我们看到“OneWorld”有两种不同的版本。
这是因为 SAP Analytics Cloud 能够区分大小写。
要想快速更新这些值，统一 OneWorld 版本， 我们需要使用
智能转换功能。
先选择一个版本错误的 oneworld 单元格， 然后从单元格菜单中
选择智能转换图标。
这时你就能看到自动生成的可用转换选项。
将鼠标停留在相应选项上， 公式栏就会显示
转换公式和结果预览。
你可能发现“往返城市”名称列包含
出发城市和目的地城市。
我们也可以对其进行转换，将“往返城市”名称列拆分为两个独立的列。
首先，选中该列，点击转换工具条， 选择“拆分”，
然后添加破折号作为分隔符，完成公式。
完成转换之前，你也可以看到结果预览。
我们把新的列命名为“出发城市”和“目的地城市”。
要想了解所有可用的快捷操作和转换选项，
请访问 SAP Analytics Cloud 帮助库中的“准备数据”页面。
接下来，我们介绍数据准备阶段需要完成的最后一项数据转换，
这能让我们充分利用 SAP Analytics Cloud 强大的位置分析功能。
为了能让位置在地图上显示，我们必须 在数据准备阶段先丰富位置的地理信息。
通过转换操作，我们可以为每个位置组 创建地理维度数据。
比如，在该模型中， 我们可以在数据集中创建办公室位置
以及出发机场和目的地机场的地理维度。
我们之前已经将经纬度坐标添加为维度特性，
因此创建地理维度时， 我们可以选择“地理坐标”。
我们先从总部地理位置开始。
在“位置坐标”窗口中， 我们将地理位置命名为“总部位置”。
然后将“Home_Ofice_ID”设为位置 ID，
选择"Home_Office_Lat"和"Home Office_Long"作为坐标。
点击“创建”，即可创建新的位置。
然后对“Origin_Airport_Code”和“Destination_Airport_Code”重复相同操作。
现在，我们完成了数据准备阶段的所有步骤， 可以开始建模了。
点击“创建模型”，SAP Analytics Cloud
会将所有改动应用到整个数据集，并检查是否存在错误。
看起来好像“Travel Date”列出现了一个错误。
点击数据质量工具条，错误行会出现在列首。
现在我们可以选择替换错误值， 或者删除存在空白单元格的行。
错误纠正后，我们就可以顺利建模了。
现在我们需要检查详情面板上的模型信息，
因为一旦建模完成，所有设置无法再更改。
确定一切无误之后，点击“创建模型”， 你的主数据将会
导入到你刚刚创建的模型中。
模型建好后，你就可以用它来在 SAP Analytics Cloud 案例中创建可视化内容。
在下一个有关建模的视频中， 我会介绍一些优化模型的方法，
比如，添加层次结构、公式和其他常规增强功能等。
下次再见！
♫ 音乐 ♫