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