在节访问减少时分配Null(缺失)值

时间:2018-07-13 07:49:17

标签: qlikview qliksense

假设我有以下非常简单的数据仓库:

section application;

car:
LOAD * INLINE
[
CAR,USER
GETZ,George
];

person:
LOAD * INLINE
[
USER
George
Maria
];

如您所见,USER George拥有CAR GETZ,而USER Maria没有汽车。

是否可以使用减少字段= CAR来设置节访问权限,以便 用户只能看到在CAR上具有空值的Maria?

我已经阅读了COUNTLESS个帖子。许多人说放一个空字符串是行不通的。我还看到了多个附有示例qvds的“答案”,并且大多数都使用带有空字符串值的单个表进行测试,然后似乎可以与空字符串一起使用值。当然,这不是我感兴趣的情况,因为空字符串值仍然与 missing / nulul

不同

1 个答案:

答案 0 :(得分:0)

由于节访问是通过Qlik中的关联进行的,因此当前数据模型将无法实现。 Maria没有空车-她没有空车关联(如果您将USER和CAR放在表中,它将显示为空车,但这有细微的差别)。如果您对数据的结构稍有不同,则可能会使其空白...类似

car:
LOAD * INLINE
[
CAR,USER
GETZ,George
];

outer join(car):
LOAD * INLINE
[
USER
George
Maria
];

之后,您可能需要将空值填充为空白...

car2:
NOCONCATENATE LOAD
if(isnull(CAR),'',CAR) as CAR,
USER
Resident car;

drop table car;

如果不可能将两个表合并在一起,那么您可以在车表中添加空白条目吗?

car:
LOAD 
*,
USER as USER2 
INLINE
[
CAR,USER
GETZ,George
];

person:
LOAD * INLINE
[
USER
George
Maria
];

concatenate(car)
LOAD 
USER,
'' as CAR
RESIDENT person
WHERE NOT EXISTS (USER2,USER);

也有可能带有某种组合键或套用贴图的选项,但希望以上选项之一会有所帮助...