テーブルを結合する前にファイル内の文字列を確認してください。2つのExcelファイルを開きます。リストにchoiceが含まれている場合に限り、テーブルに参加しようとしています。これを達成するにはどうすればよいですか。
//Accept Product input from user and save it in a text file
R = Open("Choice.txt",
Labels(0),
Columns(
C = Character(12);
)
);
Choice = {};
Choice = R:C[1];
//Open master data list
U = Open("Volume.csv","invisible");
T = Open("List.csv","invisible");
dt = Current data table();
Column_List = dt << Get Column Names("String");
for(i = 1, i<= NItems(Column_List),i++,
if(contains(Choice,Column_List[i]),
U = Data Table( "Volume" ) <<
Join(
With( Data Table( "List" ) ),
Merge Same Name Columns,
By Matching Columns( :number = :number ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Output Table( "Joined_With_List" )
);
);
);
再:テーブルを結合する前にファイル内の文字列をチェックしてください。完璧に動作します!
トンありがとう
再:テーブルを結合する前にファイル内の文字列をチェックしてください。これはあなたが探しているものですか?そうでなければ、私はあなたが後になっているものを得ていない
Names Default To Here( 1 );
// Open comma separated files
dtList = Open( "<THE path="" to="" the="" list="" file="">\list.csv" );
dtVolume = Open( "<THE path="" to="" the="" volume="" file="">\volume.csv" );
// Read in the choice value
choice = Load Text File( "C:\Users\txjim\Documents\choice.txt" );
// Find out if choice is in the List data table and if so,
// join the tables. If not, then set the Volume data table
// to be the processing data table.
If( Contains( dtList:Company << get values, choice ),
dtProcess = dtVolume << Join(
With( dtList ),
Merge Same Name Columns,
Match Flag( 0 ),
By Matching Columns( :Product Type = :Product Type ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Output Table( "Process" )
),
dtProcess = dtVolume
);</THE></THE>
再:テーブルを結合する前にファイル内の文字列をチェックしてください。回答いただきありがとうございます。私は問題をうまく説明していませんでした。それについて申し訳ありません。
ボリュームファイルは動的です。選択ファイルがリストファイルにある場合は、ボリュームテーブルとリストテーブルを結合する必要があります。ボリュームテーブルを今後の操作にそのまま使用しない場合は、3つのファイルをすべて添付してください。かなり長い間。
任意の助けをいただければ幸いです。
再:テーブルを結合する前にファイル内の文字列をチェックしてください。下記のスクリプトはあなたが望むものに近づけると思います。 私はあなたの "Choice"変数のフォーマットを持っていないので、私は実際にコードをテストすることができませんでした、しかし私はそれがあなたが欲しいものを得る方法をあなたに提供すると思います
//Accept Product input from user and save it in a text file
R = Open( "Choice.txt", Labels( 0 ), Columns( C = Character( 12 ) ) );
Choice = {};
Choice = R:C[1];
//Open master data list
U = Open( "Volume.csv", "invisible" );
T = Open( "List.csv", "invisible" );
// Delete columns from the List data table that are not
// found in the Choice memory variable
Column_List = T << Get Column Names( "String" );
For( i = 1, i <= N Items( Column_List ), i++,
If( Contains( Choice, Column_List[i] ) == 0,
T << Delete Columns( Column_Names[i] )
)
);
newU = U << Join(
With( T ),
Merge Same Name Columns,
By Matching Columns( :number = :number ),
Drop multiples( 0, 0 ),
Include Nonmatches( 0, 0 ),
Preserve main table order( 1 ),
Output Table( "Joined_With_List" )
);