機能一覧

別の表からデータを持ってきたい (MSTタグ、MSTFタグ)

作成者: Admin|Mar 14, 2024 12:46:39 AM

利用機能 : Excel,xReportタグ 


元データに必要な値が無い為、別の表からデータを持ってきたい場合に
ExcelのVLOOKUP関数、xReportのタグ(MST、MSTF)が利用できます。


元データに「商品コード」は存在するが対応する「商品名」などがない。
従来であればこのような場合、ExcelのVLOOKUP関数を利用し、
別シートに用意した「商品リストマスター」を参照して必要情報を補完しながら出力していました。

ただし何万行もあるデータへVLOOKUP関数を利用すると処理時間が膨大になる為、
xReport独自のマスター参照機能として
 ・別のシートからデータを参照する「MSTタグ」
 ・別のファイルからデータを参照する「MSTFタグ」
を用意致しました。(出力速度比較結果はこちら

サンプルデータをこちらにまとめております (設定補助シート付)
  MST_MSTFタグ_動作理解用デモデータ

【設定例】 画像を大きく見たい場合は画像をクリック



●VLOOKUP関数設定
     =VLOOKUP(検索値,範囲,列番号,検索の型)

例) =VLOOKUP(E2,商品リストマスター!$A:$F,2,0)


●MSTタグ設定
     MST(項目名,シート名,キー項目名,参照項目名,不一致時の値)

例) MST(商品コード,商品リストマスター,商品Code,商品名,)


●設定例:
      MSTF(項目名,シート名,キー項目名,参照項目名,不一致時の値,文字コード,マスタファイル名[フルパス])

例) MSTF(商品コード,商品リストマスター,商品Code,商品名,未登録,,C:\FBS\商品リスト.xlsx)


【補足解説】
 「MST_MSTFタグ動作設定サンプル (設定補助シート付).xlsx」
 を開きながらご確認ください。


対象)MST,MSTFタグ

・ 「不一致時の値」は省略可能

・ 項目名が空の場合は、セルの値で検索処理を行います。
例)MST,MSTFタグをコメントにて設定しているセルに
  1 : セルに「商品コード」を記入する。
  2 : 「商品コード」を印刷範囲外に一度出力(K1セルと仮定)
    MST,MSTFタグを設定したセルに「=K1」と設定。

対象)MSTFタグ
・ 「シート名」を省略した場合は、
 MSTF用マスターファイルの先頭シートから参照を行います。

・CSV、TSVをMSTF用マスターファイルにしたい場合は、
 ファイルの文字コードを確認しその文字コード記載。
 (SHIFTJIS, EUC-JP, UTF-8, UNICODE のいずれかを指定してください。
  記入は大文字、小文字どちらでも可)
例)
MSTF用マスターファイルがCSVで文字コードがUTF-8の場合
MSTF(商品コード,商品リストマスター,商品Code,商品名,未登録,UTF-8,C:\FBS\商品リスト_UTF-8.csv)