5

SAS Enterprise Guide 4.1を使用していますが、プロジェクトは多くのコードで構成されています。このコードは、主に.egpファイルがバイナリでプレーンテキストの.sasファイルがgitでより適切に機能するため、外部の.sasファイルで構成されています。

問題は、SAS EG 4.1が絶対パスを使用して外部の.sasファイルを参照するため、プロジェクトを別のPCに移動すると、コードファイルへの参照が壊れることです(他のPCが同じディレクトリ構造を使用している場合を除く)。

SAS EG 4.1に相対パスを使用させる方法はありますか(SAS EG 4.3は相対パスを使用しているようですが、アップグレードはオプションではありません)。そうでない場合、プロジェクトを簡単に移動するための少なくとも賢い方法はありますか?

今のところ、プロジェクトを移動する必要があるたびに、コードをプロジェクトに埋め込みます(これによりリビジョン管理が機能しなくなります)。別の方法は、プロジェクトからすべての参照を削除して、それらを再度追加することです(これは多くの作業です)。

4

2 に答える 2

4

私の理解では、EGPファイルは単なるzipファイルです。したがって、これを解決するにはいくつかの方法が必要です。私にとって最も簡単なのは、gitを使用してzipファイル内のファイルをバージョン管理するようです。したがって、.egpファイルをフォルダーに解凍し、そのフォルダーをバージョン管理します。戻りたい場合は、フォルダをzip形式で圧縮し、名前を.egpに変更します。

事後に.egpファイル内のパスを含むファイルを変更する方法もあるはずですが、確かに.egpファイルについては十分に精通していません。

于 2012-11-06T21:12:33.667 に答える
4

したがって、EGP ファイルは単なる zip アーカイブです。アーカイブ内には、次のような (サブ) ノードを含む「project.xml」という名前のファイルがあります。

<CodeTask>
  <IncludeWrapper>True</IncludeWrapper> 
  <Embedded>False</Embedded> 
  <LinkedOpenName>D:\some\path\to\program.sas</LinkedOpenName> 
</CodeTask>

このパスは、絶対パスの場合にのみ機能するようです。相対パスは機能するかもしれませんが、それを何に置くべきかわかりません(プロジェクトパスに対する相対パスは機能しません)。

しかし、プロジェクトが移動された後にこの xml ファイルを調べてパスを更新する簡単なスクリプトを作成できるようになりました (.sas ファイルを .egp ファイルと同じディレクトリに保持しているので、これは問題になりません)。

于 2012-11-07T09:56:50.133 に答える