Я почти на грани решения проблемы, которая у меня есть в модели в настоящее время... в основном, у меня есть "временная" таблица сопоставления "многие ко многим", которая отображает комиссионные ставки для менеджеров с течением времени... они могут меняться ежедневно , (но делаю это редко), поэтому я пытался избежать просто огромной таблицы с одинаковыми значениями, повторяющимися, хотя и для разных конкретных дат, если я все равно сделаю это, я получу таблицу с 200 миллионами записей, что особенно важно, более один менеджер может получить комиссию за продажу определенного вида товара :s
Примечание. Некоторые комиссионные выплачиваются только одному менеджеру, а некоторые - нескольким, и со временем это может меняться.
Вместо этого я сохранил даты ValidFrom и ValidTo в таблице сопоставления...
Каждое решение, которое я придумываю, смертельно медленное, и я просто понятия не имею, есть ли вообще решение на данный момент... вот ссылка на очень маленький пример: - http://1drv.ms/1gOr7uw
Область, которую я считаю наиболее проблематичной, - это получение правильной «ставки» для данного менеджера в определенный день ... единственный способ, которым я могу это сделать, - это вложенный SUMX, но должно быть что-то пижон, которого мне не хватает?!
Одна вещь, о которой я подумал (но не смог реализовать), заключалась в том, чтобы просто сохранить дату вступления в силу, отфильтровать ее и использовать LASTNONBLANK() или что-то в этом роде?
Может быть, кто-то со свежим взглядом сможет мне помочь? Таскаю мои волосы здесь!
Правка: Кто-то, вероятно, скажет, почему бы мне не сделать это в ETL, что я здесь не показал, так это то, что у меня есть другие показатели, которые не нужно разделять между менеджерами, но вместо этого следует сообщать полную сумму для каждого... но общая сумма не является суммой всех менеджеров (т.е. поведение M2M по умолчанию)
Возможно, мне нужны две таблицы фактов? Возможно, кто-то мог бы смоделировать мои данные в Excel, чтобы добиться «разделения» фактов, как я это вижу, независимо от того, как решить проблему, некоторым вычислениям потребуется выполняться во время выполнения. Я думаю?!
Ty.