みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
別システムよりCSVデータをインポート(元データとします)して、一部をヘッターとして利用するため(正規化?)重複を削除したもの
を別テーブルへインポートしました。さらに元データをコピーしてポータル表示で使用したいのですが・・・
手入力しなければならないデータもあり、追加していきたいのですが、うまくいかずに困っています。
元データはIDが2つあってそれぞれ連番でふられており、ID2つつなげればユニークキーになります。(インポートは随時行います)
手入力分は1から始めました(元データのIDがかなり先のため)
リレーションは元データとヘッダーテーブルとポータルをつないでいます。
元データとヘッターが別テーブルのため両方でIDを1からに設定したら、リレーションがおかしいのか?手入力した分が一部元データで反映されません
手入力分は別テーブルにしたほうがいいのでしょうか?
説明が下手ですが、なにかやり方がありましたら、教えてください。
https://fm-aid.com/bbs2/viewtopic.php?id=13841
が参考になると思います。
Offline
ありがとうございます。
サンプルをみてもよくわからず・・・理解力がなくてすみません。
明細を2つ作ってリレーションするってことですか?
そのときのキーがよくわからないのです。
日付&取引先ではユニークにならないですよね?
リレーションは、どの程度理解されていますか
Offline
はじめたばかりの初心者です。
サンプルと同じようにしてみましたが、やはり名前フィールドがうまくいかない(ポータル表示のレイアウトから入力
して一覧に反映されない)です。
リレーションの初歩から学習した方がいいですよ。
https://www.claris.com/ja/resources/
にある、公式トレーニング教材を利用されることをお勧めします。
具体的にどのようなデータを扱っているのですか。
サンプルでは、リレーションを2重に定義してあります。それぞれのテーブルはマスターとなるテーブルとその明細となるなるテーブルで、マスター側はインポートするときに重複するレコードを自動的に刎ねるようになっています。その時に作成された主キーを、明細側のインポートをする時に取り込むようになっています。
明細をポータルで表示しておけば、マスター側のレコードを作れば、関連レコードとしてリレーションキーも設定されます。
Offline
勉強不足ですみません
インポートデータでダブリはありません。
インポートデータはID、レコードID、日付、従業員コード、区分、場所、時間などがあります。
例)
1 1 12/1 0001 A 北海道 5:00
1 2 12/1 0001 B 東京 12:00
1 3 12/1 0001 A 千葉 11:00
2 1 12/2 0011 A 東京 13:00
3 1 12/2 0012 B 福島 4:00
日付と従業員コードが繰り返しのため、その部分をヘッターとして別テーブルを作成。区分や場所を明細としてインポートデータをコピーしてポータル表示
ここまではなんとかできたのですが、手入力で追加したり、インポートデータを修正しなければならないものもあり、つまっている状態です。
サンプルだとインポートを2回することになりますよね?
最初に書いていることと矛盾していますが。
ID、レコードID の組み合わせでユニークなのですか。それとも、日付と従業員コードでユニークとするのですか。
ひょっとして、ID、レコードID の連結で明細側のユニークとし、日付と従業員コードの組み合わせでマスター側のユニークとする、ということでしょうか。
それでしたら、ID がマスター側のユニーク値となっているようですので、それでリレーションを張ればいいのでは。手入力については、ID を例えば負数にしたシリアル値にしておくとかにすればいいでしょう。インポートするIDで上書きさせて、欠番は気にしないことにすれば、管理も簡単です。
https://www.dropbox.com/s/j2poie63v39jb … 6.zip?dl=0
設定してあるスクリプトを実行してみてください。
> サンプルだとインポートを2回することになりますよね?
2テーブルにデータを設定することになるので、インポートは2回必要でしょう。
さらに、手入力するために、元データのIDと関係無いリレーションキーを設定する必要があります。そのためには、UUIDを使ったリレーションキーをわざわざ作っています。このキーを使ったリレーションでは、何も考えずに手入力も可能です。
Last edited by Shin (2022-12-28 09:55:22)
Offline
「ID、レコードID の組み合わせでユニーク」なのはインポート前の元データで、
「日付と従業員コードでユニーク」なのはインポート後のヘッダのテーブル
なので、矛盾はしてないですね。
(レコードIDというのはFMの用語としてあるので、間違いのもとなので変えた方がいいです。
IDがヘッダテーブル側の主キーで、レコードIDとしてるのはポータル内の行番号のようなものですよね。)
「マスター側はインポートするときに重複するレコードを自動的に刎ねる」の「重複」の意味を誤解して「インポートデータでダブリはありません。」と言ってるようです。
「日付と従業員コードが繰り返し」というのが「重複するレコード」と言ってるものです。IDもですね。例では、最初の3行が「重複するレコード」です。ヘッダテーブルでは1レコードにする必要があります。
「区分や場所を明細として」はいいですが、「インポートデータをコピーして」というのがわかりません。テーブルをコピーしたんでしょうか。
だとしたら、それは最初のテーブル作成時の作業としてはいいですが、運用中になったら同じ操作ではできません。
Shinさんの回答のように、「2つのテーブルにそれぞれインポート」になります。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 565.03 KiB (Peak: 579.64 KiB) ]