<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Date Filtering Logic Failing in Fact Table Script in Data Quality</title>
    <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527167#M4239</link>
    <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/312044"&gt;@savioricardog&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for such a good response, but I am still having issue with the order of the script.&lt;/P&gt;&lt;P&gt;From my knowledge, I will set what I had before ...&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;First 10&lt;/DIV&gt;&lt;DIV&gt;rds_telemonitoring_alarm:&lt;/DIV&gt;&lt;DIV&gt;LOAD id as alarm_id,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_flow,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; date(FLOOR(datetime_edp_preprocessing)) AS Date,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_preprocessing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_processing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_start,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_close,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Interval(datetime_close - datetime_edp_processing, 'hh:mm:ss') as minutes_start_to_close,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; interval(datetime_close - datetime_edp_preprocessing, 'hh:mm:ss') as minutes_recepcion_to_close,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_message,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_text,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; state as state_id,&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_priority,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_store,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_type_id ,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;serial_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_equipment,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;system_id,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;date(datetime_end) AS datetime_end,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;sf_ticket_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;position,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; 1 as Contador,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; alarm_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; process_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_in_charge, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_closed, //NEW&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;suspension_end_datetime, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification_date, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; closure_reason, //NEW2&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification , //NEW2, //NEW2,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF(date(FLOOR(datetime_edp_preprocessing)) &amp;gt;= Today() - 30, 'Lower 30 days', 'Greater 30 days') as has_recent_alarm_30_days //NEW2&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://QVD.01.Stage/FSM/tlm_historic_alarm.qvd]&lt;/DIV&gt;&lt;DIV&gt;(qvd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;accountnumber as account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; id AS account_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; retailer_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; fsl_servicecallterritory__c as service_territory_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; shippingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; banner_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity &amp;amp; ',' &amp;amp; billingcountry as location_iso,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; store_management__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; name,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingstreet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; mycountry__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "maintenancecontractactiveflag__c",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "telemonitoring_contract_active_flag__c",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://QVD.01.Stage/FSM/crm_account.qvd]&lt;/DIV&gt;&lt;DIV&gt;(qvd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;rds_telemonitoring_alarm_final:&lt;/DIV&gt;&lt;DIV&gt;NOCONCATENATE&lt;/DIV&gt;&lt;DIV&gt;LOAD&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_id,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_flow,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_technology,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Date,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; datetime_edp_preprocessing,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_processing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_start,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_close,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; minutes_start_to_close,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; minutes_recepcion_to_close,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number, // as account_number_tlm_info,&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number as account_number_Test_di_vita ,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_message,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_text,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; state_id,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_priority,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_store,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_type_id ,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;serial_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_equipment,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;system_id,&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; datetime_end,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; sf_ticket_number,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;position,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Contador,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; alarm_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; process_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_in_charge, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_closed, //NEW&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;suspension_end_datetime, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification_date, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; closure_reason, //NEW2&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; last_modification, //NEW2&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;If(len(Status)&amp;gt;0, Status, 'Unknown') as Status,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// description_alarm_type , &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// language_alarm_type,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// suggestions_alarm_type,&lt;/DIV&gt;&lt;DIV&gt;// type_severity,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_id,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_id as relatedrecordid, //key&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_id as account_id_cat,&amp;nbsp; //key&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;retailer_description__c,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;service_territory_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; shippingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; banner_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If(account_number = '1000000', 'Germany',&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; If(Len(billingcountry) &amp;gt; 0, billingcountry, 'Unknown')&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;) as billingcountry,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If(account_number = '1000000', 'Germany',&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; If(Len(billingcountry) &amp;gt; 0, billingcountry, 'Unknown')&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ) as REDUCTION,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; location_iso,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; store_management__c,&amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; If(len(name)&amp;gt;0, name, 'Unknown') as name,&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingstreet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; mycountry__c,&lt;/DIV&gt;&lt;DIV&gt;// service_territory_zipcode,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_city,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// fsl_assigneddepartments__c,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_country,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_countrycode,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// isactive,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_street,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_name,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_state,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; maintenancecontractactiveflag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c,&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;If(Status = 'INACTIVE' and len(datetime_end)&amp;gt;0 , 'true', 'false') as "Is Okay Message",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF ( Date &amp;lt; Today() - 6,'False', 'True') AS "Alarms in the last 7 days",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; has_recent_alarm_30_days&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;shift&lt;/DIV&gt;&lt;DIV&gt;RESIDENT rds_telemonitoring_alarm;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Identificador único de la cuenta&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Count(alarm_id) as num_alarms,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT rds_telemonitoring_alarm_final&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Fuente de datos: tabla cargada con las alarmas&lt;/DIV&gt;&lt;DIV&gt;WHERE&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Alarmas ocurridas en los últimos 30 días&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&amp;nbsp; // Cuenta con contrato TLS activo&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&amp;nbsp; // Contrato sin fecha de fin o aún vigente&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;STRONG&gt;And where should I ingest this script you provide to me ?&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;TEST:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number &amp;amp;'-'&amp;amp; "Date" AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "Date",&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://Dados/fd0b221e-5bae-42f9-b3a9-2fbb5573026a.xlsx]&lt;/DIV&gt;&lt;DIV&gt;(ooxml, embedded labels, table is Sheet1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN (TEST)&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) &amp;amp;'-'&amp;amp; MAX(SubField(DateAccountKey, '-', 2)) AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) AS account_number_max&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GROUP BY SubField(DateAccountKey, '-', 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; account_number_max&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; , IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;WHERE&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number_max&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;DROP TABLE rds_telemonitoring_alarm;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Wed, 13 Aug 2025 08:43:21 GMT</pubDate>
    <dc:creator>migueldfr_23</dc:creator>
    <dc:date>2025-08-13T08:43:21Z</dc:date>
    <item>
      <title>Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526556#M4228</link>
      <description>&lt;P&gt;Hello everyone,&lt;/P&gt;&lt;P&gt;I'm struggling with a script where the keys are not working as expected.&lt;/P&gt;&lt;P&gt;I have a fact table with only three fields (although I have more in total, but created this in order to simplify), and later I create a final table with all the fields I need, properly transformed.&lt;/P&gt;&lt;P&gt;After that, I need to create a table with some filters and specific requirements.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;rds_telemonitoring_alarm:
LOAD id as alarm_id, 
	account_number, 
    IF(date(FLOOR(datetime_edp_preprocessing)) &amp;gt;= Today() - 30, 'Lower 30 days', 'Greater 30 days') as has_recent_alarm_30_days //NEW2 
    
FROM [lib://QVD.01.Stage/FSM/tlm_historic_alarm.qvd]
(qvd);

//---------------------------------------------------------

rds_telemonitoring_alarm_final:
NOCONCATENATE
LOAD 
	alarm_id,	
	account_number,
    has_recent_alarm_30_days
RESIDENT rds_telemonitoring_alarm;
DROP TABLE rds_telemonitoring_alarm;


//---------------------------------------------------------
accounts_active_with_alarms_last_30_days:
LOAD 
    account_number,                            // Identificador único de la cuenta
//     Count(alarm_id) as num_alarms,
    IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms
RESIDENT rds_telemonitoring_alarm_final             // Fuente de datos: tabla cargada con las alarmas
WHERE 
      // Alarmas ocurridas en los últimos 30 días
    telemonitoring_contract_active_flag__c = 1  // Cuenta con contrato TLS activo
    AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))  // Contrato sin fecha de fin o aún vigente
GROUP BY 
     account_number; &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I select "Has Recent Alarms" &amp;gt; "Lower 30 Days", it doesn't return alarms from the last 30 days. Instead, it shows alarms with a datetime older than 30 days.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="migueldfr_23_0-1754562783276.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/182602i8B8022E3152446D8/image-size/medium?v=v2&amp;amp;px=400" role="button" title="migueldfr_23_0-1754562783276.png" alt="migueldfr_23_0-1754562783276.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;With the ERD,&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="migueldfr_23_1-1754563442851.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/182603iF5585CEE21784427/image-size/medium?v=v2&amp;amp;px=400" role="button" title="migueldfr_23_1-1754563442851.png" alt="migueldfr_23_1-1754563442851.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Hope anyone can help me out&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Aug 2025 10:52:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526556#M4228</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-07T10:52:44Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526564#M4229</link>
      <description>&lt;P&gt;Make sure that your timestamp is really a timestamp and not a string or containing any other invalid data.&lt;/P&gt;&lt;P&gt;Personally I wouldn't tend to apply such expensive approach with an intermediate resident table and aggregating results in an extra dimension table else creating an appropriate cluster-information directly within the facts, for example with something like:&lt;/P&gt;&lt;P&gt;floor((MyDate - today()) / 30) as Alarm30Cluster&lt;/P&gt;</description>
      <pubDate>Thu, 07 Aug 2025 12:16:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526564#M4229</guid>
      <dc:creator>marcus_sommer</dc:creator>
      <dc:date>2025-08-07T12:16:15Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526565#M4230</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/239214"&gt;@migueldfr_23&lt;/a&gt;&amp;nbsp;Could you send a small sample of your dataset for testing (A small sample of rows is enough.)?&lt;BR /&gt;Also, could you send the full creation script for these three tables?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Aug 2025 12:21:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526565#M4230</guid>
      <dc:creator>savioricardog</dc:creator>
      <dc:date>2025-08-07T12:21:43Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526694#M4233</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/28038"&gt;@marcus_sommer&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;Thank you for prompt response&lt;/P&gt;&lt;P&gt;the table has been implemented with this field which is &lt;STRONG&gt;Date&lt;/STRONG&gt;.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;rds_telemonitoring_alarm:
LOAD id as alarm_id, 
	account_number, 
    date(FLOOR(datetime_edp_preprocessing)) AS Date, 
    IF(date(FLOOR(datetime_edp_preprocessing)) &amp;gt;= Today() - 30, 'Lower 30 days', 'Greater 30 days') as has_recent_alarm_30_days //NEW2 
    
FROM [lib://QVD.01.Stage/FSM/tlm_historic_alarm.qvd]
(qvd);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Thank you&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Aug 2025 10:00:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526694#M4233</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-08T10:00:23Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526696#M4234</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/312044"&gt;@savioricardog&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for such a prompt response.&lt;/P&gt;&lt;P&gt;Here you have a sample of rows .xlxs, and also I have sent out all the script created.&lt;/P&gt;&lt;P&gt;Let me know if you need further samples.&lt;/P&gt;&lt;P&gt;Thank you&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Aug 2025 10:15:43 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526696#M4234</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-08T10:15:43Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526905#M4235</link>
      <description>&lt;P&gt;Here is the example with 10 rows.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Mon, 11 Aug 2025 14:20:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526905#M4235</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-11T14:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526957#M4236</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/239214"&gt;@migueldfr_23&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;!--  StartFragment   --&gt;&lt;/P&gt;&lt;P&gt;I tried the code above and it works... (I guess you’re having issues because the join between the table rds_telemonitoring_alarm and &lt;FONT color="#000000"&gt;accounts_active_with_alarms_last_30_days &lt;/FONT&gt;is only based on account_number, and it can have duplicate values)&lt;/P&gt;&lt;P&gt;&lt;!--  EndFragment   --&gt;&lt;/P&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;DIV&gt;TEST:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number &amp;amp;'-'&amp;amp; "Date" AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "Date",&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://Dados/fd0b221e-5bae-42f9-b3a9-2fbb5573026a.xlsx]&lt;/DIV&gt;&lt;DIV&gt;(ooxml, embedded labels, table is Sheet1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN (TEST)&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) &amp;amp;'-'&amp;amp; MAX(SubField(DateAccountKey, '-', 2)) AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) AS account_number_max&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GROUP BY SubField(DateAccountKey, '-', 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; account_number_max&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; , IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;WHERE&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number_max&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="date_error.gif" style="width: 999px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/182719iA5489A8069D7D88F/image-size/large?v=v2&amp;amp;px=999" role="button" title="date_error.gif" alt="date_error.gif" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 01:20:55 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2526957#M4236</guid>
      <dc:creator>savioricardog</dc:creator>
      <dc:date>2025-08-12T01:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527004#M4237</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;Could you explain me why you are doing this middle table&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;LEFT JOIN (TEST)&lt;BR /&gt;LOAD&lt;BR /&gt;SubField(DateAccountKey, '-', 1) &amp;amp;'-'&amp;amp; MAX(SubField(DateAccountKey, '-', 2)) AS DateAccountKey,&lt;BR /&gt;SubField(DateAccountKey, '-', 1) AS account_number_max&lt;BR /&gt;RESIDENT TEST&lt;BR /&gt;GROUP BY SubField(DateAccountKey, '-', 1);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 10:03:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527004#M4237</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-12T10:03:00Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527019#M4238</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/239214"&gt;@migueldfr_23&lt;/a&gt;,&lt;BR /&gt;I used this middle table to create the field "account_number_max" and at the same time, build a consistent join key that I could use between accounts_active_with_alarms_last_30_days and TEST.&lt;/P&gt;&lt;P&gt;The issue I identified in your case is that if you join only on "account_number", there can be multiple matching rows for the same account (because it has multiple dates). When that happens, a join multiplies the results and can filter or distort the data unexpectedly.&lt;/P&gt;&lt;P&gt;By first calculating the &lt;STRONG&gt;latest date per account&lt;/STRONG&gt; and creating a composite key (account_number + latest date), I ensure the join happens only on that specific latest record for each account. This avoids the one-to-many join problem and keeps the results consistent.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Aug 2025 11:24:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527019#M4238</guid>
      <dc:creator>savioricardog</dc:creator>
      <dc:date>2025-08-12T11:24:08Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527167#M4239</link>
      <description>&lt;P&gt;HI&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/312044"&gt;@savioricardog&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks for such a good response, but I am still having issue with the order of the script.&lt;/P&gt;&lt;P&gt;From my knowledge, I will set what I had before ...&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;First 10&lt;/DIV&gt;&lt;DIV&gt;rds_telemonitoring_alarm:&lt;/DIV&gt;&lt;DIV&gt;LOAD id as alarm_id,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_flow,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; date(FLOOR(datetime_edp_preprocessing)) AS Date,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_preprocessing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_processing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_start,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_close,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Interval(datetime_close - datetime_edp_processing, 'hh:mm:ss') as minutes_start_to_close,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; interval(datetime_close - datetime_edp_preprocessing, 'hh:mm:ss') as minutes_recepcion_to_close,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_message,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_text,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; state as state_id,&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_priority,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_store,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_type_id ,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;serial_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_equipment,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;system_id,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;date(datetime_end) AS datetime_end,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;sf_ticket_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;position,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; 1 as Contador,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; alarm_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; process_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_in_charge, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_closed, //NEW&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;suspension_end_datetime, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification_date, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; closure_reason, //NEW2&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification , //NEW2, //NEW2,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF(date(FLOOR(datetime_edp_preprocessing)) &amp;gt;= Today() - 30, 'Lower 30 days', 'Greater 30 days') as has_recent_alarm_30_days //NEW2&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://QVD.01.Stage/FSM/tlm_historic_alarm.qvd]&lt;/DIV&gt;&lt;DIV&gt;(qvd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;accountnumber as account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; id AS account_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; retailer_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; fsl_servicecallterritory__c as service_territory_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; shippingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; banner_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity &amp;amp; ',' &amp;amp; billingcountry as location_iso,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; store_management__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; name,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingstreet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; mycountry__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "maintenancecontractactiveflag__c",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "telemonitoring_contract_active_flag__c",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://QVD.01.Stage/FSM/crm_account.qvd]&lt;/DIV&gt;&lt;DIV&gt;(qvd);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;rds_telemonitoring_alarm_final:&lt;/DIV&gt;&lt;DIV&gt;NOCONCATENATE&lt;/DIV&gt;&lt;DIV&gt;LOAD&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_id,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_flow,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;source_technology,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Date,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; datetime_edp_preprocessing,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_edp_processing,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_start,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;datetime_close,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; minutes_start_to_close,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; minutes_recepcion_to_close,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number, // as account_number_tlm_info,&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number as account_number_Test_di_vita ,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_message,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_text,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; state_id,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_priority,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_store,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;alarm_type_id ,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;asset,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;serial_number,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_equipment,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;system_id,&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; datetime_end,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; sf_ticket_number,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;position,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;original_technology,&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Contador,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; alarm_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; process_note, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_in_charge, //NEW&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; agent_closed, //NEW&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;suspension_end_datetime, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;last_modification_date, //NEW&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; closure_reason, //NEW2&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; last_modification, //NEW2&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;If(len(Status)&amp;gt;0, Status, 'Unknown') as Status,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// description_alarm_type , &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// language_alarm_type,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// suggestions_alarm_type,&lt;/DIV&gt;&lt;DIV&gt;// type_severity,&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_id,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_id as relatedrecordid, //key&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_id as account_id_cat,&amp;nbsp; //key&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;retailer_description__c,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;service_territory_id,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; shippingcountry,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; banner_description__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingcity,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If(account_number = '1000000', 'Germany',&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; If(Len(billingcountry) &amp;gt; 0, billingcountry, 'Unknown')&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;) as billingcountry,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;If(account_number = '1000000', 'Germany',&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; If(Len(billingcountry) &amp;gt; 0, billingcountry, 'Unknown')&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; ) as REDUCTION,&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; location_iso,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; store_management__c,&amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; If(len(name)&amp;gt;0, name, 'Unknown') as name,&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; billingstreet,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; mycountry__c,&lt;/DIV&gt;&lt;DIV&gt;// service_territory_zipcode,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_city,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// fsl_assigneddepartments__c,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_country,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_countrycode,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// isactive,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_street,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_name,&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;// service_territory_state,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; maintenancecontractactiveflag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c,&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;If(Status = 'INACTIVE' and len(datetime_end)&amp;gt;0 , 'true', 'false') as "Is Okay Message",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF ( Date &amp;lt; Today() - 6,'False', 'True') AS "Alarms in the last 7 days",&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; has_recent_alarm_30_days&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;shift&lt;/DIV&gt;&lt;DIV&gt;RESIDENT rds_telemonitoring_alarm;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number,&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Identificador único de la cuenta&lt;/DIV&gt;&lt;DIV&gt;//&amp;nbsp; &amp;nbsp; &amp;nbsp;Count(alarm_id) as num_alarms,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT rds_telemonitoring_alarm_final&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Fuente de datos: tabla cargada con las alarmas&lt;/DIV&gt;&lt;DIV&gt;WHERE&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; // Alarmas ocurridas en los últimos 30 días&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&amp;nbsp; // Cuenta con contrato TLS activo&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&amp;nbsp; // Contrato sin fecha de fin o aún vigente&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;STRONG&gt;And where should I ingest this script you provide to me ?&amp;nbsp;&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;TEST:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number &amp;amp;'-'&amp;amp; "Date" AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "Date",&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://Dados/fd0b221e-5bae-42f9-b3a9-2fbb5573026a.xlsx]&lt;/DIV&gt;&lt;DIV&gt;(ooxml, embedded labels, table is Sheet1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN (TEST)&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) &amp;amp;'-'&amp;amp; MAX(SubField(DateAccountKey, '-', 2)) AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '-', 1) AS account_number_max&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GROUP BY SubField(DateAccountKey, '-', 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; account_number_max&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; , IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;WHERE&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number_max&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;DROP TABLE rds_telemonitoring_alarm;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Wed, 13 Aug 2025 08:43:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527167#M4239</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-13T08:43:21Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527194#M4240</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;//------------------------------------------------------&lt;BR /&gt;// &lt;span class="lia-unicode-emoji" title=":keycap_1:"&gt;1️⃣&lt;/span&gt; Crear tabla temporal con DateAccountKey&lt;BR /&gt;//------------------------------------------------------&lt;BR /&gt;rds_telemonitoring_alarm_test:&lt;BR /&gt;NOCONCATENATE&lt;BR /&gt;LOAD&lt;BR /&gt;account_number &amp;amp; '@' &amp;amp; Date AS DateAccountKey,&lt;BR /&gt;Date,&lt;BR /&gt;account_number,&lt;BR /&gt;telemonitoring_contract_active_flag__c,&lt;BR /&gt;tls_contract_end_date__c&lt;BR /&gt;RESIDENT rds_telemonitoring_alarm_final;&lt;/P&gt;&lt;P&gt;//------------------------------------------------------&lt;BR /&gt;// &lt;span class="lia-unicode-emoji" title=":keycap_2:"&gt;2️⃣&lt;/span&gt; LEFT JOIN para traer la fecha máxima por account_number&lt;BR /&gt;//------------------------------------------------------&lt;BR /&gt;LEFT JOIN (rds_telemonitoring_alarm_test)&lt;BR /&gt;LOAD&lt;BR /&gt;SubField(DateAccountKey, '@', 1) &amp;amp; '@' &amp;amp; Max(SubField(DateAccountKey, '@', 2)) AS DateAccountKey,&lt;BR /&gt;SubField(DateAccountKey, '@', 1) AS account_number_max&lt;BR /&gt;RESIDENT rds_telemonitoring_alarm_test&lt;BR /&gt;GROUP BY SubField(DateAccountKey, '@', 1);&lt;/P&gt;&lt;P&gt;//------------------------------------------------------&lt;BR /&gt;// &lt;span class="lia-unicode-emoji" title=":keycap_3:"&gt;3️⃣&lt;/span&gt; Crear tabla final de cuentas activas con alarmas recientes&lt;BR /&gt;//------------------------------------------------------&lt;BR /&gt;accounts_active_with_alarms_last_30_days:&lt;BR /&gt;LOAD&lt;BR /&gt;account_number_max,&lt;BR /&gt;IF(Max(Date) &amp;gt;= Today() - 30, 'Lower 30 days', 'Greater 30 days') AS has_recent_alarms&lt;BR /&gt;RESIDENT rds_telemonitoring_alarm_test&lt;BR /&gt;WHERE telemonitoring_contract_active_flag__c = 1&lt;BR /&gt;AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&lt;BR /&gt;GROUP BY account_number_max;&lt;/P&gt;&lt;P&gt;//------------------------------------------------------&lt;BR /&gt;// &lt;span class="lia-unicode-emoji" title=":keycap_4:"&gt;4️⃣&lt;/span&gt; Limpiar tablas temporales&lt;BR /&gt;//------------------------------------------------------&lt;BR /&gt;DROP TABLE rds_telemonitoring_alarm_final;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="migueldfr_23_0-1755081082585.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/182827iA7707F56214111A3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="migueldfr_23_0-1755081082585.png" alt="migueldfr_23_0-1755081082585.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="migueldfr_23_1-1755081115768.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/182828iE4D7CBCFD7D0AE23/image-size/medium?v=v2&amp;amp;px=400" role="button" title="migueldfr_23_1-1755081115768.png" alt="migueldfr_23_1-1755081115768.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I do not know why this does not work properly.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Aug 2025 10:32:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527194#M4240</guid>
      <dc:creator>migueldfr_23</dc:creator>
      <dc:date>2025-08-13T10:32:06Z</dc:date>
    </item>
    <item>
      <title>Re: Date Filtering Logic Failing in Fact Table Script</title>
      <link>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527213#M4241</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/239214"&gt;@migueldfr_23&lt;/a&gt;,&amp;nbsp;sorry for the issue, i really didn't notice that some values have "-"...&lt;/P&gt;&lt;P&gt;So I fix the issue like this:&lt;/P&gt;&lt;DIV&gt;TEST:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; account_number &amp;amp;'|'&amp;amp; num(floor("Date")) AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; "Date",&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;account_number,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; tls_contract_end_date__c&lt;/DIV&gt;&lt;DIV&gt;FROM [lib://Dados/fd0b221e-5bae-42f9-b3a9-2fbb5573026a.xlsx]&lt;/DIV&gt;&lt;DIV&gt;(ooxml, embedded labels, table is Sheet1)&lt;/DIV&gt;&lt;DIV&gt;;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;LEFT JOIN (TEST)&lt;/DIV&gt;&lt;DIV&gt;teste2:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '|', 1)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;amp;'|'&amp;amp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; Max(Num(floor(SubField(DateAccountKey, '|', 2)))) AS DateAccountKey,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SubField(DateAccountKey, '|', 1) AS account_number_max&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;GROUP BY SubField(DateAccountKey, '|', 1);&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;accounts_active_with_alarms_last_30_days:&lt;/DIV&gt;&lt;DIV&gt;LOAD&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; account_number_max&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; , IF( (Max(Date) &amp;gt;= Today() - 30), 'Lower 30 days', 'Greater 30 days') as has_recent_alarms&lt;/DIV&gt;&lt;DIV&gt;RESIDENT TEST&lt;/DIV&gt;&lt;DIV&gt;WHERE&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; telemonitoring_contract_active_flag__c = 1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; AND (tls_contract_end_date__c &amp;gt; Today() OR IsNull(tls_contract_end_date__c))&lt;/DIV&gt;&lt;DIV&gt;GROUP BY&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;account_number_max&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;Try this, I think this helps you.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Aug 2025 12:07:24 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Data-Quality/Date-Filtering-Logic-Failing-in-Fact-Table-Script/m-p/2527213#M4241</guid>
      <dc:creator>savioricardog</dc:creator>
      <dc:date>2025-08-13T12:07:24Z</dc:date>
    </item>
  </channel>
</rss>

