本記事で分かること
- 明細表を出力する際に、明細表以外の文字を列に追加する方法
よくあるケース
例)
1ページに複数の注文書番号がある帳票で、明細表に合わせて注文書番号を複製して出力したい。
2~3行目は「10006」、4~5行目は「10007」、6~7行目は「10008」と出力したい。
設定方法
設定の流れ
- まず、注文書番号と明細表を別々に読み取り、明細項目を列データに変換します。
- 注文書番号を明細の行数にあわせて出力するため、(|パイプライン)で結合します。
- 列データへ変換し、前行コピーをすることで、注文書番号を明細表にあわせて複製することができます。
※明細表の行数が固定(上記例では2行)の場合のみ、ご利用いただける設定となります。
詳細
以下手順で設定をしてください。
1.必要な箇所の読取範囲を設定する
- 注文番号
- 3箇所それぞれを範囲指定する(読取条件:数値)
- 商品名、数量
- 3つの明細表を範囲分割にて範囲指定する(読取条件:全ての文字)
2.読み取った商品名、数量を列として出力する
商品名、数量に対して、データ加工「列データへ変換」を適用します。
例では、商品名をB列、数量をC列に出力します。
3.注文書番号を明細行数分(例であれば2行)出力するための前処理をする
データ加工「マージ」を以下のように設定し、(|パイプライン)で結合します。
→本設定は次項4を行うための前処理です。
この時点では「10006||10007||10008」と出力されます。
結合文字列に入力する( | パイプライン)の考え方 次項4にて「列データへ変換」を利用すると、パイプラインごとに文字を分割し、 例1 A 例2 A
本例では、次項4にて以下のように出力したいため、 10006 そのため、10006と10007、10007と10008の間を結合(マージ)する文字列として、|| を入力します。 |
4.3で前処理をしたデータを「列データへ変換」にて列として出力する
→3で設定した(|パイプライン)ごとにA列に出力するため、この時点では以下のような出力になります。
5.A列で空白のセルに、前行の値をコピーする
A列にデータ加工「前行コピー」を設定することで、空白を埋めることができます。
以上の設定で、注文書番号を明細表にあわせて複製することができます。
解決しない場合
上記の方法で改善されない場合は、以下をご連携の上、お問い合わせください。
- 帳票定義(XMLファイル)
- アップロード帳票ファイル
- 希望とする出力結果のイメージ
※個人情報などが含まれる場合はマスキングをしてください。