FAQs - Omni Item Dimensions


FAQs - Omni Item Dimensions

Omni Item Dimensions: Overview & Business Value

What Is Omni Item Dimensions?

Omni Item Dimensions is a consolidated data asset that brings together Walmart's store-level Item Dimensions and eCommerce Product Dimensions into a unified view of product information across channels.

For the U.S., Omni Item Dimensions replaces both the existing Item Dimensions and Product Dimensions tables.

The asset connects Walmart Item Numbers (WM_ITEM_NBR) and Catalog Item IDs (CATLG_ITEM_ID) while combining item and product attributes such as merchandise hierarchy, brand, descriptions, physical dimensions, packaging, replenishment information, product status, digital attributes, and other operational characteristics.

By consolidating these attributes into one dataset, Omni Item Dimensions provides a more comprehensive reference for understanding products across Walmart's in-store and eCommerce ecosystems.

Why Does It Matter?

Omni Item Dimensions simplifies access to store and eCommerce product information by consolidating key attributes into a single dataset. This unified structure provides a consistent foundation for connecting item information across channels, streamlining data integration, and supporting more comprehensive omnichannel analysis.

This enhancement enables suppliers and Category Advisors to:

  • Simplify Data Integration: Access store and eCommerce item attributes through a single dataset, reducing the need to maintain separate dimension tables.
  • Improve Omnichannel Visibility: Connect Walmart Item Numbers and Catalog Item IDs to support more comprehensive analysis across store and digital channels.
  • Enhance Reporting Consistency: Use common product attributes, identifiers, and merchandise hierarchies across reporting and analytical workflows.
  • Expand Product Insights: Access a broader set of attributes covering product characteristics, digital eligibility, packaging, replenishment, and operational information.
  • Support Better Decision-Making: Enrich sales, inventory, fulfillment, and other performance datasets with consistent item information to improve assortment, merchandising, and supply-chain analysis.

How Does Omni Item Dimensions Differ from the Existing Tables?

Market Existing Data Assets New Data Asset What Changes
United States Item Dimensions + Product Dimensions Omni Item Dimensions Consolidates store and eCommerce item/product attributes into one unified dataset, replacing both existing tables.

Migration and Integration Guidance

Customers transitioning to Omni Item Dimensions should review their existing data integrations, identifier relationships, and reporting logic to ensure compatibility with the new table structure.


1. Identifiers and Relationships


1.1 What Is the Difference Between WM_ITEM_NBR and CATLG_ITEM_ID?

Identifier Represents Native To
WM_ITEM_NBR (Walmart Item Number) A Walmart item used in store and pickup/delivery operations Store sales, store inventory, POS, DC inventory, forecast, modular, purchase orders
CATLG_ITEM_ID (Catalog Item ID) A product in the Walmart.com catalog eCommerce sales, eCommerce in-stock, product content

Store transactions are recorded by WM_ITEM_NBR. eCommerce transactions are recorded by CATLG_ITEM_ID. Omni Item Dimensions connects the two.

1.2 What Is the Relationship Between Them?

For active records:

  • Most WM_ITEM_NBR values map to one CATLG_ITEM_ID.
  • Several Walmart items may be sold under one catalog product.
  • Each WM_ITEM_NBR maps to one CATLG_ITEM_ID at a time.

The relationship can appear many-to-many in two situations:

  • Inactive records are included.
  • Records from more than one daily snapshot are combined.

1.3 Can a WM_ITEM_NBR Change Its CATLG_ITEM_ID?

Yes. When a catalog record is re-indexed, a Walmart item can be linked to a new Catalog Item ID. The new link becomes active, and the previous link is retired.

Snapshot WM_ITEM_NBR CATLG_ITEM_ID Status
Earlier 100000001 20000000001 Retired
Later 100000001 20000000002 Active

If you upsert each snapshot on WM_ITEM_NBR + CATLG_ITEM_ID, the retired row is never removed, and the item appears to have two Catalog Item IDs.

1.4 Does the Relationship Differ by Item Type?

Item Type Behavior
Store-only items No catalog product. CATLG_ITEM_ID = -999
Online-only catalog products without a Walmart item WM_ITEM_NBR = -999
Shared items (sold online and in store) Have both identifiers
Bundles Included as catalog products
Variants Included as catalog products

1.5 Which Field Tells Me a Mapping Is Active?

ITEM_STATUS_CD describes the lifecycle status of the item itself. For example, deleted items have status D.

It is not a mapping indicator. Use it only if your reporting needs to separate active and discontinued items.

2. Grain and Primary Key


2.1 What Is the Grain of Omni Item Dimensions?

One row per item-to-catalog mapping, per region and operating company, plus the persona keys below.

Item hierarchy and attributes are stored at the combined WM_ITEM_NBR + CATLG_ITEM_ID level.

2.2 What Is the Primary Key?

Key Column Supplier Category Advisor Notes
CATLG_ITEM_ID Yes Yes -999 when there is no catalog product
WM_ITEM_NBR Yes Yes -999 when there is no Walmart item
GEO_REGION_CD Yes Yes Always filter or join on region
OP_CMPNY_CD Yes Yes Include when present on both sides
SUPPLIER_HASH_ID Yes Yes Identifies the supplier that owns the item. Category Advisor data contains many suppliers.

2.3 Is the Primary Key Unique Across History?

No. The key is unique within a single daily snapshot.

Across snapshots, the same WM_ITEM_NBR can appear with different CATLG_ITEM_ID values.

3. Loading the Table


3.1 How Should I Ingest Omni Item Dimensions?

Approach Recommendation
Current-state table Recommended. Replace your copy with each daily snapshot.
Snapshot history Store each snapshot with a snapshot date. Join each fact row to the snapshot for its date.
MERGE / UPSERT Merge on the full primary key and delete rows that are no longer in the latest snapshot. Otherwise, retired mappings build up over time.
Upsert on WM_ITEM_NBR + CATLG_ITEM_ID only Avoid. Retired mappings are never removed.

3.2 Should I Keep a Current-State Table or a History?

Use a current-state table for joins and reporting.

Keep a snapshot history only if you need point-in-time item attributes, such as the hierarchy an item belonged to last year.

4. Joining Your Datasets


4.1 What Are the Join Conditions?

Always join on all identifiers shared by the fact table and the dimension, plus region, operating company, and supplier.

Supplier Persona: Item and Catalog Grain Facts

ON f.wm_item_nbr = d.wm_item_nbr
AND f.catlg_item_id = d.catlg_item_id
AND f.geo_region_cd = d.geo_region_cd
AND f.op_cmpny_cd = d.op_cmpny_cd
AND f.supplier_hash_id = d.supplier_hash_id

Category Advisor Persona: Item and Catalog Grain Facts

ON f.wm_item_nbr = d.wm_item_nbr
AND f.catlg_item_id = d.catlg_item_id
AND f.geo_region_cd = d.geo_region_cd
AND f.op_cmpny_cd = d.op_cmpny_cd

The join keys are the same for both personas. The difference is scope: Category Advisor tables contain items from every supplier in the category.

4.2 Which Join Should I Use for Each Dataset?

Dataset Native Grain Join Keys Prepare the Dimension Join Type
Store Sales Transaction line by date WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
Store Inventory Store, WM_ITEM_NBR, date WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
POS, returns, markdowns Store, WM_ITEM_NBR, date WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
DC Inventory DC, WM_ITEM_NBR, date WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
Omni Sales WM_ITEM_NBR, channel, date WM_ITEM_NBR + CATLG_ITEM_ID + region + company + supplier Active records only LEFT
eCommerce (catalog grain) CATLG_ITEM_ID, date CATLG_ITEM_ID + region + company + supplier One row per CATLG_ITEM_ID (SQL-2) LEFT
Forecast Store, WM_ITEM_NBR, date WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
Modular Item placement WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT
Purchase Orders PO line WM_ITEM_NBR + region + company + supplier One row per WM_ITEM_NBR LEFT

4.3 How Do I Get CATLG_ITEM_ID for eCommerce Tables That Now Use WM_ITEM_NBR?

Join on WM_ITEM_NBR to the deduplicated current dimension and read CATLG_ITEM_ID from it.

Do not assume a one-to-one relationship without the deduplication step.

4.4 How Do I Join a Table That Only Has CATLG_ITEM_ID?

One Catalog Item ID can map to several Walmart items, so a direct join returns several rows per fact row.

Use one of the following approaches:

  • Report at catalog grain: Reduce the dimension to one row per CATLG_ITEM_ID, then join. This is the recommended approach.
  • Report at Walmart item grain: Join to all mapped items, then follow the metric rules in section 4.5.

4.5 How Do eCommerce Metrics Roll Up to Walmart Items?

Metric Type Example How It Maps to WM_ITEM_NBR Can I Sum Across Items?
Copied Product content score The same value is repeated on every linked item. No. Report at CATLG_ITEM_ID.
Allocated eCommerce sales and inventory, after migration Split across linked items with a daily ratio. Yes. Values add back to the catalog total.

4.6 Modular and Purchase Order Data Describe Physical Items. Anything Special?

Yes. A modular placement or purchase-order line describes a physical item.

If you join it to several catalog products, it is duplicated.

Always join modular and purchase-order data to a one-row-per-WM_ITEM_NBR view, and confirm that your row count is unchanged after the join.

5. Preventing Duplicated Metrics


5.1 Why Do My Totals Increase After Joining to Omni Item Dimensions?

The join returned more than one dimension row for some fact rows.

For example, a $100 sales row that matches two dimension rows becomes $200 when summed.

Common causes:

  • Joining on WM_ITEM_NBR only
  • Missing the ITEM_STATUS_CD = FALSE filter
  • Leaving out GEO_REGION_CD, OP_CMPNY_CD, or SUPPLIER_HASH_ID
  • Retired mappings left in your persisted table
  • Unnesting an array column before aggregating

5.2 How Do I Prevent It?

  • Aggregate first, enrich second. Calculate sales, units, trips, inventory, forecast, and purchase-order quantities at the fact table's own grain, then add item attributes.
  • Deduplicate the dimension to one row per join key.
  • Join on all keys listed in section 4.1.
  • Reconcile totals before and after the join (SQL-4).

5.3 Can I Use MAX or MIN to Pick Attributes?

Not for descriptive attributes such as brand, hierarchy, buyer, or description.

MAX and MIN choose each column separately, so one output row can combine values from different records.

Instead, take all attributes from a single ranked row.

Safe to aggregate:

  • Additive measures at their own grain
  • Distinct counts of keys
  • Lists of values, such as manufacturer IDs, shown as a list

6. Preventing Lost Records


6.1 Can the Join Remove Valid Records?

Yes, if you use an INNER JOIN.

Any fact row without a matching dimension row is dropped, and totals are understated.

6.2 What Should I Do Instead?

  • Use a LEFT JOIN from the fact table to the dimension.
  • Label unmatched rows Unmapped instead of dropping them.
  • Track the share of sales that is unmapped over time.
  • Use an INNER JOIN only when you specifically need attributed items, and report how many rows were excluded.

6.3 Why Does a Sales Record Have No Matching Dimension Record?

Possible reasons include:

Reason What to Do
Intentionally excluded item Keep as Unmapped.
The item reached the fact table before the dimension Keep. It should match in a later load.
The mapping was retired Keep. Join to the snapshot for the fact date if you need historical attributes.
Data issue Report it through your standard support channel with WM_ITEM_NBR, CATLG_ITEM_ID, and date.

7. Coverage


7.1 Why Are Some Items in the Legacy Item Dimensions Missing from Omni Item Dimensions?

Some items are excluded intentionally:

Category Behavior
Regulated pharmacy items Excluded by business rule
Items with a deleted status Not carried forward
Inactive mappings Excluded by DV_DEL_IND = FALSE

7.2 Why Does Omni Item Dimensions Contain Items the Legacy Tables Did Not Have?

Omni Item Dimensions adds shared online/in-store items.

Small increases in metrics after migration are expected because more items are covered.

Did this page help you?