Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-数据模型-表之间的关系不起作用_Excel - Fatal编程技术网

Excel-数据模型-表之间的关系不起作用

Excel-数据模型-表之间的关系不起作用,excel,Excel,我试图在网上找到解决这个问题的办法,但似乎找不到。这可能是因为我没有用正确的措辞进行搜索,因为这也很难描述。不管怎样,我希望有人能帮上忙 处境 我有一个同事给我的Excel文档,里面有一个表格。它上面有很多数据,但是为了这个例子,让我们假设它看起来像这样: Employee ID Date Hired ----------- ---------- 1 1/9/2019 2 5/

我试图在网上找到解决这个问题的办法,但似乎找不到。这可能是因为我没有用正确的措辞进行搜索,因为这也很难描述。不管怎样,我希望有人能帮上忙

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

 Employee ID          Date Hired
 -----------          ----------
 1                    1/9/2019
 2                    5/4/2016
 3                    6/10/2017
 4                    3/8/2019
我想从SQL中提取其他数据并连接两个表,因此我采取的措施是:

  • 已确认员工ID列的格式为数字
  • 将表添加到数据模型中
  • 向工作簿中添加了一个新查询,该查询提取了我要添加的数据。加载为“仅连接”,但也“添加到数据模型”。让我们假设桌子是这样的:
  • 在“数据”选项卡中,我打开了“管理数据模型”,并确认两个表都包含在内
  • 确认两个表上的“员工ID”列都被分类为数据类型“整数”
  • 切换到图表视图,通过将员工ID从一个表拖到另一个表,在两个表之间创建了新的关系
  • 注意,关系的格式为:

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

    但是,这两个字段都没有重复的雇员ID字段,我已经确认了这一点

    问题 现在我想创建一个透视表来切片数据(这对于实际的表更有意义)

  • 我创建了一个新的透视表,在右边我看到了原始表和查询表
  • 我将Name列从查询表拉入Rows区域
  • 我将Date Hired列从原始表拉入Rows区域,在Name列下面
  • 我期望看到的:

    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
    
    我实际看到的:

    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
    
    从本质上说,它无法识别哪个日期属于谁,因此它列出了“每个人”下的所有日期

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


    提前感谢您的帮助

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

    是否从数据模型的表中添加列?(他们有一个黄色图标)只有查询旁边有一个黄色图标,它看起来像一个小数据库,所以我假设这意味着它是一个数据库连接。透视表的选项如下:原始表:看起来像一个灰色顶部的日历查询:看起来像一个灰色顶部的日历,旁边有一个金色数据库excel中的第三个表,但我没有添加到数据库中:如果使用带有数据库图标的表,看起来像一个带有白色拓扑的日历,你说得对。试着检查一下这种关系的发展方向,看看这篇文章:不幸的是,这似乎不是问题所在。在本例中,我将原始表视为“多”表,将查询表视为“一个表”;然而,值得注意的是,目前这两个表都没有任何employee ID值的重复,所以我可能可以用任何一种方法来做,而且我已经尝试了两种方法。不幸的是,这也不起作用。然而,当我测试这个新角度时,它确实弹出了一个黄色框,表示它需要一段关系。我点击了黄色框中的创建关系并连接了员工ID,它说它不能这样做,因为它会创建循环关系?这可能是因为我已经在数据中创建了关系model@Ricardo迪亚兹,谢谢,这对我很有用。