Мне нужно построить карту данных, используя power pivot для магазина беспошлинной торговли в аэропорту. Менеджер по продажам анализирует данные о продажах, используя номер рейса и PAX, количество человек на рейс. Итак, я не знаю, куда положить PAX. В DimFlight или FactSales. Это аддитивный, не так ли? Пожалуйста, объясните мне, почему и как мне помещать PAX в таблицу. DimFlight может включать в себя авиакомпании, flignt_no, дату, PAX. Полет может также высаживать аэропорт более одного раза в день.должен ли PAX находиться в таблице Flightx Dimension или Fact Sales?
ответ
Ничто не мешает вам моделировать его как измерение, так и измерение, поэтому вы можете хранить его как в таблице измерений, так и в качестве меры на таблице фактов. Если вы храните его как меру в таблице фактов, вы можете выполнить несколько анализов по другим возможным параметрам, получить представление как средние, максимальные, минимальные, общие по размеру x или y, что было бы очень сложно, если вы сохраните его только на таблицу размеров.
С другой стороны, хранение его в таблице размеров позволяет получить дополнительные «перспективы» анализа, например, общий подход заключается в том, чтобы хранить в столбцах «интервалы» таблицы размеров со значениями, такими как: от 1 до 1000 человек, от 1001 до 2000. Этот столбец рассчитан по времени ETL в зависимости от значения PAX. Так почему бы не использовать оба?
PAX - это факт, описывающий измеряемое значение конкретного события полета. Это должно быть в таблице фактов, а не в измерении полета. Я ожидал бы, что общая емкость будет атрибутом плоского измерения, связанного с событием полета. (Номер рейса, вероятно, будет дегенеративным измерением, поскольку он действительно не имеет никаких атрибутов.) Однако сам PAX должен быть мерой в таблице фактов.
Вы можете создать мусорное измерение, которое имеет бандаж, упомянутый @Luis Leal, чтобы сделать некоторую аналитику емкости. Вы даже можете создать измерение чисел с атрибутом для каждого группового уровня, чтобы вы могли делать более подробный диапазон. Например, атрибут для 1s, 10s, 100s, 1000s и т. Д. Вы также можете рассчитать заполненную пропускную способность полета и указать размерность, чтобы вы могли группировать полеты на 80%, заполненные на 90% и т. Д.
- 1. Data Warehouse Dimension Design for Factless Fact Table
- 2. Должен ли каждый ivar находиться в CoreData?
- 3. Как определить, должен ли объект находиться в стеке или нет?
- 4. Должен ли этот код находиться в документе.
- 5. Где должен находиться jsoncallback?
- 6. Использование ANYDATA/SQL_VARIANT в таблице FACT
- 7. Где должен находиться репозиторий Subversion?
- 8. Где должен находиться файл js.erb
- 9. Sql Server Point Sales Sales
- 10. Должен ли SQL VIEW всегда находиться в 1NF?
- 11. Должен ли DLL находиться в папке Lib в NuGet пакете
- 12. Должен ли прототип функции всегда находиться в файле заголовка?
- 13. Должен ли пользователь hadoop находиться в файле sudoers?
- 14. Должен ли GCMIntentService всегда находиться в базовом пакете?
- 15. Должен ли varargin находиться в конце списка входных параметров?
- 16. Должен ли файл Node.js package.json находиться в корне репозитория?
- 17. Должен ли DOCTYPE находиться в верхнем регистре HTML5?
- 18. ValueError: endog должен находиться в единичном интервале
- 19. Порядок умножений в рекурсивном факториале: n * fact() vs. fact() * n
- 20. $ HADOOP_HOME или $ HADOOP_PREFIX должен быть установлен или hasoop должен находиться на пути
- 21. Должна ли логика навигации находиться в контроллере или в представлении?
- 22. Должен ли сигнал() всегда находиться между замками() и unlock()?
- 23. исполняемый файл geckodriver должен находиться в пути
- 24. Должен ли текст в текстовой игре на C++ находиться в коде или во внешних файлах?
- 25. Должен ли Schema.org startDate находиться в UTC или в местном часовом поясе?
- 26. Должен ли клиент API Google находиться внутри Activity?
- 27. Datawarehouse Fact table question
- 28. Должен ли файл web.xml находиться под контролем версии?
- 29. Rails 4: должен ли tmp/cache находиться под управлением версией?
- 30. Где должен находиться код менеджера django?
вопрос выглядит ужасно похожим на вопрос викторины/интервью –
извините за мое плохое английское письмо. –
FYI: Полет будет считаться измеримым событием. Дата не должна быть в полете. Вам лучше будет создавать DimRoute, DimAirline, DimPlane, DimDate и иметь FactFlight, который ссылается на эти измерения. Если вы сделаете DimFlight с записью для каждого рейса, вы, скорее всего, получите 1 = 1 матч между вашим фактом и тусклым. Это, как правило, показатель того, что у вас проблемы с дизайном. –