Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 SSAS. MDX. Пятничный расколбас или нарвался...  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 1955
Нарвался на "100-летней" давности проблему и дабы больше об этом не забывать делюсь со всеми..
запрос:
select 
  "[Measures].[d]" mdx_date
  ,"[Measures].[dn]" mdx_date_as_dbl
  ,convert(nvarchar, cast(cast('2017-01-01' as date) as datetime), 104) sql_date
  ,cast(cast(cast('2017-01-01' as date) as datetime) as float) sql_date_as_dbl
--  ,cast(cast(cast(cast('2017-01-01' as date) as datetime) as float) as datetime) sql_dbl_as_date
  ,convert(nvarchar, cast(cast("[Measures].[dn]" as float) as datetime), 104) mdx_dbl_as_sql_date
  ,"[Measures].[dd]" sql_dbl_as_mdx_date
from
openrowset('MSOLAP', 'DATASOURCE=localhost; Initial Catalog="AdventureWorks"',
'with 
  member _d as cdate(''2017-01-01'')
  member d as format(_d, ''dd/MM/yyyy'')
  member dn as cdbl(_d)
  member _dd as cdate(42734)
  member dd as format(_dd, ''dd/MM/yyyy'')
select 
 {d, dn, dd} on columns
from 
 [Adventure Works]
')

результат:
mdx_datemdx_date_as_dblsql_datesql_date_as_dblmdx_dbl_as_sql_datesql_dbl_as_mdx_date
01.01.20174273601.01.20174273403.01.201730.12.2016

объяснение:
отсчет даты
VBA - 30/12/1899
TSQL - 01/01/1900

где нарвался:
создана мера на основе даты преобразованной в формат float
нужно было в запросе отобразить ее в формате даты.
7 июл 17, 17:11    [20624226]     Ответить | Цитировать Сообщить модератору
 Re: SSAS. MDX. Пятничный расколбас или нарвался...  [new]
Владимир Штепа
Member

Откуда: Hannover
Сообщений: 6001
ShIgor,

что показывает собственно мдх запрос?
13 июл 17, 09:35    [20639382]     Ответить | Цитировать Сообщить модератору
 Re: SSAS. MDX. Пятничный расколбас или нарвался...  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 821
Владимир Штепа
ShIgor,

что показывает собственно мдх запрос?


Запрос и его результаты показывают необходимость не забывать о разных точках отсчёта дат в разных системах и о том, что даты лучше передавать не в числовом формате (43345), а строками ('2017-06-12') или в формате дат принимающей системы ('20170612').
13 июл 17, 16:51    [20641677]     Ответить | Цитировать Сообщить модератору
 Re: SSAS. MDX. Пятничный расколбас или нарвался...  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 1955
в ту же тему

http://sqlblogcasts.com/blogs/drjohn/archive/2007/12/03/ssas-working-with-date-and-time-measures-to-calculate-average-elapse-time.aspx
13 июл 17, 18:06    [20642033]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить