Фон)
Я прошел процесс создания таблицы фактов для наших данных инвентаризации, которые теоретически будут действовать как ночные снимки нашего склада. Записывается такая информация, как количество, вес, местоположение, статусы и т. Д. Данные очень детализированы и во многих случаях не связаны конкретно с одним объектом (наша исходная база данных регистрирует данные инвентаризации как имеющие три основных ключа: licenseplate aka pallet, продукт и тип упаковки - таким образом, он имеет по существу 3 бизнес-ключа и не имеет суррогатного ключа).
Цель состоит в том, чтобы иметь возможность на 100% точно воспроизводить данные нашей системы управления складом, которые можно просматривать в любой день истории. Так что я могу посмотреть и посмотреть, сколько поддонов с продуктом XYZ было на складе 1234 4 августа.
Вопрос 1)
Теперь я построил эту таблицу фактов так, чтобы она структурно выглядела как медленно меняющееся измерение, тип 2. Это неправильно? Я немного читал о накоплении таблиц фактов снимков и начинаю сомневаться в своем дизайне. Какова лучшая практика в этой ситуации?
Вопрос 2)
Если мой дизайн в порядке, как мне настроить службы Analysis Services, чтобы он распознавал мои столбцы DateStart и DateEnd в таблице FACT? Я нашел некоторую информацию о том, как настроить это для измерений, но он не работает / не применим к таблицам фактов.
Для справки - Структура моей таблицы фактов (с добавленными примечаниями о столбцах):
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)