ファン
検索
<< 2025年01月 >>
1 2 3 4
5 6 7 8 9 10 11
19 20 21 22 23 24 25
26 27 28 29 30 31
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。

2025年01月28日

ちょっと(?)ひどいよね

●CSVからAS400DBを生成

CSVファイルに入力されているデータから、AS400のDBを作る
今は、そんな任務を遂行中です(笑)
DBファイルを作るには、最低限必要な事があります
?@DBファイルの名前
?Aレコード様式
?A−1:カラム名(フィールド名)
?A−2:データ型
?A−3:桁数
?A−4:数値の場合は、小数部桁数
?A−5:カラム論理名(フィールド記述)
?Bキー情報(これが無ければ、たんなる入物にしかならず、ランダムアクセスができません_| ̄|○)
●分かっているのは

?A−5だけ (笑)
これって、小麦粉と水だけでホットケーキを作れって言われているみたいな(笑)
どーやって作るねん・・・

ただ、CSVファイルなので、入力値は入手出来ています
それから、ある程度は推測できます

でもね・・・・
●格納方法

《日付》
日付って、西暦年4桁で格納されてはいるのですが
あるカラムは、 20250101, 20250102, 20250103 の様に8桁の数値で入力されていたり
別のカラムは、 2025/01/01, 2025/01/02, 2025/01/03 の様に / できちんと区切られていたり
《論理値》
論理値は、真か偽かの2値を表すためのものです
これも、何種類かの格納方法があって、悩まされています
格納方法?@ 0, -1  恐らく、0が偽、 -1が真でしょう
格納方法?A 0, <空白>  これは悲しくて涙がでます
格納方法?B TRUE, FALSE これは分かりやすいですが、めんどくさいです
《数値》
CSVファイルは、文字列オンリーです
ただ、 3.5 とか 11,25 などの文字が入力されていて、これは数値として認識させます
そして、桁数を認識するためには、全データを調べて、桁数と小数部桁数を認識します

でも、15桁で小数部13桁 (整数部は2桁となります)というのがありました
殆どは、99.99という書式で表せます
なんで、こんな小数部が長いデータが有るんだろう? と調べてみたら
●ちょっと(じゃないけど)ひどい(笑)

26.8399999999999 ですって・・・これを見つけた時、さすがに
CSVを吐き出す前のデータベースのデータ型と桁数の情報が無いか確認してほしいと悲鳴をあげました
結局、得られたのは・・・調べても調べきれない(かも知れなない)情報でしたがっくり

なので、26.8399999999999 が 26.84で有る事と、なので4桁(2桁)と認識する
これが必要みたいです
でなければ、小数部桁数の長~~~いカラムについては、格納されているデータを確認して
正しい桁数を認識しなければなりません

ちなみに、データ型や桁数は、CSVファイルを舐めて、自動的に認識させるようマクロを組みました
でも、まさか、これほど多様性に富んだデータベースだとは思いもよらず(笑)
明日から、また楽しめそうです



人気ブログランキング
人気ブログランキング
posted by Y.Taki@AS400 at 00:57| Comment(0) | TrackBack(0) | ExcelVBA
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: