创建分区

适用于:SQL Server 2019 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

在本课中,将创建分区来将 FactInternetSales 表拆分为较小的逻辑部件,然后可以彼此独立地处理(刷新)各个逻辑部件。 默认情况下,模型中包含的每个表都有一个分区,该分区包括该表的所有列和行。 对于 FactInternetSales 表,我们希望按年份拆分数据;每个分区包含表中每五年的数据。 然后,每个分区可独立进行处理。 若要了解详细信息,请参阅分区

学完本课的估计时间: 15 分钟

先决条件

本文是表格建模教程的一部分,应当按顺序完成。 在执行本课中的任务之前,应当已完成上一课:第 9 课:创建层次结构

创建分区

若要在 FactInternetSales 表中创建分区

  1. 在表格建模资源管理器中,展开“表”,然后右键单击“FactInternetSales”>“分区”。

  2. 在分区管理器中,单击“ 复制”,然后将名称更改为 FactInternetSales2001

    由于希望分区仅包含特定时间段内的这些行,因此对于 2001 年,必须修改查询表达式。

  3. 单击“设计”打开查询编辑器,然后单击 FactInternetSales2001 查询。

  4. 在预览版中,单击“OrderDateKey”列标题中的向下箭头,然后单击“介于之间的数字筛选器>”。

    Power Query 编辑器的屏幕截图,其中显示了“数字筛选器>间隔”处于选中状态。

    你将看到 OrderDateKey 的数据类型为整数 (整数) 。 这是在数据仓库的日期键列中表示日期的最常见方法。 我们想要筛选年份,这是 OrderDateKey 中值的前四个数字。

  5. 在“筛选行”对话框的“ 保留行位置:OrderDateKey”中,保留 大于或等于,然后在数字字段中输入 20010101。 将 And 运算符保留为选中状态,保留 小于或等于,然后在数字字段中输入 20011231,然后单击“ 确定”。

    “筛选行”对话框的屏幕截图,其中显示了已选择和设置正确的选项。

    单击“确定”后,将返回到查询编辑器。 请注意,在“已应用的步骤”中,会看到另一个名为“筛选行”的步骤。 此筛选器仅选择 2001 年订单日期。

  6. 单击“导入” 。

    在分区管理器中,请注意,查询表达式现在具有一个附加的 Filtered Rows 子句。

    分区管理器中查询表达式的屏幕截图,其中突出显示了“筛选行”子句。

    此语句指定此分区应仅包含 OrderDateKey 位于 2001 日历年的那些行中的数据,如筛选的 rows 子句中指定的那样。

创建 2002 年的分区

  1. 在分区列表中,单击创建的 FactInternetSales2001 分区,然后单击“ 复制”。 将分区名称更改为 FactInternetSales2002

    不需要使用查询编辑器来创建新的 filtered rows 子句。 由于为 2001 创建了查询的副本,因此只需对 2002 的查询稍作更改。

  2. 查询表达式中,为了使此分区仅包含 2002 年的那些行,请将 Filtered Rows 子句中整数的年份部分分别替换为 2002010120021231,如下所示:

    let
        Source = #"SQL/probiuesqlserver database windows net;AdventureWorksDW",
        dbo_FactInternetSales = Source{[Schema="dbo",Item="FactInternetSales"]}[Data],
        #"Filtered Rows" = Table.SelectRows(dbo_FactInternetSales, each [OrderDateKey] >= 20020101 and [OrderDateKey] <= 20021231)
    in
        #"Filtered Rows"
    
    

为 2003、2004 和 2005 创建分区。

  • 按照前面的步骤操作,为 2003、2004 和 2005 创建分区,将 Filtered Rows 子句中的年份更改为仅包含该年份的行。

删除 FactInternetSales 分区

现在,已有了用于每个年份的分区,可以删除 FactInternetSales 分区;这可以防止在处理分区时选择了“全部处理”时出现重叠。

删除 FactInternetSales 分区

  • 单击 默认分区 ,然后单击 “删除”。

处理分区

在分区管理器中,请注意,创建的每个新分区的“上次处理时间”列表明这些分区从未处理过。 在创建分区时,应当运行“处理分区”或“处理表”操作来刷新那些分区中的数据。

处理 FactInternetSales 分区

  1. 单击“确定”以关闭分区管理器。

  2. 单击“ 扩展>模型>处理>处理分区”。

  3. 在“处理分区”对话框中,验证“模式”是否已设置为“处理默认值”。

  4. 选中创建的五个分区中每个分区的“处理”列中的复选框,并单击“确定”。

    “处理分区”对话框的屏幕截图,其中突出显示了 Fact Internet Sales 2005 行。

    如果系统提示输入凭据,请输入你在第 2 课中指定的凭据。

    此时会出现“数据处理”对话框,其中显示了每个分区的处理详细信息。 请注意,为每个分区传输的行数不同。 每个分区仅包含筛选行语句中指定的年份的那些行。 当处理完成后,继续操作并关闭“数据处理”对话框。

    “数据处理”对话框的屏幕截图,其中显示了“成功”。

后续步骤

转到下一课: 第 11 课:创建角色