В моем кубе SSAS возникла непростая для меня проблема с дизайном. Вопрос связан с общей практикой бухгалтерского учета, у меня есть таблица фактов, содержащая финансовые транзакции (то есть бухгалтерская книга), и каждая из этих транзакций помечена датой транзакции и периодом. Период НЕ связан напрямую с днем или серией дней. Пользователи могут закрыть период в середине дня, если на это время они закончили свою месячную работу.
Мне нужно иметь возможность отчитываться о дебиторской задолженности (AR) как по дате, так и по периоду. Я не использую Enterprise Edition SSAS, поэтому полуаддитивные параметры интеллектуального анализа времени мне недоступны, и даже если бы они были, они позволили бы только одному измерению времени использовать нестандартную агрегацию, и я считаю, что в этом случае мне нужны два, которые разрешите это.
Дебиторская задолженность - это промежуточный итог, он должен быть суммой последнего выбранного элемента бухгалтерской книги и всего, что было до него. Я знаю, как выполнить это вычисление в многомерных выражениях для одного измерения времени, но как я могу позволить этому работать с двумя измерениями времени, датой транзакции и закрытием периода? Считается ли в этом случае близкий период вообще "временным" измерением? У него есть временной аспект, и мне нужны суммы за все периоды до текущего.
Я не понимаю, как связать два измерения времени с одной таблицей фактов и использовать разные агрегаты для каждого. Возможно, лучшим решением здесь является наличие двух периодических таблиц моментальных снимков (вместо попытки агрегировать эту информацию из таблицы FactLedger), одна агрегированная по дате транзакции и одна по периоду, что является решением, к которому я сейчас склоняюсь, но мне бы хотелось второй мнение.





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