2017-03-03 12 views
0

XMLファイルを入力として使用するレポートカードがWordで作成されています。 XMLファイルでは、生徒が同じセクションに3つのトリメタのすべてが残っている場合、そのクラスのノードは1つあります。トリメスターでセクションを変更すると、セクションごとに1つのノードが作成されます。ノードはこのような何か(大幅に単純化された)を見て:MSWordの差し込み印刷でのXMLデータの集計

<ReportCardSectionFB Abs1="2" Abs2="11" CourseID="ELMATH1" CourseTitle="Math" PeriodStart="3" TeacherName="Jones, Jennifer" TermCode="Year" SectionID="ELMATH1-4" /> 

<ReportCardSectionFB Abs1="1.50" Abs2="6" CourseID="ELMATH1" CourseTitle="Math" PeriodStart="3" TeacherName="Smith, Tina" TermCode="Year" SectionID="ELMATH1-3" /> 

をノードが属する三半期するようXML内にはインジケータがありません。 Word文書で

、我々は以下の差し込み印刷コマンドで不在データを引っ張っている。このような状況で働いていない

{MERGEFIELD "ReportCardSectionFB[@PeriodStart='3']/ @Abs1" \# 0.# \* MERGEFORMAT } 

は:それだけで、それは全体の来る最初のノードからの不在データを取得しますすなわち、2.0。すべての期間3のクラス、すなわち:3.5に@ Abs1の合計を得る方法はありますか?そうでない場合は、期間@ 3の最後の@ Abs1のみを取得する方法がありますか:1.5

+0

'sum()'のxpath全体をラップしてみましたか? – har07

+0

sum()(XPath式全体、@ Abs1のまわりなど)の配置場所に応じて、さまざまなエラーが発生します。関数がどこに向かうべきかに関する推奨事項はありますか? –

+0

私は 'sum(ReportCardSectionFB [@ PeriodStart = '3']/@ Abs1)'のように、正しいxpath 1.0の式はxpath全体で 'sum()'になります。 xpathテスターの[デモ](http://xpatheval.apphb.com/0I6Bg6Q4J)もご覧ください – har07

答えて

0

xmlを入力として使用できるこのサードパーティ製品を使用することをお勧めします。この製品はMS Wordテンプレートとマージできます。私は組み込みのWordの差し込み印刷よりはるかに強力です。あなたはいくつかの例を見ることができますhere

0

また、Synergyの欠席の合計を試すこともできます - データ範囲のすべての欠席を追加するAttDef1,2などの新しいチェックボックスがあります - セクションの登録または期間に関係なく、すべての日付データを含めますセクションタイムフレーム。そうすれば、あなたの地区では欠席が各セクションで同じになるはずです。

また、WordでSET機能を使用して、MERGEFIELDSをブックマークとしてネストし、Word演算子関数を使用してブックマークを追加することもできます。

関連する問題