Automatizza la concatenazione delle tabelle di dati in base al nomeCIAO,
Voglio concatenare le tabelle di dati in base al loro nome.
Ad esempio, ho 6 tabelle dati e i loro nomi saranno qualcosa come M1a M1b M2a M2b M3a M3b. Quindi voglio unire tutti i dispositivi M1 insieme ecc. Tuttavia, la parte M1 varierà in base al nome, quindi ho bisogno dello script per poter ottenere il nome e quindi confrontare parte del nome.
Qualsiasi aiuto per iniziare è molto apprezzato
Automazione e scriptingOrganizzazione dei contenutiRi: Automatizzare la concatenazione delle tabelle di dati in base al nomeI tavoli sono già aperti? In caso contrario, sono nella stessa cartella e ci sono altri file nella cartella?
<< Ottieni nome può essere utilizzato per ottenere il nome della tabella dati e Ottieni elenco tabelle dati() un elenco di tabelle di dati aperti. Per confrontare i nomi delle tabelle dati ci sono molte opzioni e quale utilizzare dipende dai nomi delle tabelle dati (Regex è un'opzione).
Ri: Automatizzare la concatenazione delle tabelle di dati in base al nomeEcco uno script che dovrebbe darti un inizio nel mettere insieme la tua sceneggiatura finale.Crea alcune tabelle di esempio da utilizzare per l'esempio, quindi le trova, le corrisponde ai primi 2 caratteri del nome e infine le concatena.
Names Default To Here( 1 );
// create sample data tables
For( i = 1, i <= 6, i++,
New Table( "M" || Char( Mod( i, 3 ) + 1 ) || Char( i ), New Column( "D" ) );
Data Table( "M" || Char( Mod( i, 3 ) + 1 ) || Char( i ) ) << add rows( 1 );
Column( Data Table( "M" || Char( Mod( i, 3 ) + 1 ) || Char( i ) ), 1 )[1] = i;
);
// Find all data tables that match Mx
concatTableList = {};
shortNameList = {};
For( i = 1, i <= N Table(), i++,
If( Starts With( Data Table( i ) << get name, "M" ),
Insert Into( concatTableList, Data Table( i ) << get name );
Insert Into( shortNameList, Substr( Data Table( i ) << get name, 1, 2 ) );
)
);
// Find the unique key values
theKeys = Associative Array( shortNameList ) << get keys;
// Create the concatenated tables
For Each( {key}, theKeys,
catList = {};
For Each( {tableName}, concatTableList,
If( Starts With( tableName, key ),
Insert Into( catList, tableName )
)
);
If( N Items( catList ) > 1,
dt = New Table( key );
For Each( {cat}, catList, dt << concatenate( Data Table( cat ), append to first table ) );
);
);Ri: Automatizzare la concatenazione delle tabelle di dati in base al nomeInoltre potresti prendere in considerazione l'utilizzo dell'importazione di più file. Combina tutte le tabelle in un'unica tabella e poi separale in sottoinsiemi utilizzando la colonna di origine (crea una nuova colonna in base alla colonna di origine per i gruppi che desideri avere) oppure esegui MFI più volte utilizzando i caratteri jolly * (corrisponde a zero o più caratteri), ? (corrisponde esattamente a un carattere) e ; (separare diversi modelli di nomi di file) per ottenere tutti i singoli gruppi con una sola esecuzione di MFI

Ri: Automatizzare la concatenazione delle tabelle di dati in base al nomeNon penso che possa funzionare poiché provengono tutti dalla stessa cartella di lavoro Excel. Apro questa cartella di lavoro e ogni foglio diventa una nuova tabella dati. C'è un modo perché funzioni?
Ri: Automatizzare la concatenazione delle tabelle di dati in base al nomeSe si tratta di un solo file Excel, puoi utilizzare l'importazione guidata di Excel.

Abilita "Concatena fogli di lavoro e prova ad abbinare colonne" e "Crea colonna con il nome del foglio di lavoro durante la concatenazione". Dopo aver inserito i dati nella tabella JMP, crea una colonna di raggruppamento e crea sottoinsiemi secondo necessità.
Ri: Automatizzare la concatenazione delle tabelle di dati in base al nomeGrazie