补充课程 - 详细信息行
适用于:SQL Server 2017 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
在本补充课程中,将使用 DAX 编辑器来定义自定义详细信息行表达式。 详细信息行表达式是关于度量值的一个属性,向最终用户提供关于度量值的聚合结果的详细信息。
本课预计完成时间:10 分钟
先决条件
本补充课程文章是表格建模教程的一部分。 在执行本补充课程中的任务之前,应当已完成了前面的所有课程,或者具有已完成的“Adventure Works Internet 销售”示例模型项目。
问题出在哪里?
在添加详细信息行表达式之前,让我们看一下 InternetTotalSales 度量值的详细信息。
在 Visual Studio 中,单击“Excel 中的扩展>模型>分析”以打开 Excel 并创建空白数据透视表。
在 数据透视表中,将 FactInternetSales 表中的 InternetTotalSales 度量值添加到 Values, 将 DimDate 表中的 CalendarYear 添加到 Columns,将 DimGeography 表中的 EnglishCountryRegionName 添加到 Rows。 数据透视表现在按区域和年份显示 InternetTotalSales 度量值的聚合结果。
在数据透视表中,双击针对某个年份和区域名称的聚合值。 此处,双击针对澳大利亚和 2014 年的值。 此时将打开一个新的工作表,其中含有数据,但并无用处。
此处我们希望看到一个表,其中包含有助于 InternetTotalSales 度量的聚合结果的数据列和行。 为实现此目标,我们可以将一个详细信息行表达式添加为该度量值的属性。
添加详细信息行表达式
创建详细信息行表达式
在 FactInternetSales 表的度量值网格中,单击“InternetTotalSales”度量值。
在 “属性>详细信息行表达式”中,单击编辑器按钮以打开 DAX 编辑器。
在 DAX 编辑器中,输入以下表达式:
SELECTCOLUMNS( FactInternetSales, "Sales Order Number", FactInternetSales[SalesOrderNumber], "Customer First Name", RELATED(DimCustomer[FirstName]), "Customer Last Name", RELATED(DimCustomer[LastName]), "City", RELATED(DimGeography[City]), "Order Date", FactInternetSales[OrderDate], "Internet Total Sales", [InternetTotalSales] )
此表达式指定了当用户双击数据透视表或报表中的聚合结果时会从 FactInternetSales 表和相关表中返回的名称、列和度量值结果。
回到 Excel 中,删除在第 3 步中创建的工作表,并双击某个聚合值。 这一次,使用为度量值定义的“详细信息行表达式”属性,将打开包含更多有用数据的新工作表。
重新部署模型。