【问题标题】:Excel - Data Model - Relationship between Tables Not WorkingExcel - 数据模型 - 表之间的关系不起作用
【发布时间】:2019-09-16 22:17:35
【问题描述】:

我试图在网上找到解决此问题的方法,但我似乎找不到。可能是因为我没有按正确的措辞搜索,因为它也很难描述。无论如何,我希望有人可以提供帮助。

情况

我有一个同事给我的 Excel 文档,里面有一个表格。它有很多数据,但是为了这个例子,假设它看起来像这样:

 Employee ID          Date Hired
 -----------          ----------
 1                    1/9/2019
 2                    5/4/2016
 3                    6/10/2017
 4                    3/8/2019

我想从 SQL 中提取额外的数据并连接两个表,所以我采取的操作是:

  1. 确认员工 ID 列的格式为数字
  2. 将表添加到数据模型中
  3. 向工作簿添加了一个新查询,用于提取我想要添加的数据。加载为“仅连接”但也“添加到数据模型”。让我们假设该表如下所示:
     Employee ID          Name                 Email
     -----------          ----------           --------------
     1                    Anthony              Anthony@company.com
     2                    Josh                 Josh@company.com
     3                    Jay                  Jay@company.com
     4                    Shane                Shane@company.com
     5                    Paul                 Paula@company.com
     6                    Steve                Steve@company.com
  1. 从“数据”选项卡中,我打开了“管理数据模型”并确认两个表都包含在内。
  2. 确认两个表上的“员工 ID”列都归类为“整数”数据类型
  3. 切换到图表视图并通过将员工 ID 从一个表拖到另一个表来创建两个表之间的新关系。

注意,关系格式为:

[原始表] * ----- 1 [查询表]

但是,我已确认的 Employee ID 字段没有任何重复。

问题

我现在想创建一个数据透视表来对数据进行切片(使用真实表更有意义)。

  1. 我创建了一个新的数据透视表,在右侧我可以看到原始表和查询表。
  2. 我将查询表中的名称列拉到行区域中
  3. 我将“雇用日期”列从原始表中拉到“名称”列下方的“行”区域中

我期望看到的:

Anthony
     1/9/2019
Josh
     5/4/2016
Jay
     6/10/2017
Shane
     3/8/2019
Paul
Steve

我实际看到的:

Anthony
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019
Josh
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019
Jay
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019
Shane
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019
Paul
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019
Steve
     1/9/2019
     5/4/2016
     6/10/2017
     3/8/2019

本质上它无法识别谁属于谁,所以它列出了每个人下面的所有日期。

鉴于我已经验证它们是相同的数据类型并且每个表上都有匹配的数字,任何人都可以澄清为什么会发生这种情况吗?

提前感谢您的帮助!!!

【问题讨论】:

  • 您是从数据模型的表中添加列吗? (它们有一个黄色图标)
  • 只有查询旁边有一个黄色的图标,它看起来像一个小数据库,所以我只是假设它意味着它是一个数据库连接。数据透视表的选项如下: 原始表:看起来像带有灰色顶部的日历 查询:看起来像带有灰色顶部和旁边的金色数据库的日历 excel 中的第三个表,但我没有'不添加到数据库中:看起来像一个带白顶的日历
  • 好的,如果您使用的是带有数据库图标的那些,那么您是对的。试试看关系的方向看这篇文章:tinylizard.com/power-pivot-relationships
  • 不幸的是,这似乎不是问题。在这种情况下,我将原始表视为“Many”表,将查询表视为“One table”;但是可能值得注意的是,目前这两个表都没有员工 ID 值的任何重复,因此我可能可以采用任何一种方式,并且两种方式都尝试过。

标签: excel


【解决方案1】:

您当前正在查看每个员工的所有日期,因为您尚未将字段(列)添加到数据透视表的值中。在您的示例中,从“查询表”(或具有日期的表)中添加“员工 ID”

【讨论】:

  • 不幸的是,这也不起作用。然而,当我测试这个新角度时,它确实弹出了一个黄色框,说它需要一个关系。我在那个黄色框中点击了创建关系并连接了员工 ID,它说它不能这样做,因为它会创建一个循环关系?
  • 这可能是因为我已经在数据模型中创建了关系
  • @Ricardo Diaz 谢谢,这对我有用。
猜你喜欢
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 2015-02-14
  • 2019-03-25
  • 2016-05-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-08
相关资源
最近更新 更多