0

数据加载器脚本中的 Qlik Sense 语法中的这个查询如何?

TABLA_UTIL:
SQL
SELECT "PERIODO", SUM(DEUDAFINAL) as "DEUDAFINAL"
FROM "DL_RG_ANALYTICS"."SH_PROVISION" PRO WHERE ORG='628'
GROUP BY PERIODO

concatenate

SQL
SELECT OL.PERIODO, SUM(ABIERTA/1000000)+ DEUDA/1000000 
FROM "DL_RG_ANALYTICS"."SH_OTRAS_LINEAS" OL LEFT JOIN SH_SALDO_NO_IDEN_RUT PRO ON(OL.PERIODO=PRO.PERIODO)
WHERE ((ol.TIPO_DEUDA='TRASPASO' AND ol.DEFINICION='SALDO' ) 
OR (ol.TIPO_DEUDA='SAE' AND ol.DEFINICION='SALDO' )
OR  (ol.TIPO_DEUDA='REPACTACIONES' AND ol.DEFINICION='SALDO')
OR (ol.TIPO_DEUDA='RENEGOCIADO' AND ol.DEFINICION='SALDO' )
OR (ol.TIPO_DEUDA='AVANCE_EFECTIVO' AND ol.DEFINICION='SALDO' ))
AND PRO.TipoTarjeta='ABIERTA'
GROUP BY OL.PERIODO, PRO.DEUDA

欢迎任何帮助,谢谢。

4

2 回答 2

0

不同意之前的回答,Concatenate 用于连接具有不同字段名称的表。具有相同字段集的表的连接是自动的,可以使用 NOCONCATENATE 关键字(在 LOAD 之前)来避免

于 2020-11-23T16:32:00.303 回答
0

嗨,

这很容易,所以振作起来。如果每个表中的所有字段名称都相同,Qlik Sense 会立即将其设置为一个接一个。为了明确:

concatenate(table_name)

是个好主意。

看这个:

这是您的示例:

LIB CONNECT TO 'your_database';

TABLA_UTIL:
  Load *;
  SQL
  SELECT
  "PERIODO",
  SUM(DEUDAFINAL) as "DEUDAFINAL"
  FROM
  "DL_RG_ANALYTICS"."SH_PROVISION" PRO WHERE ORG='628'
  GROUP BY PERIODO;

LIB CONNECT TO 'your_second_database';  // where necessary

concatenate(TABLA_UTIL)  //all field names must be the same

  Load *;
  SQL
  SELECT
   OL.PERIODO as "PERIODO",
   SUM(ABIERTA/1000000)+ DEUDA/1000000 as "DEUDAFINAL"
   FROM
   "DL_RG_ANALYTICS"."SH_OTRAS_LINEAS" OL LEFT JOIN SH_SALDO_NO_IDEN_RUT PRO ON(OL.PERIODO=PRO.PERIODO)
  WHERE ((ol.TIPO_DEUDA='TRASPASO' AND ol.DEFINICION='SALDO' ) 
  OR (ol.TIPO_DEUDA='SAE' AND ol.DEFINICION='SALDO' )
  OR  (ol.TIPO_DEUDA='REPACTACIONES' AND ol.DEFINICION='SALDO')
  OR (ol.TIPO_DEUDA='RENEGOCIADO' AND ol.DEFINICION='SALDO' )
  OR (ol.TIPO_DEUDA='AVANCE_EFECTIVO' AND ol.DEFINICION='SALDO' ))
  AND PRO.TipoTarjeta='ABIERTA'
  GROUP BY OL.PERIODO, PRO.DEUDA;
//done
于 2020-04-22T09:37:21.720 回答