CDataのツールCSV ODBC Driverを使ってBOX内のCSVを読み込んでいますが、
データの最初の行は列名になっており、それが列名にならない方法がありますか?
設定画面とSQLのクエリを添付いたします。
また、BOX内の複数のCSVをワイルドカードで読み込みたいですが、方法がありますか?
解決済! 解決策の投稿を見る。
@湯寧 さん
>データの最初の行は列名になっており、それが列名にならない方法がありますか?
すでに結果ウィンドウのレコード1は列名ではなくデータになっていますが、どういう出力を期待していますか?
データ出力ツールで "Skip Field Names" をオンにすることで出力データのヘッダ行を出さないようにすることはできます。
>BOX内の複数のCSVをワイルドカードで読み込みたいですが、方法がありますか?
これは SQL文を工夫することで対応できると思います。
DBMSによって書き方が異なりますが、BOXは SQL Server や MySQL をサポートしているようなので
生成AI に「SQLで同じスキーマのテーブルをワイルドカードで読み込む方法」などと質問して試してみることをお勧めします。
ご返信ありがとうございます。
最初の入力段階で、現在の結果ウィンドウの列名をレコード1に表示させたいことです。
現在の列名は元々の測定データの一番最初のデータで、見出しではないですので、見出しとして入力されたくないということです。
BOX内の複数のCSVをワールドカードで読み込む方法を生成AIに聞いてみます。
アドバイスありがとうございました。
BOXを使っていないのでわかりませんが、
>現在の列名は元々の測定データの一番最初のデータで、見出しではない
とは、ソースデータがヘッダの行を持っていないCSV形式だということでしょうか。
そうだとすると、そういうCSVは ODBC Driver ではなく Box Input Tool を使うべきかと思いますが、そうできない理由があるのでしょうか?
Box Input Tool - CSV File Format Configurations
First row contains field name というオプションがありますので、これをオフにして読めば1行目もデータとして読み込まれると思います。
(デフォルトもオフのようです)
CDataのドライバのようなので、それはそれで一つの手段かとは思います。
ちなみに、Box Input toolはあまり良い話を聞かないのであまりおすすめできないです・・・(つなぐまでのセキュリティ等の設定が結構めんどくさくて、動いても安定しないという話を聞いたことがあります。ちなみに、Boxの契約が無料の場合は使えませんでした)。
@湯寧 さん
BoxはBox Driveで利用されている方の話はよく聞いており、こちらで比較的安定的に利用されている方が多いので、Box Driveも検討してみてください(若干、データの同期で時間がかかることがありますが・・・)。
あと、CDataさんに直接聞かれた方が良いかと思います(有償のドライバだと思うので、テストも難しいので・・・)。
ご返信ありがとうございます。
大変参考になりました。
弊社の特別な事情で、Box Driveを使えないです。
また、Box Input Toolも並行して検討していますが、仰る通りセキュリティの設定に時間がかかっています。
本件について、CDataにもお問合せしています。
色々アドバイス頂き、ありがとうございました。
ご教示いただきありがとうございます。
@湯寧 さん
そういうことで、あらためて以下の課題を検討しました。
>現在の結果ウィンドウの列名をレコード1に表示させたい
単純に入力されたデータの列名を抽出して1行目に追加するサンプルワークフローを作りました。
ご参考になれば。
BoxはAPIもあるため、Box Inputツールがうまくいかない場合はAPIも検討してみてください。ただ、Box Inputツールは結局裏でAPIを通じてアクセスしているので・・・。いずれにしても、めんどくさいセキュリティをなんとかする必要があります。
Box API
@湯寧 さん
Box ODBCのドキュメントによると、特定の文字列をファイル名に含むファイル一覧の取得は、以下のようなSQLで可能なようです。
SELECT * FROM Files WHERE SearchTerms LIKE '%untitled%'
https://cdn.cdata.com/help/BBK/jp/odbc/pg_table-files.htm
ODBCドライバなので、基本的にデータベースと同じ考え方になります。基本ドライバ自体になにか特殊なオプションがあるわけではなく、すべてSQLでアクセスしてやりたいことを行う必要があります。
マニュアルを少しみた感じですと、FilesやFoldersというテーブルがあってそこにBox内のファイルやフォルダーのリストが入っているように思います。
リストが取得できれば、あとはバッチマクロで複数ファイルを一気に読み込んだり、ということが可能です。