Excel 2013 PowerPivot - 3个表,关系未注册

时间:2015-07-21 03:27:18

标签: database-design excel-2013 powerpivot datamodel

我正在尝试构建一个基于Excel的数据库,用于跟踪从供应商到交付点的设备。虽然Excel 2013已经解决了我在PowerPivot和数据模型中的大多数问题,但是我的一些关系没有注册。

设计

基本上,我有以下标签和信息:

表:设备

列:标识符(唯一),包装编号,设备描述,区域

表:包装

列:标识符,包装ID

表:运费

列:包装ID,包装类型,尺寸

推理:

设备 - 每件设备都有唯一的标识符(标识符),可用于跟踪目的。交货点可以查找设备,并可以使用此ID进行跟踪,也可以购买。合同和安装需要剩余的信息。

包装 - 将设备“包装”在盒子,托盘或其他货运集装箱中。这与设备表分开,因为多件设备可以“打包”到货运集装箱中,或者可以将多件设备分成多个货运集装箱。

运费 - 这是跟踪“货运集装箱”的电子表格,无论是箱子,托盘还是集装箱。货物在运输或运输过程中需要这样做,以便轻松识别货物的外观并协助找到设备。

问题:

PowerPivot中的关系不起作用。我在包装和设备,包装和运费之间有多对一的关系,但我无法获得包装数据透视表来识别这些关系,所以,当我创建一个基于包装的数据透视表,并尝试输入其中一个来自设备或货运的其他列,它只是添加所有信息,而不是特定信息。

问题:

我的结构对于一段感情没有效果吗?我是否错误地构建了数据透视表?

以前的搜索

我看过Stackoverflow,有些东西看似相似但似乎对这个问题很复杂。 PowerPivot Relationships Not Working - Multiple Tables(与创建唯一ID相关,但我已经拥有这些ID,因此不适用) Laravel 4.2 Sync multidimensional array in pivot table(不幸的是我不知道或使用VBA,所以这让我感到困惑,但我认为设计似乎是一个简单的问题太多了) https://stackoverflow.com/questions/25913739/three-tables-in-pivot-laravel(这似乎回答了这个问题,但我无法让它发挥作用,Lavarel再次超出我的能力)

我不介意学习新东西,所以如果VBA或其他是唯一的答案,我只会学习!然而,这似乎是一个简单的功能,可以在excel中完成,我只是错过了一些关键的东西。我更喜欢让数据库尽可能简单,不太可能破解!

我真的很感谢你的帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

您在PowerPivot中的关系是这样的:

enter image description here

..包装表中的标识符链接到设备表中的标识符,包装表中的包装ID是否与运费表中的包装ID相关联?

如果是这样,只要您将设备和货运表中的字段添加到您的数据透视表,模型结构就可以了。您不需要任何VBA或Laravel,但您可能需要一些DAX度量来获得要在表上正确显示的结果。您能否准确提供有关您希望看到的内容的更多信息?

编辑:扩展答案以考虑更多信息

好的,为了说明这是如何工作的,我已经编制了一些数据。我不知道你的“包装否”栏是什么,所以我把它留空了。

enter image description here

如果我使用Freight表中的Packing ID和Equipment表中的Identifier创建一个数据透视表,那么我得到这个:

enter image description here

这显示了包装ID和标识符的每个组合,这是您看到的行为,而不是您所追求的,但等等!如果我创建一个在包装表上执行某种计算的度量,会发生什么:

[Rows in Packaging Table]:=COUNTROWS('Packing')

然后将其添加到数据透视表中的值:

enter image description here

看起来很有希望。但是我们如何获得表格中设备字段的文本值?

[Description]:=FIRSTNONBLANK(Equipment[Equipment Description],1)

给出:

enter image description here

对,这有两个问题。首先,所有行都返回,其次,总计显示我们不想要的值。让我们添加一个新的度量来处理这些(注意AND语句的两个部分执行这两个条件的检查)。

[Description CrossMatch]:=IF(AND([Rows in Packaging Table]>0,COUNTROWS(VALUES(Equipment[Equipment Description]))=1),[Description],BLANK())

结果是:

enter image description here

可以使用相同的方法将设备表中的任何字段拉入枢轴。货运表中的字段可以直接添加,无需任何公式。