导航到 D:\Allfiles\Labs\03-configure-data-model-in-power-bi-desktop\Starter 文件夹,然后选择 Sales Analysis 文件。
**
**
关闭任何可能打开的信息窗口。
转到“文件”>“另存为”,并将文件保存到 D:\Allfiles\MySolution 文件夹。
**
**
创建模型关系
在本任务中,你将创建模型关系。 该文件配置为不标识先前实验室中的表之间的关系。 这不是默认设置,但建议使用该设置,以避免在为模型创建正确的关系时执行额外的工作。
重要说明:实验室使用速记表示法引用字段。如下所示:“Product | Category”。在此示例中,Product 是表名,Category 是字段名。
在 Power BI Desktop 的左侧,选择“模型”视图图标。
在“基数”下拉列表中,请注意,选择了“一对多(1:*)”。
由于 Power BI 认为“Product”表中的“ProductKey”列包含唯一值,因此已自动检测到基数。* *一对多关系是最常见的基数,在本实验室中创建的所有关系都将是这种类型。
在“交叉筛选方向”下拉列表中,请注意,选择了“单向”。
单个筛选方向表示筛选器从“一侧”传播到“多侧”。在本例中,这意味着应用于“Product”表的筛选器将传播到“Sales”表,但传播方向不能反过来 。
可以看到“将此关系标记为可用”处于选中状态。
活动关系传播筛选。
可以将关系标记为非活动状态,这样筛选就不会传播。当表之间存在多个关系路径时,可能存在非活动关系。
在这种情况下,模型计算可以使用特殊函数来激活它们。
选择“确定”,可以看到“管理关系”窗口中已列出新关系,然后选择“关闭” 。
请注意,两个表之间现在有一个连接器(两个表是否彼此相邻无关紧要)。
可以解释基数,其由“1”和“(*)”指示器表示 。
筛选方向由箭头表示。
实线表示活动关系,虚线表示非活动关系。
将光标悬停在关系上以突出显示相关列。
在“属性”窗格的“说明”框中,输入:“Based on standard cost” 。
说明可应用于表、列、层次结构或度量。在“数据”窗格中,当报表作者将光标悬停在字段上时,说明文本会在工具提示中显示。**
选择“Quantity”列。
在“属性”窗格的“格式设置”部分中,将“千位分隔符”属性滑动到“是”。
选择“Unit Price”列。
在“属性”窗格的“格式设置”部分中,将“小数位数”属性设置为“2” 。
在“高级”组(可能需要向下滚动以找到它)的“汇总依据”下拉列表中,选择“Average”。
默认情况下,数字列通过将值加在一起进行汇总。此默认行为不适用于“Unit Price”之类的代表比率的列。将默认汇总设置为平均值可生成有意义的结果。
批量更新属性
在此任务中,使用单个批量更新来更新多个列。 可使用此方法来隐藏列,并设置列值的格式。
在“数据”窗格中,选择“Product | ProductKey”列 。
在按下 Ctrl 键的同时选择以下 13 列(跨多个表):
Region | SalesTerritoryKey
Reseller | ResellerKey
Sales | EmployeeKey
Sales | ProductKey
Sales | ResellerKey
Sales | SalesOrderNumber
Sales | SalesTerritoryKey
Salesperson | EmployeeID
Salesperson | EmployeeKey
Salesperson | UPN
SalespersonRegion | EmployeeKey
SalespersonRegion | SalesTerritoryKey
Targets | EmployeeID
在“属性”窗格中,将“已隐藏”属性滑动到“是” 。
这些列是隐藏的,因为它们要么被关系使用,要么将在行级别安全性配置或计算逻辑中使用。
“在 Power BI Desktop 中创建 DAX 计算”实验室中会在计算中使用 SalesOrderNumber。
从以下三个列中进行选择(多选):
Product | Standard Cost
Sales | Cost
Sales | Sales
在“属性”窗格的“格式设置”部分中,将“小数位数”属性设置为“0”(零)。
查看模型界面
在本练习中,切换到“报表”视图并查看模型界面。
查看模型界面
在此任务中,切换到“报表”视图并查看模型界面。
切换到“报表”视图。
在“数据”窗格中,请注意以下事项:
列、层次结构及其级别均为字段,可用于配置报表视觉对象
仅与报表创作相关的字段可见
“SalespersonRegion”表不可见,因为它的所有字段都被隐藏
“Region”和“Reseller”表中的空间字段使用空间图标修饰
默认情况下,使用 sigma 符号 (Ʃ) 修饰的字段将进行汇总
将光标悬停在“Sales | Cost”字段上时,将显示工具提示
展开“Sales | OrderDate”字段,并注意它显示日期层次结构。
“Targets | TargetMonth”字段提供类似的层次结构。这些层次结构不是由你创建的。它们是自动创建的。但是,有一个问题。Adventure Works 的会计年度从每年的 7 月 1 日开始。但是,在这些自动创建的日期层次结构中,日期层次结构年份始于每年的 1 月 1 日。
现在,关闭此自动行为。 “在 Power BI Desktop 中创建 DAX 计算”实验室中使用 DAX 创建日期表,并对其进行配置以定义 Adventure Works 的日历。
若要关闭自动/日期时间,请导航到“文件”>“选项和设置”>“选项”>“当前文件”组,然后选择“数据加载” 。
在“时间智能”部分中,取消选中“自动日期/时间”。
表显示每个销售人员的销售额。但是,销售员与销售额之间存在另一种关系。一些销售人员属于一个、两个或可能更多的销售区域。此外,销售区域可以分配有多个销售人员。
从绩效管理的角度来看,需要分析销售人员的销售额(基于其分配的区域)并将其与销售目标进行比较。在下一个练习中,你将创建关系来支持此分析。
请注意,Michael Blythe 的销售额已近 900 万美元。
切换到“模型”视图,然后拖动“SalespersonRegion”表,将其放置在“Region”和“Salesperson”表之间 。
使用拖放方法创建以下两个模型关系:
“Salesperson | EmployeeKey”到“SalespersonRegion | EmployeeKey”
“Region | SalesTerritoryKey”到“SalespersonRegion | SalesTerritoryKey”
“SalespersonRegion”表可被视为桥接表**。
切换到“报表”视图,然后可以看到,视觉对象尚未更新,即 Michael Blythe 的销售结果尚未更改。
切换回“模型”视图,然后按照“Salesperson”表中的关系筛选方向(箭头)进行操作。
假设“Salesperson”表筛选了“Sales”表。它还会筛选“SalespersonRegion”表,但不会继续将筛选器传播到“Region”表(箭头指向错误方向)。
切换到“报表”视图,然后注意到销售额仍未更改。
问题现在与以下事实有关:“Salesperson”和“Sales”表之间存在两个可能的筛选器传播路径。基于“最少表数”评估,这种歧义在内部得到解决。需要明确的是,不应设计具有此类歧义的模型,该问题在本实验室的后面部分通过完成“在 Power BI Desktop 中创建 DAX 计算”实验室得以解决。
切换到“模型”视图以强制通过桥接表传播筛选器。 请编辑(双击)“Salesperson”表和“Sales”表之间的关系 。
在“编辑关系”窗口中,取消选中“将此关系设置为活动”复选框,然后选择“确定” 。
筛选器传播现在将遵循唯一的可用路径。
在关系图中,请注意,非活动关系由虚线表示。
还要注意,每个销售员的销售额(如果相加)将超过表中的总额。
由于对区域销售额结果进行了两次、三次等计数,因此这通常是针对多对多关系的观测结果。考虑列出的第二个销售人员 Brian Welcker。他的销售额等于总销售额。这是正确的结果,因为他是销售总监;他的销售额按所有区域的销售额进行度量。
虽然多对多关系现在有效,但现在无法分析销售人员的销售额(因为该关系处于非活动状态)。如果在“在 Power BI Desktop 中创建 DAX 计算”实验室中引入一个计算表,用于分析向销售人员分配的销售区域的销售额(用于绩效分析),就能够重新激活此关系。
切换到“建模”视图,然后在关闭图中选择“Salesperson”表。
在“属性”窗格的“名称”框中,将文本替换为“Salesperson (Performance)”。
已重命名的表现在反映了它的用途:用于根据对销售人员分配的销售区域的销售额来报告和分析销售人员的绩效。
关联“Targets”表
在本任务中,创建与“Targets”表的关系
通过“Salesperson (Performance) | EmployeeID”列和“Targets | EmployeeID”列创建关系 。
在“报表”视图中,将“Targets | Target”字段添加到表视觉对象。
重设表视觉对象的大小,使所有列均可见。
现在能够以可视化方式显示销售额和目标,但请注意两个原因。首先,没有对时间段应用筛选,因此目标还包括将来的目标金额。其次,目标不可相加,因此不应显示总计。可以通过设置视觉对象的格式来禁用它们,也可以使用计算逻辑将其移除。“在 Power BI Desktop 中创建高级 DAX 计算”实验室中采用第二种方法:创建一个目标度量值,该度量值会在筛选的销售人员数超过一个时返回 BLANK。
在此任务中,你将完成此实验室。
保存 Power BI Desktop 文件,如果系统提示应用查询,请选择“稍后应用”。