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

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

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

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

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


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


Ответы (2)


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

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

person Mitch Schroeter    schedule 20.01.2009
comment
Это будет запутанно, если у вас есть измерение времени с определенными и регулярными записями, например. одна строка в день или одна строка в час, а затем, в дополнение к этому, иметь случайное измерение, в котором есть только начальная и конечная точки, созданные пользователем всякий раз, когда они начинают / заканчивают свою работу - person adolf garlic; 21.04.2009

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

person Orkun Balkancı    schedule 18.05.2009