Indexing Qlikview:显示最小值和最小值相关值的表格框或直线/轴

Indexing Qlikview:显示最小值和最小值相关值的表格框或直线/轴,indexing,min,qlikview,Indexing,Min,Qlikview,这让我快发疯了。 假设我有一大堆清单,上面有产品名称、价格和定价来源: 产品,1美元,美国 产品,2欧元,欧盟 产品,0.5欧元,香港 在不复制相同产品名称的记录的情况下,获得此结果的正确表配置是什么 产品售价0.5欧元港币 也就是说,该表计算最低价格并显示最低价格的正确来源 我要么得到所有扩展的pivot dupe产品,要么返回的产品来源是伪造的。 Excel的pivot不会显示重复的行,简单的索引和匹配函数工作得很快,但我希望这两个计算能够在Qlikview中成功完成 请帮忙, -v您应该在

这让我快发疯了。 假设我有一大堆清单,上面有产品名称、价格和定价来源: 产品,1美元,美国 产品,2欧元,欧盟 产品,0.5欧元,香港

在不复制相同产品名称的记录的情况下,获得此结果的正确表配置是什么 产品售价0.5欧元港币

也就是说,该表计算最低价格并显示最低价格的正确来源

我要么得到所有扩展的pivot dupe产品,要么返回的产品来源是伪造的。 Excel的pivot不会显示重复的行,简单的索引和匹配函数工作得很快,但我希望这两个计算能够在Qlikview中成功完成

请帮忙,
-v

您应该在如下结构中规范化数据:

PRODUCTS_TABLE
-description
-price
-id_origin (FK)

ORIGINS_TABLE
-id
-country
id和id_原点是链接的(FK是外键,id是主键)。 您的初始数据应该被分割并适合这种结构。
然后,您应该可以轻松地构建您的pivot。

您需要在应用程序的脚本部分完成此操作

首先,您需要建立一个产品及其最低价格的列表

 LOWEST_PRICES:
 Load Product_ID, 
      min(Selling_Price) as Min_Price
 resident SOURCE_TABLE
 group by Product_ID;
然后,您将使用最低价格和产品ID的组合,将源位置连接回表中

left join
Load Product_ID,
     Selling_Price as Min_Price,
     Source_Location
Resident SOURCE_TABLE;

然后,您可以让QlikView与原始表中的产品ID相关联,它将始终向任何想到解决方案的人返回一个来源位置和一个最低价格-这里有一个修改版本主要功劳归布达克),以实际获得比我最初要求的更多的东西。这是一个进步,实际上给了我最低和最高价格,以及这两个价格的来源;修改左连接原点字段使其唯一是从我的数据中获得多个答案的关键;享受吧

**


**

嗨,我不太明白——就我而言,“国家”本身就是一个id。因此,添加一个伪造的fk外键id将使product表通过链接到另一个带有id的表(Originations_表)正确地找到-country,这是您的意思吗?但是计算出的最低价格(通过表达式)应该是程序查找国家的链接值,不是吗?逻辑将如何工作?我通常更喜欢代理键(id为整数)。如果您将国家作为键,那么id_origin将替换为“country”。一旦你设置了域模型,你就可以开始构建它的报告了。我对Qlikview不是很精通,所以我还不知道如何构建域模型。但是,我的脚本文件设置了多个源来捕获字段,如唯一ID、名称、品牌、价格、来源,并且由于pivot表在请求值时显示为空值,因此我在同一脚本中创建了另一个文档链接,该链接具有与名称、品牌匹配的唯一ID。等,但即使QV允许我在我的ID+名称旁边获得最低价格,确切最低价格的来源将显示为空或空白,因此我仍在试图理解你的建议。抱歉-我很慢。好的,我现在仔细考虑了我的想法,让我知道我的操作是否正确:我将两个列表中的原点列命名为相同的(原点字段现在显示为键维度);现在我想发生的是:我所有列表的名称和id都是连接的,因此名称上没有空值,例如min(PRICE)等表达式显示产品的min值,而origin表达式现在显示的是前一个表达式返回的每个最低价格的正确国家代码。那么,我成功了吗?让我直截了当地说吧——完全在程序中是没有办法做到的?它不能根据返回的值查找值吗?因此,现在我们基本上是给程序答案,并操纵它显示它们的方式——这并不是我想象的它应该如何工作的。此解决方案是否有效,至少为QV提供所有值,告诉它将最低价格作为维度加载,并显示与id相关的数据?我的全部观点是不必在Qlikview之外准备任何计算。抱歉,我真的希望这只是受到外部额外计算的影响最小。我建议的脚本在QlikView中。是的,我理解这一点。但在这种情况下,最低价格需要从文档中加载,这就是您所说的,因此Qlikview不会计算最低价格。有没有办法告诉qlikview与最低价格相关的参考值?比如,如果我让表格显示相同产品ID的最低/最高价格-知道哪个国家有最低或最高价格?这个方法让我在qlikview之外计算它,然后只加载数据,看起来这要容易得多。我可能错了,但我没有完全理解你。好吧,我完全尝试了你的方法。56K行中有大约9K个错误。因此,几乎五分之一与价格来源有关的信息是不正确的。可能的原因是什么?好吧,划掉最后一条评论——经过进一步仔细检查,它实际上给出了正确的值。我很惊讶excel中的索引(匹配)竟然失败得这么惨。我希望我知道错误的原因。
LOWESTPRICES:
LOAD EAN,
     min(PRICE) as MINEUR
resident ALL
group by EAN;
left join
LOAD EAN,
     PRICE as MINEUR,
     ORIGIN as MINORIGIN
Resident ALL;
HIGHESTPRICES:
LOAD EAN,
     max(PRICE) as MAXEUR
resident ALL
group by EAN;
left join
LOAD EAN,
     PRICE as MAXEUR,
     ORIGIN as MAXORIGIN
resident ALL;
//BRAND AND NAMES
LOAD EAN,
     ESSBRAND,
     ESSNAME