将 Excel 数据透视表链接到与 PowerPivot 或 PowerQuery 具有多对多关系的切片器

问题描述 投票:0回答:1

我正在努力找出正确的 Excel 数据模型关系技术,以通过两步过程将切片器链接到数据透视表。

这是我的简单 Excel 要下载的文件

我的示例数据中有三个字段:人员、活动和成本。我希望用户能够在活动切片器中选择一个活动(或多个活动),然后显示执行该活动的任何人员的完整成本和活动数据。以下是数据表 (1.) 及其完整数据透视表 (2.) 的屏幕截图。我想要的输出在(3.)中进行了模拟。它基本上是 (2.) 的子集。复杂的是,我想显示该人员的完整记录(即所有活动),而不仅仅是用户在切片器中选择的活动。因此,存在切片器活动 -> 人员 -> 每人所有活动/

的关系

Screenshot of data and desired outcome

我可以轻松地将流程分解为一些简单的联接和关系,但我不确定如何在 Power Pivot 或 Power Query 中实现以下内容。每当切片器更新时,它都必须更新最终表(步骤 4)。我只是不确定如何从活动切片器桥接到人员表,然后从人员表连接回源数据。

screenshot of data model stages

这可以简单地在 Power Pivot 中完成吗?

pivot-table powerquery powerpivot slicers excel-2019
1个回答
0
投票

您将需要使用 Excel 中的数据模型和度量来实现此目的。以下是步骤概述,然后是详细信息。

  1. 将数据表加载到 PowerQuery 中,然后我们将其复制以创建一个仅包含不同活动值的新表。我们将仅将新表用于切片器。
  2. 从 PowerQuery 将数据加载到数据模型(仅)。我们不会使用任何关系。我们将制定一项措施来返还成本

步骤如下:

1。将表加载到 PowerQuery

  • 选择带有表标题的表,然后选择“数据”选项卡(功能区中)>“来自表/范围”(左侧)
  • Power Query 编辑器将打开并显示您的表格。左侧,右键单击
    Table 1
    并将其重命名为
    Activity
  • 右键单击
    Activity
    (再次在左侧)并选择
    Reference
    。这将基于第一个查询(表)创建一个新查询(表)。
  • 右键单击这个新表并将其重命名为
    Activity Slicer
  • Activity Slicer
    中,右键单击
    Activity
    列标题并选择
    Remove other columns
  • 再次右键单击同一列标题并选择
    Remove Duplicates
  • 在此阶段,您应该有两个查询(表),1.
    Activity
    (与电子表格中相同); 2.
    Activity Slicer
    - 具有不同值的单列
    Activity
  • 主页选项卡(在功能区中)选择
    Close & Load
    上的向下箭头,然后选择
    Close & Load To...
  • Import Data
    窗口中,选择
    Only Create Connection
    ,然后在底部选择(选中)
    Add this data to the Data Model


2。在数据模型中创建度量

  • 返回主 Excel,转到 Power Pivot 选项卡并选择
    Manage
    (第一个,其下方有数据模型)。
  • Power Pivot for Excel 窗口将打开,在这里您将在上面步骤 1 中的每个查询(表)的底部看到一个选项卡。
  • 选择
    Activity
    选项卡,然后选择计算区域中的任意单元格。如果计算区域不可见,请在功能区中选择它。
  • 在公式栏中输入以下内容:
Total Cost:=
  var persons = CALCULATETABLE(
    VALUES(Activity[Person]),
    FILTER(ALL('Activity'), CONTAINS('Activity Slicer', [Activity], 'Activity'[Activity]))
  )
  var result = CALCULATE(
    SUM('Activity'[Cost £k]),
    FILTER(Activity,  'Activity'[Person] IN persons  )
  )
  
  RETURN result

就是这样 - 不需要任何关系。关闭 Power Pivot 窗口并返回主 Excel。

3.创建/添加枢轴和切片器

  • 在功能区的“插入”选项卡中,单击数据透视表(第一个)上的向下箭头,然后选择
    From Data Model
    • 将活动 > 人员添加到行
    • 添加活动 > 活动到列
    • 添加活动 > 总成本到值
  • 在功能区的 Intert 选项卡中,选择
    Insert Slicer
    。选择
    All
    选项卡,您应该会看到数据模型中的表。选择
    Activity Slicer > Activity

就是这样 - 测试!

© www.soinside.com 2019 - 2024. All rights reserved.