Qlik Sense: Left Соединение двух резидентных таблиц

У меня есть две таблицы:

violations_details:
LOAD
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id",
    "object_type",
    "object_full_name",
    "metric_num_value",
    "status",
    "module_name",
    "Anz_Fehler",
    "violations_details_kz",
    "error_abs";
SQL SELECT 
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id",
    "object_type",
    "object_full_name",
    "metric_num_value",
    "status",
    "module_name",
    1 as "Anz_Fehler",
    1 as "violations_details_kz",
    CASE WHEN status = 'Added' THEN 1 
         WHEN status = 'Deleted' THEN -1 
         ELSE 0
    END as error_abs
FROM "postgres"."cast_xapp_tools"."datapond_violations_details";

и

LOAD
    gen_id,
    gen_app,
    gen_patt1,
    gen_patt2,
    gen_class FROM [lib://AttachedFiles/gen_pattern.xlsx] (ooxml, embedded labels, table is tbl_gen_pattern);

Теперь я хочу присоединить coloumn gen_id к таблице abuse_details, где object_full_name похоже на gen_patt1. Если он не совпадает с gen_id, в файле abuse_details должно быть пусто.

Размер: таблица нарушение_детали> 4 миллиона строк talbe gen_pattern = 55 строк

Есть простая идея сделать это? Я думаю, что мне нужно использовать предложение резидента внутри, но каждая попытка не удалась.

Спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
3 334
2

Ответы 2

Violations_details:
LOAD
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id",
    "object_type",
    "object_full_name" as gen_id,
    "metric_num_value",
    "status",
    "module_name",
    "Anz_Fehler",
    "violations_details_kz",
    "error_abs";
SQL SELECT 
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id",
    "object_type",
    "object_full_name",
    "metric_num_value",
    "status",
    "module_name",
    1 as "Anz_Fehler",
    1 as "violations_details_kz",
    CASE WHEN status = 'Added' THEN 1 
         WHEN status = 'Deleted' THEN -1 
         ELSE 0
    END as error_abs
FROM "postgres"."cast_xapp_tools"."datapond_violations_details";

Left join

LOAD
    gen_id,
    gen_app,
    gen_patt1,
    gen_patt2,
    gen_class FROM [lib://AttachedFiles/gen_pattern.xlsx]  (ooxml, embedded labels, table is tbl_gen_pattern);

Вы довольно близки - на самом деле вам не нужно использовать резидент, так как вы можете присоединиться к нему сразу после его загрузки. Qlik присоединяется к одноименным полям. Я не уверен, какое поле вам нужно, поэтому я просто предположил, что object_id совпадает с gen_id (обратите внимание, как я изменил object_id на псевдоним gen_id). Итак, Qlik теперь знает, как присоединиться к таблицам в этом поле (хотя вы можете захотеть присоединиться к нему в другом поле).

violations_details:
LOAD
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id" as gen_id,
    "object_type",
    "object_full_name",
    "metric_num_value",
    "status",
    "module_name",
    "Anz_Fehler",
    "violations_details_kz",
    "error_abs";
SQL SELECT 
    "appname",
    "snapshot_id",
    "metric_id",
    "object_id",
    "object_type",
    "object_full_name",
    "metric_num_value",
    "status",
    "module_name",
    1 as "Anz_Fehler",
    1 as "violations_details_kz",
    CASE WHEN status = 'Added' THEN 1 
         WHEN status = 'Deleted' THEN -1 
         ELSE 0
    END as error_abs
FROM "postgres"."cast_xapp_tools"."datapond_violations_details";

left join (violations_details)
LOAD
    gen_id,
    gen_app,
    gen_patt1,
    gen_patt2,
    gen_class 
FROM [lib://AttachedFiles/gen_pattern.xlsx] (ooxml, embedded labels, table is tbl_gen_pattern);

Другие вопросы по теме