Excelファイルフォーマット
概要
- このドキュメントは、各Excelシートの入力カラムを説明します。
カラム: Excelのヘッダー名。アプリからエクスポートしたブックのヘッダーと同じ表記です。型: 期待される値の型。値: 列挙型の場合にとりうる値の一覧。-はスカラー型を示します。必須: 必須 は必須カラム、任意 は省略可能なカラムを示します。デフォルト: デフォルト値が定義されている場合に適用されます。-はデフォルトなしを示します。説明: カラムの意味と使い方。- ヘッダー名はキャメルケースに正規化してから照合されるため、
From/from/fromNameのような表記ゆれは同じカラムとして扱われます。 idやversionIdなどのシステム管理フィールドは入力カラムではありません。- サンプルExcelファイルをダウンロードできます。
カラム仕様
1. Periods(計画期間)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | 計画期間の識別名(例: 2026Q1) |
Start | DateTime | - | 必須 | - | 期間の開始日時 |
End | DateTime | - | 必須 | - | 期間の終了日時 |
入力制約:
Start ≤ Endである必要があります。
2. Products(製品)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | 製品名(製品を一意に識別)。通常製品・グループ代表製品の両方を定義する |
Type | ProductType | Individual Group | 必須 | - | 製品タイプ。Product Groups のグループ代表製品は Group、それ以外は Individual を指定する |
3. Locations(ロケーション)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | ロケーション名(他シート参照キー) |
Type | LocationType | Customer Facility Supplier | 必須 | - | ロケーションタイプ。対応するシート(Customers / Facilities / Suppliers)と整合している必要がある |
Address | String | - | 任意 | - | 住所(ジオコーディング用途) |
City | String | - | 任意 | - | 市区町村 |
Region | String | - | 任意 | - | 州・都道府県 |
Country | String | - | 任意 | - | 国名 |
Latitude | Float | - | 任意 | - | 緯度 |
Longitude | Float | - | 任意 | - | 経度 |
Zip Code | String | - | 任意 | - | 郵便番号 |
入力制約(OR条件):
LatitudeとLongitudeの両方、またはAddress/City/Country/Zip Codeのいずれか1つ以上を指定する必要があります。住所が指定された場合はジオコーディングで座標を取得します。いずれも省略するとバリデーションエラーになります。Regionのみでは住所条件を満たしません。
4. Customers(顧客)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | 顧客名(Locations.Name と対応) |
Include | CustomerInclude | Include Exclude | 必須 | - | 最適化で顧客需要を含める方針 |
5. Facilities(施設)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | 施設名(Locations.Name と対応) |
Type | FacilityType | DC Port Mfg | 必須 | - | 施設タイプ |
Open | Open | Open Closed | 必須 | - | 初期状態(開設/閉鎖) |
Include | Include | Consider Include Exclude | 必須 | - | 最適化で施設を含める方針 |
Fixed CO2Emissions | Float | - | 任意 | 0 | 施設に紐づく固定CO2排出量 |
Fixed Starting Cost | Float | - | 任意 | 0 | 開設時の固定費 |
Fixed Operating Cost | Float | - | 任意 | 0 | 操業中の固定費 |
Fixed Closing Cost | Float | - | 任意 | 0 | 閉鎖時の固定費 |
Currency | Currency | JPY USD | 任意 | USD | 固定費の通貨 |
6. BoMs(部品表)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Product | String | - | 必須 | - | 製造される製品名(Products.Name) |
Part Product | String | - | 必須 | - | 使用される部品製品名(Products.Name) |
Unit | ProductUnit | pcs m3 | 必須 | - | 出力製品(Product)の数量単位。「Unit単位のProductを製造するのにPart ProductがQuantity Quantity Unit必要」と解釈される |
Quantity | Float | - | 必須 | - | Unit単位の製品を製造するのに必要な部品(Part Product)の量 |
Quantity Unit | ProductUnit | pcs m3 | 必須 | - | 部品数量(Quantity)の単位 |
7. BoM Assignments(部品表割り当て)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Product | String | - | 必須 | - | 製造される製品名(Products.Name) |
Part Product | String | - | 必須 | - | 使用される部品製品名(Products.Name)。BoMs シートに対応する組み合わせが存在する必要がある |
Facility | String | - | 必須 | - | 当該BoMを適用する施設名(Facilities.Name) |
8. Suppliers(サプライヤ)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | サプライヤ名(Locations.Name と対応) |
Include | Include | Consider Include Exclude | 必須 | - | 最適化でサプライヤを含める方針 |
9. Product Groups(製品グループ)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Group Product | String | - | 必須 | - | グループを代表する製品名(Products.Name) |
Member Product | String | - | 必須 | - | グループに属する製品名(Products.Name) |
10. Product Individuals(製品個別属性)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Product | String | - | 必須 | - | 属性を定義する製品名(Products.Name) |
Unit | ProductBaseUnit | pcs | 必須 | - | 製品数量の基準単位 |
Selling Price | Float | - | 必須 | - | 製品の販売単価 |
Value | Float | - | 任意 | - | 製品の評価額・価値 |
Currency | Currency | JPY USD | 必須 | - | 金額項目に使う通貨 |
Include | IncludeExclude | Include Exclude | 必須 | - | 最適化で製品を含める方針 |
Volume | Float | - | 必須 | - | 製品1単位あたり体積(0より大きい値) |
Volume Unit | VolumeUnit | m3 | 必須 | - | 体積の単位 |
Weight | Float | - | 必須 | - | 製品1単位あたり重量(0より大きい値) |
Weight Unit | WeightUnit | kg | 任意 | kg | 重量の単位 |
11. Demands(需要)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Customer | String | - | 必須 | - | 需要を持つ顧客名(Customers.Name) |
Product | String | - | 必須 | - | 需要対象の製品名(Products.Name) |
Quantity | Float | - | 必須 | - | 需要数量 |
Quantity Unit | ProductBaseUnit | pcs | 必須 | - | 需要数量の単位 |
Period | String | - | 必須 | - | 需要が発生する期間名(Periods.Name) |
12. Paths(パス)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
From | String | - | 必須 | - | 出発ロケーション名(Locations.Name) |
To | String | - | 必須 | - | 到着ロケーション名(Locations.Name) |
Distance | Float | - | 任意 | - | 拠点間距離 |
Distance Unit | DistanceUnit | km mile | 任意 | - | 距離の単位 |
13. Sourcing Policies(調達ポリシー)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Product | String | - | 必須 | - | 対象製品名(グループを指定する場合はグループ代表製品名) |
From | String | - | 必須 | - | 調達元ロケーション名 |
To | String | - | 必須 | - | 調達先ロケーション名 |
Fixed Sourcing Cost | Float | - | 任意 | 0 | 固定調達コスト |
Variable Sourcing Cost | Float | - | 任意 | 0 | 変動調達コスト(単位あたり) |
Variable Sourcing Cost Product Unit | ProductUnit | pcs m3 | 任意 | pcs | 変動調達コストの数量単位 |
Currency | Currency | JPY USD | 任意 | USD | 調達コストの通貨 |
Period | String | - | 必須 | - | 適用期間名 |
入力制約:
(From, To)の組み合わせがPathsシートに登録されている必要があります。
14. Transportation Constraints(輸送制約)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
From | String | - | 必須 | - | 出発ロケーション名 |
To | String | - | 必須 | - | 到着ロケーション名 |
Product | String | - | 必須 | - | 制約対象の製品名(グループを指定する場合はグループ代表製品名) |
Product Name Group Behavior | ProductNameGroupBehavior | Aggregate Enumerate | 任意 | - | 対象製品がグループ代表製品の場合の扱い(Aggregate=グループ合計に制約, Enumerate=メンバーごとに個別適用) |
Period | String | - | 必須 | - | 適用期間名 |
Mode | String | - | 必須 | - | 輸送モード名(Transportation Modes) |
Min Throughput | Float | - | 任意 | - | 最小輸送量 |
Max Throughput | Float | - | 任意 | - | 最大輸送量 |
Throughput Unit | ProductUnit | pcs m3 | 条件付き必須 | - | 輸送量の単位。Min Throughput または Max Throughput を指定した場合は必須 |
入力制約:
(From, To)の組み合わせがPathsシートに登録されている必要があります。Min ThroughputとMax Throughputの両方を指定した場合、Max Throughput ≥ Min Throughputである必要があります。
Productにグループ代表製品名を指定した場合の動作:
Enumerate: グループの各メンバー製品に対して、Min Throughput/Max Throughputの値をそのまま個別に適用します(メンバー数で按分されません)。Aggregate: グループメンバーの輸送量の合計に対して1本の制約を適用します。このときModeは無視され、全輸送モードの合計が対象になります。また、同じ(From, To, Product, Period, Mode)の行がTransportation Policiesに存在しない場合、制約は生成されません。- 未指定: 制約は適用されません(エラーにもなりません)。グループ代表製品名を指定する場合は必ず
AggregateかEnumerateを指定してください。
15. Supplier Constraints(サプライヤ制約)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Supplier | String | - | 必須 | - | サプライヤ名(Suppliers.Name) |
Product | String | - | 必須 | - | 供給対象製品名(Products.Name) |
Supply Capacity | Int | - | 任意 | - | 供給上限量 |
Supply Capacity Unit | ProductUnit | pcs m3 | 任意 | - | 供給上限の単位 |
Period | String | - | 必須 | - | 適用期間名 |
16. Facility Processing Times(施設処理時間)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Facility | String | - | 必須 | - | 施設名(Facilities.Name) |
Product | String | - | 任意 | - | 処理対象製品名 |
Unit | ProductUnit | pcs m3 | 必須 | - | 処理量の単位 |
Time | Int | - | 必須 | - | 処理に要する時間値 |
Time Unit | FacilityProcessingTimeUnit | Hour Day Week | 必須 | - | 処理時間の単位 |
17. Facility Constraints(施設制約)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Facility | String | - | 必須 | - | 施設名(Facilities.Name) |
Product | String | - | 必須 | - | 制約対象の製品名(グループを指定する場合はグループ代表製品名) |
Product Name Group Behavior | ProductNameGroupBehavior | Aggregate Enumerate | 任意 | - | 対象製品がグループ代表製品の場合の扱い(Aggregate=グループ合計に制約, Enumerate=メンバーごとに個別適用) |
Initial Storage | Float | - | 任意 | - | 期初在庫量 |
Storage Capacity | Float | - | 任意 | - | 保管容量上限 |
Storage Unit | ProductUnit | pcs m3 | 任意 | - | 在庫・保管量の単位 |
Min Throughput | Float | - | 任意 | - | 最小処理量 |
Max Throughput | Float | - | 任意 | - | 最大処理量 |
Throughput Unit | ProductUnit | pcs m3 | 条件付き必須 | - | 処理量の単位。Min Throughput または Max Throughput を指定した場合は必須 |
Period | String | - | 必須 | - | 適用期間名 |
入力制約:
Initial StorageとStorage Capacityの両方を指定した場合、Initial Storage ≤ Storage Capacityである必要があります。Min ThroughputとMax Throughputの両方を指定した場合、Max Throughput ≥ Min Throughputである必要があります。Productにグループ代表製品名を指定する場合は、Product Name Group BehaviorにAggregateかEnumerateを指定してください。未指定の場合、制約が意図どおりに適用されません。
18. Facility Policies(施設ポリシー)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Facility | String | - | 必須 | - | 施設名(Facilities.Name) |
Product | String | - | 必須 | - | 対象製品名(Products.Name) |
Period | String | - | 必須 | - | 適用期間名 |
Currency | Currency | JPY USD | 必須 | - | 費用の通貨 |
Variable Operating Cost | Float | - | 必須 | - | 操業の変動費(単位あたり) |
Variable Operating Cost Product Unit | ProductUnit | pcs m3 | 必須 | - | 変動費の数量単位 |
19. Transportation Modes(輸送モード)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Name | String | - | 必須 | - | 輸送モード名(例: Truck, Vessel) |
Speed | Float | - | 必須 | - | 輸送速度 |
Speed Unit | SpeedUnit | kph mph | 必須 | - | 速度の単位 |
20. Transportation Policies(輸送ポリシー)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
From | String | - | 必須 | - | 出発ロケーション名 |
To | String | - | 必須 | - | 到着ロケーション名 |
Period | String | - | 必須 | - | 適用期間名 |
Product | String | - | 必須 | - | 対象製品名(グループを指定する場合はグループ代表製品名) |
Mode | String | - | 必須 | - | 輸送モード名(Transportation Modes.Name) |
Cost | Float | - | 必須 | - | 輸送コスト値 |
Duty Rate | Float | - | 任意 | - | 関税率(例: 0.1 = 10%) |
Currency | Currency | JPY USD | 必須 | - | コストの通貨 |
Cost Rule | CostRule | UnitCost FixedCostTreatAsFull | 必須 | - | コスト計算ルール |
Unit | ProductUnit | pcs m3 | 条件付き必須 | - | 数量単位。Cost Rule=UnitCost の場合は必須 |
Average Shipment Size | Float | - | 条件付き必須 | - | 1回あたり平均出荷量。Cost Rule=FixedCostTreatAsFull の場合は必須 |
Average Shipment Size Unit | ProductUnit | pcs m3 | 条件付き必須 | - | 平均出荷量の単位。Cost Rule=FixedCostTreatAsFull の場合は必須 |
Delivery Frequency | Int | - | 任意 | - | 期間内の配送回数(Cost Rule=FixedCostTreatAsFull 時のみ有効) |
Inventory Carrying Cost Percentage | Float | - | 任意 | 0.2 | 在庫保有コスト率 |
入力制約:
(From, To)の組み合わせがPathsシートに登録されている必要があります。
21. Inventory Policies(在庫ポリシー)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Facility | String | - | 必須 | - | 施設名(Facilities.Name) |
Product | String | - | 必須 | - | 対象製品名(グループを指定する場合はグループ代表製品名) |
Carrying Cost Percentage | Float | 0〜1 | 任意 | 0.12 | 在庫保有コスト率。在庫最適化では必須 |
Inventory Turns | Float | 正の数 | 任意 | 1 | 1 期間あたりの在庫回転数。在庫最適化では必須(サイクル在庫の算出に使うため) |
Min Safety Stock | Float | 0 以上 | 任意 | 下限なし | 安全在庫の下限(製品の数量単位)。在庫最適化のみで使用 |
Max Safety Stock | Float | 0 以上 | 任意 | 上限なし | 安全在庫の上限(製品の数量単位)。在庫最適化のみで使用。Min Safety Stock 以上である必要があります |
22. Customer Policies(顧客ポリシー)
| カラム | 型 | 値 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|---|
Customer | String | - | 必須 | - | 顧客名(Customers.Name) |
Product | String | - | 必須 | - | 対象製品名(グループを指定する場合はグループ代表製品名) |
Service Level | Float | 0 < 値 < 1 | 必須 | - | 目標サービス水準。95% 形式の入力も可 |
Max Service Time | Float | 0 以上 | 必須 | - | 顧客への最大保証サービス時間 |
Max Service Time Unit | FacilityProcessingTimeUnit | Hour / Day / Week | 必須 | - | Max Service Time の単位 |
入力制約: 在庫最適化では需要のある顧客 × 製品ごとに行が必要です。
Service Levelは 0 と 1 を 含まない範囲で指定してください(MEIO の z 値が 0 / 1 で ±∞ になるため)。
注意事項
DateTimeフィールド(Start,End)はパース可能な日時フォーマット(例: ISO 8601)で指定してください。Product Groupsは内部モデルProductGroupMembershipに、Product Individualsは内部モデルProductIndividualに対応します。Product Individualsには、Product Groups.Group Product(グループ代表製品)を含めないでください。ProductsではTypeとProduct Groupsの内容が整合している必要があります(Groupは代表製品、Individualは非代表製品)。LocationsではTypeとCustomers/Facilities/Suppliersの対応が整合している必要があります。Productsに定義した製品のうち、グループ代表製品以外はProduct Individualsで属性定義が必要です。Inventory PoliciesとCustomer PoliciesのProductは、製品自身の行が最優先で、無ければその製品が属するグループ代表製品名の行が適用されます。同じ施設・顧客について製品が 2 つのグループ行に一致する場合はエラーになります(製品自身の行を足して曖昧さを解消してください)。- インポーター・バリデーターのランタイム検証によって、追加のルールが課される場合があります。