07.10.2005, 16:09 | #1 |
Участник
|
Как реализовать Query или View на примере такого T-SQL запроса для OLAP?
Здравствуйте.
Вот такой запрос: select DAY(getdate() - createddate) from SalesTable Как такую штуку в Query или View сделать и можно ли вообще? Запрос или вид планируется использовать для создания куба. Это поле будет aналитикой в кубе. |
|
07.10.2005, 16:23 | #2 |
злыдень
|
DATEDIFF([Day], { fn NOW() }, dbo.ля-ля.DATE) AS DAYтру-ля-ля
|
|
07.10.2005, 16:33 | #3 |
Участник
|
наверно вопрос неправильно задал. извините. Имел ввиду Query или View аксаптовские, статические.
|
|
07.10.2005, 17:12 | #4 |
Участник
|
function based fields - это display methods ....без права на фильтрацию и сортировку альтернатива - денормализация ....
C уважением, itfs. |
|
07.10.2005, 17:37 | #5 |
Участник
|
Да действительно можно создать в View display метод, а потом подцепить его в форме.
Не подходит такой вариант, потому как при создании аналитики в кубе (в Axapta) надо указать таблицу(вид) и соответствующее поле. Под денормализацией вы имели ввиду создание в таблице еще одного поля, где хранить эти данные? Это вариант, но не самый красивый. правда сейчас это единственный. особо и не выберешь Попутно еще вопрос. КУБ естественно можно создать напрямую без Аксапты, но возникает вопрос как рассчитывать суммы в разных валютах. Если кто нибудь подобное делал напрямую, буду благодарен если поделитесь опытом. |
|
07.10.2005, 17:53 | #6 |
злыдень
|
но возникает вопрос как рассчитывать суммы в разных валютах-
а в чём именно вопрос? Попутно еще ответ. КУБ естественно НУЖНО создать напрямую без Аксапты |
|
07.10.2005, 18:03 | #7 |
Участник
|
Например надо посчитать суммы оплат по заказу. А оплаты происходили в разных валютах.Соответственно в кубе будут схлопыватся суммы в разных валютах.
Не случайно в Аксапте при формировании куба указывается обязательным полем валюта. |
|
07.10.2005, 18:10 | #8 |
злыдень
|
Куб - не дебил - он агрегирует данные по скормленной ему таблице фактов, если у разработчика ума не хватит сделать измерение по полю валюта - туда разработчику и дорога. И нечего на куб валить
Если надо пересчитать в единую валюту по соотв-му курсу - PHP код:
и последнее: а что у вас в системе в основную валюту операции не пересчитываются? |
|
07.10.2005, 18:37 | #9 |
Участник
|
1. Если я создам измерение валюта, то возвращаясь к нашему примеру увидим несколько оплат в разных валютах по заказу. А если нам надо узнать сколько, еще не доплатил клиент по заказу. должны найти разницу. Это не решение.
2. В View нельзя использовать курсоры, временные таблицы и exec вызовы. В этом сложность и состоит. Пока не пытался реализовывать этот алгоритм пересчета в основную валюту. Поэтому вопрос был скорее по реализации этогого алгоритма. 3. не пересчитываются. это самопальный модуль. |
|
07.10.2005, 18:57 | #10 |
злыдень
|
1. Естественно, Вы же не хотели чтобы они схлопывались, вот они и не схлопнуться
2. Join тоже во вью нельзя использовать??? Не говоря уже о ДТС 3. Все ясно. Какой модуль, такой и куб будет Остается непонятным только одно, Вы рассчитывали что если будете строить в Аксапте, Куб сам догадается что и как и во что надо пересчитать? Ну да ладно, вопрос риторический, удачи PS. Почитайте BOL + SQL.ru |
|