Ho alcuni rapporti SQL che ha prestazioni molto lenta, così abbiamo trasformato tutti in FetchXML, ma tutti i rapporti di SQL ha tutte le condizioni facoltative, qualcosa di simile:Come fare un Condizione Extra in FetchXML
SELECT
...
FROM ...
WHERE (@operator = 'All' OR Operator = @operator)
AND (@new_gen_comp_name = 'All' OR new_gen_comp_name = @new_gen_comp_name)
...
Nei valori dei parametri, c'è un valore All
se l'utente seleziona questo valore, la condizione verrà ignorata e quindi otterrà tutti i valori da quel campo.
Ora voglio farlo in FetchXML, ho provato a mettere due condizioni con filtro or
tra di loro, uno per il valore e un altro per includere i valori nulli come questo:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
<entity name="incident">
...
...
<filter type="and">
<filter type="and">
<condition attribute="createdon" operator="on-or-after" value="@StartDate" />
<condition attribute="createdon" operator="on-or-before" value="@EndDate" />
</filter>
<filter type="or">
<condition attribute="new_gen_comp_type" operator="in" value="@new_gen_comp_type" />
<condition attribute="new_gen_comp_type" operator="null" />
</filter>
</filter>
...
...
</entity>
</fetch>
Questo ha funzionato bene solo se l'utente seleziona tutti i valori per il parametro @new_gen_comp_type
, ma il problema è se l'utente seleziona solo valori specifici, includerà anche i valori nulli e ciò è sbagliato.
Quindi, esiste un modo per rendere opzionali queste condizioni nel caso in cui l'utente selezioni select all
per i valori del parametro come in SQL?
Hai trovato una soluzione per questo problema? – Moy
@MoisesCardenas Sì, vedere la mia risposta qui sotto. –