AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2005, 16:09   #1  
sao is offline
sao
Участник
 
58 / 16 (1) ++
Регистрация: 07.04.2005
Адрес: Подмосковье
? Как реализовать Query или View на примере такого T-SQL запроса для OLAP?
Здравствуйте.
Вот такой запрос:

select DAY(getdate() - createddate)
from SalesTable

Как такую штуку в Query или View сделать и можно ли вообще?
Запрос или вид планируется использовать для создания куба. Это поле будет aналитикой в кубе.
Старый 07.10.2005, 16:23   #2  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
DATEDIFF([Day], { fn NOW() }, dbo.ля-ля.DATE) AS DAYтру-ля-ля
Старый 07.10.2005, 16:33   #3  
sao is offline
sao
Участник
 
58 / 16 (1) ++
Регистрация: 07.04.2005
Адрес: Подмосковье
наверно вопрос неправильно задал. извините. Имел ввиду Query или View аксаптовские, статические.
Старый 07.10.2005, 17:12   #4  
itfs is offline
itfs
Участник
 
277 / 43 (2) +++
Регистрация: 18.07.2005
Адрес: Moscow
function based fields - это display methods ....без права на фильтрацию и сортировку альтернатива - денормализация ....

C уважением, itfs.
Старый 07.10.2005, 17:37   #5  
sao is offline
sao
Участник
 
58 / 16 (1) ++
Регистрация: 07.04.2005
Адрес: Подмосковье
Да действительно можно создать в View display метод, а потом подцепить его в форме.
Не подходит такой вариант, потому как при создании аналитики в кубе (в Axapta) надо указать таблицу(вид) и соответствующее поле.

Под денормализацией вы имели ввиду создание в таблице еще одного поля, где хранить эти данные? Это вариант, но не самый красивый. правда сейчас это единственный. особо и не выберешь

Попутно еще вопрос. КУБ естественно можно создать напрямую без Аксапты, но возникает вопрос как рассчитывать суммы в разных валютах. Если кто нибудь подобное делал напрямую, буду благодарен если поделитесь опытом.
Старый 07.10.2005, 17:53   #6  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
но возникает вопрос как рассчитывать суммы в разных валютах-
а в чём именно вопрос?

Попутно еще ответ. КУБ естественно НУЖНО создать напрямую без Аксапты
Старый 07.10.2005, 18:03   #7  
sao is offline
sao
Участник
 
58 / 16 (1) ++
Регистрация: 07.04.2005
Адрес: Подмосковье
Например надо посчитать суммы оплат по заказу. А оплаты происходили в разных валютах.Соответственно в кубе будут схлопыватся суммы в разных валютах.
Не случайно в Аксапте при формировании куба указывается обязательным полем валюта.
Старый 07.10.2005, 18:10   #8  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Куб - не дебил - он агрегирует данные по скормленной ему таблице фактов, если у разработчика ума не хватит сделать измерение по полю валюта - туда разработчику и дорога. И нечего на куб валить

Если надо пересчитать в единую валюту по соотв-му курсу -
PHP код:
  /* Пересчет в основную валюту */
  
select first 1 kurs  from f_valuta_
    where valutakod 
= :valuta and  data <= :datecur
        order by data desc INTO 
:kurstek;
  if (
kurstek is nullthen execute procedure ERROR('Не определен курс для валюты '||valuta||' на '||datetostring(datecur)); 
это на диалекте фаербёрд, но идея должна быть ясна

и последнее:
а что у вас в системе в основную валюту операции не пересчитываются?
Старый 07.10.2005, 18:37   #9  
sao is offline
sao
Участник
 
58 / 16 (1) ++
Регистрация: 07.04.2005
Адрес: Подмосковье
1. Если я создам измерение валюта, то возвращаясь к нашему примеру увидим несколько оплат в разных валютах по заказу. А если нам надо узнать сколько, еще не доплатил клиент по заказу. должны найти разницу. Это не решение.

2. В View нельзя использовать курсоры, временные таблицы и exec вызовы. В этом сложность и состоит. Пока не пытался реализовывать этот алгоритм пересчета в основную валюту. Поэтому вопрос был скорее по реализации этогого алгоритма.

3. не пересчитываются. это самопальный модуль.
Старый 07.10.2005, 18:57   #10  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
1. Естественно, Вы же не хотели чтобы они схлопывались, вот они и не схлопнуться

2. Join тоже во вью нельзя использовать??? Не говоря уже о ДТС

3. Все ясно. Какой модуль, такой и куб будет

Остается непонятным только одно, Вы рассчитывали что если будете строить в Аксапте, Куб сам догадается что и как и во что надо пересчитать?

Ну да ладно, вопрос риторический, удачи

PS.
Почитайте BOL + SQL.ru
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Поиск места вызова SQL запроса eLLoco DAX: Программирование 17 25.09.2007 08:49
axcoder: Tabax 0.2.14: View query of the active datasource Blog bot DAX Blogs 2 02.02.2007 12:10
SQL 2005 и OLAP George Nordic DAX: Администрирование 9 21.03.2006 19:36
Доступ к VIEW SQL SERVER из Axapta 111andrei DAX: Программирование 13 02.12.2005 11:19
OLAP Services на Windows и SQL кластере ada DAX: Администрирование 6 11.07.2005 15:29

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:37.