QlikView Direct Discovery - WHERE子句

时间:2017-06-12 14:13:53

标签: qlikview discovery

我有关于QlikView Direct Discovery(DD)的问题。

我首先通过

导入QlikView内存中的整个数据库表
SQL SELECT `customer_id`, `customer`, `run_id` FROM `db_customer`.`qry_qlikview_customer`;

之后DD: DIRECT QUERY DIMENSION customer_id,run_id 测量deal_id,type_id 详情kri1,kri2,kri3 来自db_customer.qry_qlikview_direct_discovery;

run_id代表一个日期,每个客户可用几次。

脚本运行时没有任何错误,表关系看起来很好,例如$ Syn 1 = customer_id和run_id

但是,如果我选择一个客户和一个run_id,QlikView会告诉我直接发现无法通过。

出于ODBC错误日志:

1497001997:SELECT customer_idcustomerrun_id FROM db_customerqry_qlikview_customer; 1497001997:使用直接执行; 1497001998:查询已执行; 1497001998:SELECT DISTINCT customer_id FROM db_customerqry_qlikview_direct_discovery; 1497001998:使用直接执行; 1497002100:查询已执行; 1497002101:SELECT DISTINCT run_id FROM db_customerqry_qlikview_direct_discovery; 1497002101:使用直接执行; 1497002198:查询已执行;

如果我将run_id的位置从DIMENSION更改为MEASURE,则dd语句会返回结果。不幸的是,对于所有run_id而且不仅仅是所选的一个。

任何人都可以提供帮助或有想法吗? 非常感谢你提前 最好的祝福 安德烈亚斯

1 个答案:

答案 0 :(得分:0)

在直接发现表上有一个合成密钥$Syn 1 = customer_id and run_id是一个已知的限制,Qlik不支持这个。

在数据库表中创建一个新的密钥字段,该字段是customer_idrun_id的联合,如customer_id|run_id,并在Qlik中执行相同操作,因此您可以将该密钥作为单个连接你的桌子。