В моем приложении для управления билетами есть две таблицы: " ExpositionPeriods " и " OrganisedVisits ".
ExpositionPeriods - определяет периоды, на которые можно приобрести билеты.
OrganisedVisits - Хранит информацию о приобретенных билетах.
В приведенном ниже примере у нас есть 5 доступных периодов, и билеты были куплены на 2 периода.
Клиенту нужен отчет, в котором указано «Количество посетителей на каждый доступный период». Это означает, что для любого периода, в котором нет посетителя, отчет должен показывать «0» за этот период. Как то так.
Пока все хорошо. Поскольку производственная база данных огромна (~ 500 ГБ), не рекомендуется создавать отчеты по этой базе данных напрямую. Ситуация становится сложной, когда я создаю куб OLAP из этой схемы и пытаюсь достичь той же функциональности отчета в кубе. Кажется, что куб фактически выполняет действие, подобное SQL INNER JOIN, в отличие от LEFT OUTER JOIN, и, следовательно, я не вижу периодов, для которых не проданы билеты.
Так ведет себя SSAS? Я пропускаю какие-либо конкретные настройки, которые будут указывать ядру SSAS на обработку куба другим способом, чтобы включить также пропущенные периоды? Обратите внимание, что конечные пользователи не имеют доступа к сценариям MDX / DAX, они могут использовать куб только путем измерения с помощью перетаскивания и измерения, как в сводной таблице Excel.