Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Default member / 21 сообщений из 21, страница 1 из 1
15.07.2005, 19:19
    #33169543
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Привет всем.
Наверняка кто то уже сталкивался с подобной задачей.
Есть такое свойство Default member там можно выставить какой то member или написать MDX. Может кто то подскажет как написать MDX что бы Default member по Dim Дата был как системная дата?
Тоесть юзер открывает отчет и получает сражу же текущюю дату.
Вот что то мучился и ничего не нашел может кто то это уже решил.
Спасибо.

P.S.
Сервер MS AS SP4
...
Рейтинг: 0 / 0
15.07.2005, 20:59
    #33169602
Mosha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Зависит как у Вас определено измерение "Время". Например в Foodmart 2000 это будет выглядеть так:

Код: plaintext
StrToMember("[Time].["+Cstr(Year(Now())) + "].[Q" + CStr(DatePart("Q",Now()))+"].["+CStr(Month(Now())) + "]")

Правда там это не отработает, т.к. измерение Время кончается в 1998, а у нас уже 2005 на дворе.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights
...
Рейтинг: 0 / 0
17.07.2005, 23:10
    #33170366
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
MoshaЗависит как у Вас определено измерение "Время". Например в Foodmart 2000 это будет выглядеть так:

Код: plaintext
StrToMember("[Time].["+Cstr(Year(Now())) + "].[Q" + CStr(DatePart("Q",Now()))+"].["+CStr(Month(Now())) + "]")

Правда там это не отработает, т.к. измерение Время кончается в 1998, а у нас уже 2005 на дворе.

Моша
----------------------------------------------------
This posting is provided "AS IS" with no warranties, and confers no rights

Nu tak emu ne dolgo i Shift sdelat.
...
Рейтинг: 0 / 0
18.07.2005, 12:57
    #33171133
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Спасибо Вам что помогли но вот одна мелочь все это дело выглядит так
[Time].[2002].[7].[2002-7-17] а такого мембера нету есть такой
[Time].[2002].[7].[2002-07-17].

Вот этот нолик вставить трудно.
...
Рейтинг: 0 / 0
18.07.2005, 14:08
    #33171382
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Ну можно изобразить строку типа Format(Date(),'yyyy-mm-dd') и по идее всё в шоколаде....
...
Рейтинг: 0 / 0
18.07.2005, 14:09
    #33171386
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Alex FoxНу можно изобразить строку типа Format(Date(),'yyyy-mm-dd') и по идее всё в шоколаде.... Вот это тема, спасиб!
...
Рейтинг: 0 / 0
18.07.2005, 14:12
    #33171394
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
OLAPMASTER Alex FoxНу можно изобразить строку типа Format(Date(),'yyyy-mm-dd') и по идее всё в шоколаде.... Вот это тема, спасиб!

Гы гы гы Format(Date(),'yyyy-mm-dd') пишет 18.07.2005 вот это уже круто.
...
Рейтинг: 0 / 0
18.07.2005, 14:24
    #33171440
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Ладно...
Можно обращаться не по имени, а по значению ключа.
У меня ключевое поле типа int. и сегодня выглядит как 20050718
Строка получается
Код: plaintext
StrToMember("[Time].&["+Format(Date(),"yyyymmdd")+"]")
...
Рейтинг: 0 / 0
18.07.2005, 14:30
    #33171455
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
А если и так не покатит, совсем бронебойный способ:
Код: plaintext
iif(month(date())< 10 ,'0'+month(date()),month(date()))
...
Рейтинг: 0 / 0
18.07.2005, 14:39
    #33171483
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Alex FoxА если и так не покатит, совсем бронебойный способ:
Код: plaintext
iif(month(date())< 10 ,'0'+month(date()),month(date()))

Этот способ хорош даже и с первым примером, только вот как ты это дело запишеш в DEF/MEMBER он крикнет что типа IIF он не понимаеть.
MS AS SP4.
Если тебе не трудно проверь.
...
Рейтинг: 0 / 0
18.07.2005, 15:09
    #33171586
Alex Fox
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Поторопился. Реально выдранный кусок
Код: plaintext
StrToMember("[Время].[Год Кв М Д].&["+CStr(Year(Date()))+iif(month(Date())< 10 ,"0"+Cstr(month(Date())),CStr(month(Date())))+CStr(Day(Date()))+"]")
MS AS SP4
...
Рейтинг: 0 / 0
18.07.2005, 15:23
    #33171626
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Alex FoxПоторопился. Реально выдранный кусок
Код: plaintext
StrToMember("[Время].[Год Кв М Д].&["+CStr(Year(Date()))+iif(month(Date())< 10 ,"0"+Cstr(month(Date())),CStr(month(Date())))+CStr(Day(Date()))+"]")
MS AS SP4
Круто, это фурычит! Спасиб мужик спас!
...
Рейтинг: 0 / 0
18.07.2005, 16:16
    #33171807
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
можно проще

Right(CStr(Month(Now()) + 100), 2)
...
Рейтинг: 0 / 0
18.07.2005, 17:01
    #33171953
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
AAronможно проще

Right(CStr(Month(Now()) + 100), 2)



Это как ен то?

Right(CStr(Month(Now()) + 100), 2) = Right("700",2) = "00" и чего это ?

Чето я не понял?
...
Рейтинг: 0 / 0
18.07.2005, 17:29
    #33172027
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Это почему это?
К номеру месяца "Month(Now())" прибавляем 100. Получается 107. Переводим в строку и берем два правых символа Right(Cstr(..), 2) = "07"
...
Рейтинг: 0 / 0
18.07.2005, 18:04
    #33172089
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
AAronЭто почему это?
К номеру месяца "Month(Now())" прибавляем 100. Получается 107. Переводим в строку и берем два правых символа Right(Cstr(..), 2) = "07"

Угу понятно, просто в запутался, такое ошушение что "+" это и сложение и конкатинация?? Обычно конкатинация это - "||" а сложение + , а сдесь я понял + как конкатинацию а оказываеться это сложение было. И далее + уже идеть как конкатинация строк.
Гы гы гы пипец...
Это тоже катит и того два способа победить сырость!!
Спасибо всем!
...
Рейтинг: 0 / 0
18.07.2005, 18:09
    #33172098
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
OLAPMASTERУгу понятно, просто в запутался, такое ошушение что "+" это и сложение и конкатинация?? Обычно конкатинация это - "||" а сложение + , а сдесь я понял + как конкатинацию а оказываеться это сложение было. И далее + уже идеть как конкатинация строк.
надо было написать 100 + Month(Now()) и тогда будет работать даже если + - это конкатенация :-)
...
Рейтинг: 0 / 0
18.07.2005, 18:22
    #33172125
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Dmitry Biryukov OLAPMASTERУгу понятно, просто в запутался, такое ошушение что "+" это и сложение и конкатинация?? Обычно конкатинация это - "||" а сложение + , а сдесь я понял + как конкатинацию а оказываеться это сложение было. И далее + уже идеть как конкатинация строк.
надо было написать 100 + Month(Now()) и тогда будет работать даже если + - это конкатенация :-)
В таком случае достаточно 0 + Month(Now()) 100 уже не надо.

Вообщем замароты одни пошли.
...
Рейтинг: 0 / 0
18.07.2005, 20:32
    #33172257
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
OLAPMASTER Dmitry Biryukov OLAPMASTERУгу понятно, просто в запутался, такое ошушение что "+" это и сложение и конкатинация?? Обычно конкатинация это - "||" а сложение + , а сдесь я понял + как конкатинацию а оказываеться это сложение было. И далее + уже идеть как конкатинация строк.
надо было написать 100 + Month(Now()) и тогда будет работать даже если + - это конкатенация :-)
В таком случае достаточно 0 + Month(Now()) 100 уже не надо.

Вообщем замароты одни пошли.а так не будет работать когда + - это сложение :-). так что 100 - правильная цифра. хотя можно и 200 и 300 и т.д.
...
Рейтинг: 0 / 0
18.07.2005, 21:13
    #33172285
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
главное добавить необходимое количество разрядов, больше желаемого количества лидирующих нулей.

А результат функции Month() - число типа Int.
...
Рейтинг: 0 / 0
18.07.2005, 22:12
    #33172340
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Default member
Muzhiki, pomoemu nado iskat member po property (lichshe vsego MEMBER_KEY), a ne izgalyatsa s formatom. format dati vsegda zavisit ot lokali.
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Default member / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]