こんにちは、
MS Accessのクエリを取得してPortal Feature Serviceに変換するツールを作成していました。1週間は正常に動作していましたが、今は動作しなくなりました。特定の問題があります...
Accessデータベースには単純に1または0を含む20のフィールドがあります。CSVにエクスポートすると、それらのフィールドのすべてのデータは各レコードで1か0です。私のPortal Feature Serviceは、それぞれの整数フィールドにドメイン(1=True、0=False)を設定してこれらの値を受け入れる準備ができています。最初にWorkbench Toolを作成したときは動作しました。Access Reader、VertexCreator、CoordinateSystemSetter、Reprojector、そしてPortal Feature Service Writerがありました。
しかし今では、なぜかすべての1の値が-1(マイナス1)として書き込まれています。理由は全くわかりません。テーブルを見ると、「No」または「-1」と表示されます。0(ゼロ)は正しく出力されていますが、1が-1に変わっています。
このツールを分解し、新しいものを作ってみましたが効果はありませんでした。
MS Access Readerから出てくるこれらすべての1/0フィールドのフィールドタイプが「[yesno]」として定義されていることを発見しました。Readerや各Transformerのデータを調べると、それぞれ「Yes」と「No」の値が見えます。0が明らかにFeature Serviceに正しく入っているので、Writerを開いてこれらすべてのフィールドのValueエントリでArithmetic Editorを使い、[fieldname]*-1 とすればいいと思いました。0*-1=0(変化なし)、-1*-1=1(やった、正の1)。しかし残念ながら、「文字列計算エラー - "No"*-1 は計算できません」と言われました。では、どうやってNoが0に変換され、Yesが-1に変換されているのでしょうか。(本当に混乱しています...)
そこでAttributeValueMapperを見つけ、一つのフィールドで「Yes」を1、「No」を0にマッピングしました。ツールを実行したらうまくいきました。
しかしあと19個のフィールドにもAttributeValueMapperを設定しなければならないのでしょうか???
追記 - オフィスに戻り、複数のAttributeValueMapperを連結しようとしたところ、新しく変更された値を次のAttributeValueMapper内の元のフィールドにマップできないことがわかりました。「_looked_up」フィールドを次の正しいフィールドに接続できません。
赤は最初のAttributeValueMapperから次へ渡したいフィールドを表しています。
Destination Attributeで同じフィールド名を使って連結できますか?

これは正しくないように思えます。
何か見落としていることがありますか?
ありがとうございます。
--Adam