首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨多个字段的数据标准化/搜索

跨多个字段的数据标准化/搜索
EN

Stack Overflow用户
提问于 2013-10-02 16:37:27
回答 1查看 1.2K关注 0票数 0

有一些非正规化数据,如下所示:

代码语言:javascript
复制
FruitData:
LOAD * INLINE [
ID,ColumnA, ColumnB, ColumnC
1,'Apple','Pear','Banana'
2,'Banana','Mango','Strawberry'
3,'Pear','Strawberry','Kiwi'
];

MasterFruits
LOAD * INLINE [
Fruitname
'Apple'
'Banana'
'Pear'
'Mango'
'Kiwi'
'Strawberry'
'Papaya'
]; 

我需要做的是将这些字段与水果的主列表(保存在另一个表中)进行比较。这意味着如果我选择Banana,ID1和ID2就会出现,如果我选择Strawberry,ID2和3就会出现。

有没有什么方法可以创建一个列表框,同时搜索所有3个字段?

EN

回答 1

Stack Overflow用户

发布于 2013-10-03 00:24:20

列表框只是一种允许您“选择”某个字段中的值作为筛选器的机制。Qlikview所做的事情背后真正的魔力来自于数据模型中的关联。因为您的表没有公共字段,所以您不能,例如,加载Fruitname的列表框并单击某些内容,然后让它更改其他字段的列表框,如ColumnA、B或C。要获得您想要的行为,您需要将这两个表关联起来。这可以通过将不同的列连接成一列来实现(本质上是对数据进行标准化)。

代码语言:javascript
复制
[LinkTable]:
LOAD Distinct ColumnA as Fruitname,
              ID
Resident FruitData;

Concatenate([LinkTable])
LOAD Distinct ColumnB as Fruitname,
              ID
Resident FruitData;

Concatenate([LinkTable])
LOAD Distinct ColumnC as Fruitname,
              ID
Resident FruitData;

您可以在此处看到该命令生成的表:

数据模型如下所示:

最后,是所需的行为:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19133010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档