Конструкция куба SSAS, полуаддитивные меры и промежуточные итоги

В моем кубе SSAS возникла непростая для меня проблема с дизайном. Вопрос связан с общей практикой бухгалтерского учета, у меня есть таблица фактов, содержащая финансовые транзакции (то есть бухгалтерская книга), и каждая из этих транзакций помечена датой транзакции и периодом. Период НЕ связан напрямую с днем ​​или серией дней. Пользователи могут закрыть период в середине дня, если на это время они закончили свою месячную работу.

Мне нужно иметь возможность отчитываться о дебиторской задолженности (AR) как по дате, так и по периоду. Я не использую Enterprise Edition SSAS, поэтому полуаддитивные параметры интеллектуального анализа времени мне недоступны, и даже если бы они были, они позволили бы только одному измерению времени использовать нестандартную агрегацию, и я считаю, что в этом случае мне нужны два, которые разрешите это.

Дебиторская задолженность - это промежуточный итог, он должен быть суммой последнего выбранного элемента бухгалтерской книги и всего, что было до него. Я знаю, как выполнить это вычисление в многомерных выражениях для одного измерения времени, но как я могу позволить этому работать с двумя измерениями времени, датой транзакции и закрытием периода? Считается ли в этом случае близкий период вообще "временным" измерением? У него есть временной аспект, и мне нужны суммы за все периоды до текущего.

Я не понимаю, как связать два измерения времени с одной таблицей фактов и использовать разные агрегаты для каждого. Возможно, лучшим решением здесь является наличие двух периодических таблиц моментальных снимков (вместо попытки агрегировать эту информацию из таблицы FactLedger), одна агрегированная по дате транзакции и одна по периоду, что является решением, к которому я сейчас склоняюсь, но мне бы хотелось второй мнение.

Чтобы уточнить, Период в бухгалтерском смысле - это период времени, но он не может быть одинаковым для всех мест в кубе. Скажем, у меня есть два местоположения, одно решает закрыть свой период января 2 февраля, другое местоположение решает закрыть свой период 4 февраля (обычно это первая неделя следующего месяца, но я не контролирую это). Я не могу просто использовать стандартное измерение времени, но определенно существует временная (или, по крайней мере, последовательная) составляющая, поскольку период февраля всегда будет следовать за периодом января.

Shane Delmore 08.03.2011 18:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
6 138
2

Ответы 2

Вы, безусловно, можете иметь более одного измерения времени в кубе, и в этом случае я бы фактически просто создал одно общее измерение времени и сделал бы его ролевой игрой как два, дата транзакции и закрытие периода. Чтобы сыграть измерение, просто добавьте его в куб еще раз на вкладке «Использование измерения» конструктора куба и переименуйте его. Настройте ссылки соответствующим образом, чтобы отключить два разных столбца фактов.

Или, может быть, я неправильно понимаю проблему. Звучит довольно прямолинейно.

Это будет запутанно, если у вас есть измерение времени с определенными и регулярными записями, например. одна строка в день или одна строка в час, а затем, в дополнение к этому, иметь случайное измерение, в котором есть только начальная и конечная точки, созданные пользователем всякий раз, когда они начинают / заканчивают свою работу

adolf garlic 21.04.2009 16:02

Вы можете создать свою собственную таблицу времени с периодами, и вы можете изменить формат даты и времени своего факта_таблицы в соответствии с вашей таблицей времени. Тогда будет достаточно одного измерения.

Другие вопросы по теме