我有关于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_id
,customer
,run_id
FROM db_customer
。qry_qlikview_customer
;
1497001997:使用直接执行;
1497001998:查询已执行;
1497001998:SELECT DISTINCT customer_id
FROM db_customer
。qry_qlikview_direct_discovery
;
1497001998:使用直接执行;
1497002100:查询已执行;
1497002101:SELECT DISTINCT run_id
FROM db_customer
。qry_qlikview_direct_discovery
;
1497002101:使用直接执行;
1497002198:查询已执行;
如果我将run_id的位置从DIMENSION更改为MEASURE,则dd语句会返回结果。不幸的是,对于所有run_id而且不仅仅是所选的一个。
任何人都可以提供帮助或有想法吗? 非常感谢你提前 最好的祝福 安德烈亚斯
答案 0 :(得分:0)
在直接发现表上有一个合成密钥$Syn 1 = customer_id and run_id
是一个已知的限制,Qlik不支持这个。
在数据库表中创建一个新的密钥字段,该字段是customer_id
和run_id
的联合,如customer_id|run_id
,并在Qlik中执行相同操作,因此您可以将该密钥作为单个连接你的桌子。