QlikView / SQL-如果语句带有IsNull

时间:2019-01-14 14:38:26

标签: sql qlikview

该问题的逻辑是,我正在尝试解决某个字段将返回空值的问题,并且鉴于该字段的其他相关性,我想自动将该字段的值生成为另一个相似值的值字段是相同的。

示例(针对两个结果)

* GradYear Year:2018 ---- 学生姓名:杰克---- *学校编号:54 ---- *州代码:NA11 ---- 县代码:MA02 ---- *学校名称:Hillsburn ----

* GradYear Year:2018 ---- 学生姓名:莎拉---- *学校编号:54 ---- *州代码:NA11 ---- CountyCode:NULL ---- *学校名称:Hillsburn ----

如上所述,Sarah的CountCody返回一个空值。我正在尝试使它自动填充CountyCode的值(如果在Student之间其他相似的值相同)。 (必要的相似值显示为“ *”。) 另外,我尝试不使用“以前的”功能或硬编码的信息来解决此问题,以便可以使用任何数据来完成。

我最初的尝试是使用简单的if / IsNull语句和Peek功能,但是这些值在返回空值时仍然存在。

if((isnull(CountyCode)),Peek(CountyCode),CountryCode)作为CountyCode

任何对此的帮助将不胜感激!预先谢谢你。

1 个答案:

答案 0 :(得分:1)

我会为此使用applymap

让我们说SchoolNumberCountyCode独有的。

所以首先让我们加载映射表:

    CountyCode_Map:
    mapping load distinct SchoolNumber, CountyCode 
    from Data.qvd (qvd) where len(CountyCode)>0;

现在,在加载数据时,将其用于CountyCode

applymap('CountyCode_Map',SchoolNumber) as CountyCode

如果SchoolNumber不是CountyCode唯一的,则可以使用任何其他字段或字段的串联。

有关applymap的更多信息:link