Qui manca una parte importante.... Non esegue il controllo riga per riga della tabella INFO_APPROV, ma di solo la parte visibile nel contesto filtro attivo in quel momento. Ecco perché ti ho chiesto il campo presente sulle righe, perché esso ne può modificare il contesto.
Il tuo controllo è alla fine un conta-se in realtà. Perché FILTER() ti mantiene tutte le righe della tabella INFO_APPROV visibili nel contesto filtro attivo che soddisfano la condizione che indicata. Per ogni riga che rimane SUMX() valorizza 1 e dunque il totale che somma è alla fine un conteggio di righe. Poi verifichi che questa somma sia pari a 0 ed in base a questo assegni 1 o 0.
C'è da aggiungere che essendo FILTER() una formula iterativa il fatto che tu richiami delle misure dentro la condizione attiva il context transition, e dunque ogni CAMPO di quella specifica riga influenza il contesto valutativo iniziale. Ecco perché tocca stare attenti a quale tabella si itera, sia per una questione di performance, ma soprattutto perché potresti andare incontro ad errori difficili da individuare perché se per assurdo iteri una tabella che ha dei duplicati, il conteggio che ottieni su quella specifica riga duplicata sarà sfalsato.
Tutto questo per dirti che il DAX è un linguaggio che sembra semplice, ma che contiene tante piccole sfaccettature che bisogna conoscere prima di creare le misure, altrimenti ottieni dei valori numerici che non ti sai spiegare.
Andrea