Background) I went through the process of creating a fact table for our inventory data, which in theory will act as a night snapshot of our warehouse. What is recorded is information such as quantity, weight, location, statuses, etc. The data is very detailed and in many cases is not specifically related to one object (our source database registers inventory data as having three primary keys: aka pallet license mark, product and type of packaging - therefore it has essentially 3 business keys and does not have a surrogate key key).
The goal is to be able to 100% accurately recreate our warehouse management system data, which can be viewed for one day in history. Therefore, I can look and see how many XYZ product pallets were at location 1234 on August 4.
Question 1) Now, I built this fact table to look structurally like a slowly changing dimension, type 2. Is this wrong? I read a little about the accumulation of snapshot fact tables, and I'm starting to doubt my design. What is the best practice in this situation?
Question 2) If my design is fine, how do I configure Analysis Services to recognize my DateStart and DateEnd columns in a FACT table? I found some information on how to set this up for measurements, but it doesn't seem to work / apply to fact tables.
For reference - Fact table structure (with added notes about columns):
CREATE TABLE [dbo].[FactInventory]( [id] [int] IDENTITY(1,1) NOT NULL, (fact table only surrogate key) [DateStart] [datetime] NULL, (record begin date) [DateEnd] [datetime] NULL, (record end date) [CreateDate] [datetime] NULL, (create date of the inventory record in src db) [CreateDateId] [int] NULL, (create date dimension key) [CreateTimeId] [int] NULL, (create time dimension key) [LicensePlateId] [int] NULL, (pallet id dimension key) [SerialNumberId] [int] NULL, (serial number id dimension key) [PackagedId] [int] NULL, (packaging type id dimension key) [LotId] [int] NULL, (inventory lot id dimension key) [MaterialId] [int] NULL, (product id dimension key) [ProjectId] [int] NULL, (customer project id dimension key) [OwnerId] [int] NULL, (customer id dimension key) [WarehouseId] [int] NULL, (warehouse id dimension key) [LocationId] [int] NULL, (location id dimension key) [LPStatusId] [int] NULL, (licenseplate status id dimension key) [LPTypeId] [int] NULL, (licenseplate type id dimension key) [LPLookupCode] [nvarchar](128) NULL, (licenseplate non-system name) [PackagedAmount] [money] NULL, (inventory amount - measure) [netWeight] [money] NULL, (inventory netWeight - measure) [grossWeight] [money] NULL, (inventory grossWeight - measure) [Archived] [bit] NULL, (inventory archived yes/no - dimension) [SCDChangeReason] [nvarchar](128) NULL (auditing data for changes)