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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2015, 12:25   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Thumbs up View on Query
Может кто не знает.

Понадобилось сделать View с двумя таблицами объедененными по notexists, View так не может. Но как оказалось (раньше не делал) View можно организовать по Query.

PS. Ну и наверняка можно развить дальше, View на нескольких View, которые на Query.
Миниатюры
Нажмите на изображение для увеличения
Название: view-on-query.JPG
Просмотров: 451
Размер:	72.5 Кб
ID:	9312  
За это сообщение автора поблагодарили: Logger (3).
Старый 02.07.2015, 12:48   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
У меня на эту тему любимая задачка есть - для продвинутых специалистов на собеседованиях: Написать update_recordset,который для каждой номенклатуры обновляет в inventTableModule цену последней закупки. Решается с помощью view...
Старый 03.07.2015, 07:11   #3  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Чисто академический интерес - не подскажет ли кто, можно ли разрешить вопрос в следующей ситуации:
-есть Query с типом запроса Union и типом объединения датасорсов UnionAll (2 датасорса)
-есть View на этом Query (поле unionAllBranchId доступно, т.е. идентификация источника строки теоретически возможна)
-есть форма с гридом, где источником данных выступает этот View

Как-то можно определить источник данных (исходную таблицу) в каждой строке в форме ?

Вся банда запросных объектов на форме считает, что источник данных запроса один и это View.
На самом View структура метаданных, включающая в себя сведения о структуре исходного запроса, недоступна для анализа и использования в собственных методах.
Экземпляр DictView, созданный на базе этого View, тоже считает, что источник данных у него всего один.
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 03.07.2015 в 07:40.
Старый 03.07.2015, 07:55   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
View полностью инкапсулирует (прячет) в себе свою реализацию. И это правильно. Добавляйте в список полей view дополнительное поле для идентификации источника.
За это сообщение автора поблагодарили: TasmanianDevil (3).
Старый 03.07.2015, 08:29   #5  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Да оно уже есть - unionAllBranchId.
Просто хотелось бы без хардкодинга по значению этого поля определять источник.
Но все равно спасибо.
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 03.07.2015, 11:13   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,325 / 3548 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Да оно уже есть - unionAllBranchId.
Просто хотелось бы без хардкодинга по значению этого поля определять источник.
Но все равно спасибо.
В АХ 2012 в методе вычисляемого столбца поле unionAllBranchId может быть словлено входящим параметром. Т.о. можно будет сделать разбор источника по значению поля.
Специально приведен пример для View на Union на MSDN: https://msdn.microsoft.com/EN-US/library/gg846293.aspx

Цитата:
private static server str Comp_Party_LifeTime(int branchNum)
{
switch (branchNum)
{
case 1:
break;
case 2:
break;
}
Цитата:
CREATE VIEW "DBO".TESTVIEWUNION
AS
SELECT
A.ACCOUNTNUM AS ACCOUNTNUM
,A.PARTY AS PARTY
,A.DATAAREAID AS DATAAREAID
,A.RECID AS RECID
,
(CAST (((SELECT top 1 bg.DiscNoticeDelayDays
from BankGroup as bg
where bg.DiscNoticeDelayDays <= (123 + A.PARTY) /*1*/ ))
AS INT))
AS COMPUTEDINT
FROM CUSTTABLE A

UNION

SELECT
A.CUSTACCOUNT
,A.LIFETIME
,A.DATAAREAID
,A.RECID
,
(CAST (((SELECT top 1 bg.DiscNoticeDelayDays
from BankGroup as bg
where bg.DiscNoticeDelayDays <= (123 + A.LIFETIME) /*2*/ ))
AS INT))
AS COMPUTEDINT
FROM ASSETBOOK A
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Logger (1), skuull (1).
Теги
query, view

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Map и View в одном Query AnGor DAX: Программирование 6 17.01.2015 17:21
emeadaxsupport: Microsoft Dynamics AX general performance analysis scripts page 5 Blog bot DAX Blogs 0 01.09.2014 14:11
dynamicsaxbi: Better together: Microsoft Dynamics AX 2012 R2 and SQL Server Power View Blog bot DAX Blogs 0 12.12.2012 13:11
Как реализовать Query или View на примере такого T-SQL запроса для OLAP? sao DAX: Программирование 9 07.10.2005 18:57

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

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

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