我在Excel 2010中有两个简单的表格--产品和销售。
然后我将它们链接到PowerPivot中,并在此创建了从Sales.ProductId到Products.Id的关系,就像这样。
现在,我试图建立一个Pivot,为销售表中的每个产品Id也显示我的类别和采购价格从ProductTable。然而,这里我卡住了--因为这个关系是有问题的。当配置Pivot时,我得到了一条消息。Relationship may be needed
即使关系已经存在。由此产生的--错误的--数据透视表是这样的。
尽管我实际上是想实现这个目标,
我知道我可以在PowerPivot的Sales表中创建计算列,然后使用以下方法拉出所有需要的数据 RELATED
DAX函数--但由于现实世界中的项目需要大量的连接和字段,我希望有比这个变通方法更好的解决方案......
我上传了示例文件 此处.
我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊!我的天啊,
不过你的问题比我一开始的问题要棘手,我花了不少时间去研究,但我想我看了这个之后找到了解决方法 关于在相关表格中进行单独计数的文章.
我更新了你的源文件(所以 销售部 表中每个产品的销售额超过1个)和 上传到我的公共Dropbox文件夹.
你可以看到,我创建了4个新的 计算措施 来说明我的解决方案,并使其更容易理解(Excel 2010术语,在2013年它是 计算领域):
销售价格合计
=SUM(Sales[SalesPrice])
销售产品
=COUNT(Sales[ProductId])
每项采购价格
=CALCULATE(SUM(Products[PurchasePrice]),Sales)
购买价格总计
=[Purchase Price per Item] * [Product Sold]
这里的关键区别是计算公式,即 单价. 你为什么要 SUM 产品购买价格在 计算 函数的详细解释在 链接文章 (尽管上下文有点不同)。
这样,在销售表(相关表)上活动的任何过滤器都会传播到查询表。
可能还有一些我遗漏的部分,但我在其他几个例子中试过了,它的工作原理应该是这样的。