假设我有以下非常简单的数据仓库:
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 值
不同答案 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);
也有可能带有某种组合键或套用贴图的选项,但希望以上选项之一会有所帮助...