Ciao HSS
Penso che ci siano 3 passaggi da fare per ottenere il tuo desiderio.
1. Riassumi la tabella dei dati da mappare. L'indice è 'sensore' e i valori sono 'max(Inlet), max(Reture)'.
//Puoi usare sotto JSL per riassumere una nuova tabella di dati
Data Table( "Data" ) << Summary(
Group( :Sensor ),
Max( :Occurrence ),
Subgroup( :Name( "Sub-Sensor" ) ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
2. Inserisci le tue condizioni con if o match. Qui ho usato If e ho creato una nuova colonna nella tabella dei dati di riepilogo.
If(
:Name( "Occurrence, Inlet" ) >= 2 & :Name( "Occurrence, Return" ) >= 2, "Both",
:Name( "Occurrence, Inlet" ) >= 2 & :Name( "Occurrence, Return" ) < 2, "Inlet",
:Name( "Occurrence, Inlet" ) < 2 & :Name( "Occurrence, Return" ) >= 2, "Return",
"Empty"
);
3. Unisci due tabelle di dati insieme tramite "Sensore" e assicurati che la colonna "risultato" includa. Quindi usa condition if per renderlo reale.
// Unisci la tabella dei dati di riepilogo alla tabella dei dati originale
Data Table( "Data" ) << Join(
With( Data Table( "Data By (Sensor)" ) ),
Select(
:ID,
:Sensor,
:Name( "Sub-Sensor" ),
:Occurrence,
:Required Column,
:Name( "Required Column -Cause" )
),
SelectWith( :Result ),
By Matching Columns( :Sensor = :Sensor ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 )
);
// aggiungi la formula nella colonna "Colonna richiesta -Causa" come di seguito
If(
:Name( "Sub-Sensor" ) == "Inlet" & :Result == "Inlet", "Inlet",
:Name( "Sub-Sensor" ) == "Return" & :Result == "Return", "Return",
:Name( "Sub-Sensor" ) == "Inlet" | :Name( "Sub-Sensor" ) == "Return" & :Result == "Both", "Both",
""
);
Grazie Franco.
Ha funzionato.
Ciao a tutti,
Buon anno,
Mi sono bloccato in un altro posto, ho un'idea/logica ma non sono in grado di inserire la formula corretta. Si prega di vedere l'immagine allegata per la descrizione. Si allegano anche dati campione.
Qualsiasi aiuto?
Grazie molto.