Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS 2K, и снова остатки :-( / 25 сообщений из 34, страница 1 из 2
03.02.2006, 19:56
    #33523094
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
Люди добрые помогите или подскажите где копать и на тему чего. Не посылайте в поиск глобально, ибо искал, а просветления так и не наступило :-(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Имею:
AS 2k
Клиент: MS Excel 2003
Куб:
   Измерения:
      Товары
      Время (Год, Месяц)
   Меры:
      Начальный остаток
      Приход
      Расход
      Конечный остаток
      CM_Начальный остаток (calculated members)
      CM_Конечный остаток (calculated members)
Куб тестовый.

Задача:
При выборе произвольного периода получать CM_Начальный остаток и CM_Конечный остаток по выбранному периоду.
Другими словами в измерении Время имеем данные с 2005/01 по 2006/02 включительно. Если не выбран период по хочу получить данные CM_Начальный остаток за январь 2005, CM_Конечный остаток за февраль 2006. Если выбрать в измерении время 2005 год, то соответственно январь и декабрь. И последнее если выбрать несколько элементов в измерении время (скажем 2005/01, 2005/02, 2005/03) то получить хочу соответственно нач ост января и кон ост марта.

Как добиться? Ну никак не получается :-(

Или подскажите где можно на русском почитать о функциях MDX т.к. на английском не доходит.
...
Рейтинг: 0 / 0
03.02.2006, 20:11
    #33523111
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
а сколько платите?
...
Рейтинг: 0 / 0
03.02.2006, 20:18
    #33523116
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
пошутил, но с долей правды :-)
здесь, имхо, без программирования на VBA не обойтись. я даже не уверен можно ли такое сделать в экселе. На OWC делал, но код заточен под определённый куб.

если можно условие "произвольного периода" поменять на "произвольного, но единственного члена измерения", то в сети уже есть куча решений и клиент не важен.
...
Рейтинг: 0 / 0
03.02.2006, 20:27
    #33523129
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
Dmitry Biryukovпошутил, но с долей правды :-)
Пиво по приезду в Харьков :-)

Dmitry Biryukov
если можно условие "произвольного периода" поменять на "произвольного, но единственного члена измерения", то в сети уже есть куча решений и клиент не важен.

Не вопрос. Мне бы только логику понять, а там и на VBA напидалим все что нужно и даже больше.

Где в сети это найти? Я уже всю Google излазил и тут весь форум поиском избороздил, а все никак и не решу вопрос.
...
Рейтинг: 0 / 0
03.02.2006, 20:40
    #33523138
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 Dmitry Biryukovпошутил, но с долей правды :-)
Пиво по приезду в Харьков :-) мало :-) билет на экспресс больше стоит!

YP977
Dmitry Biryukov
если можно условие "произвольного периода" поменять на "произвольного, но единственного члена измерения", то в сети уже есть куча решений и клиент не важен.

Не вопрос. Мне бы только логику понять, а там и на VBA напидалим все что нужно и даже больше.

Где в сети это найти? Я уже всю Google излазил и тут весь форум поиском избороздил, а все никак и не решу вопрос.Логика такая - определяем через объектную модель какой выбран период, генерируем свой MDX и его передаём в эксель/ОWС
такое в сети не знаю где найти.

но если выбран единственный член измерения - примеры есть даже на этом форуме. вся проблема в мультиселекте!
...
Рейтинг: 0 / 0
03.02.2006, 22:39
    #33523241
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977Задача:
При выборе произвольного периода получать CM_Начальный остаток и CM_Конечный остаток по выбранному периоду.
Другими словами в измерении Время имеем данные с 2005/01 по 2006/02 включительно. Если не выбран период по хочу получить данные CM_Начальный остаток за январь 2005, CM_Конечный остаток за февраль 2006. Если выбрать в измерении время 2005 год, то соответственно январь и декабрь. И последнее если выбрать несколько элементов в измерении время (скажем 2005/01, 2005/02, 2005/03) то получить хочу соответственно нач ост января и кон ост марта.

Как добиться? Ну никак не получается :-(

Или подскажите где можно на русском почитать о функциях MDX т.к. на английском не доходит.

все кроме произвольного непрерывного множества элементов измерения времени можно сделать прочитав внимательно наш форум.

Для произвольного множества элементов времени
про Ехель и ОВЦ забудьте.
Тут без custom generated MDX не пропихнутся.
(хотя AS2005 c его semiadditive measures должен рулить и для этого usecase. но 100% гарантии не дам ибо сам это еще не откатал).

Конечно, есть извращенцы на тему StrToMember и т.п., мож и замутят CM, но трмоза будут "аданазначна", так что пользы от этого не будет.
...
Рейтинг: 0 / 0
03.02.2006, 23:11
    #33523261
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireКонечно, есть извращенцы на тему StrToMember и т.п., мож и замутят CM, но трмоза будут "аданазначна", так что пользы от этого не будет.на ваших крутых терабайтных базах, тормоза будут заметны, но давайте не забывать нас - низшее сословие, где гигабайты работают преемлемо, а мегабайты - вообще летают!
...
Рейтинг: 0 / 0
04.02.2006, 00:04
    #33523293
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
Dmitry Biryukov backfireКонечно, есть извращенцы на тему StrToMember и т.п., мож и замутят CM, но трмоза будут "аданазначна", так что пользы от этого не будет.на ваших крутых терабайтных базах, тормоза будут заметны, но давайте не забывать нас - низшее сословие, где гигабайты работают преемлемо, а мегабайты - вообще летают!

скажу честно - до терабайтов еще не дорос :-(
...
Рейтинг: 0 / 0
06.02.2006, 13:22
    #33525759
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireвсе кроме произвольного непрерывного множества элементов измерения времени можно сделать прочитав внимательно наш форум.

Читал и вдумчиво читал. Вроде бы и работало то, что подсказывали. Но если в измерении Время несколько лет и я выбираю All_Время то получаю следующее -
Нач ост - сумма начальных остатков за 2005 год
Кон ост - сумма конечных остатков за 2006 год
Код: plaintext
1.
iif([ГодМесяц].CurrentMember.Level is [ГодМесяц].Levels([ГодМесяц].Levels.Count- 1 ), [Measures].[КонОст], ([Measures].[КонОст], [ГодМесяц].CurrentMember.LastChild))

Еще и так писал:
Код: plaintext
1.
([Measures].[КонОст], [ГодМесяц].CurrentMember.FirstSibling)

Проблема еще в том, что не могу найти описания функций MDX на русском :-(

Что делать? Где читать? Куда копать?
...
Рейтинг: 0 / 0
06.02.2006, 13:34
    #33525789
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
Код: plaintext
1.
(Descendants([Время].CurrentMember,[ГодМесяц].[Месяц]).Item( 0 ), [Measures].[Начост])

Вот это начало спасать отца русской демократии и теперь самая сложная часть, как заставить его работать с множеством элементов измерения Время?
...
Рейтинг: 0 / 0
06.02.2006, 14:21
    #33525928
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977
Код: plaintext
1.
(Descendants([Время].CurrentMember,[ГодМесяц].[Месяц]).Item( 0 ), [Measures].[Начост])

Вот это начало спасать отца русской демократии и теперь самая сложная часть, как заставить его работать с множеством элементов измерения Время?

А как это множетсво выливается в вашем MDX запросе?
...
Рейтинг: 0 / 0
06.02.2006, 14:38
    #33525992
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireА как это множетсво выливается в вашем MDX запросе?
Не понял вопроса...


Еще подскажите плиз для Нач ост вышеприведенная формула устраивает полностью, вот только для Кон ост не подходит вовсе, что нужно написать дабы она ловила не первый элемент из указанного узмерения, а последний.
...
Рейтинг: 0 / 0
06.02.2006, 14:52
    #33526042
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977нужно написать дабы она ловила не первый элемент из указанного узмерения, а последний.Вместо Item(0) используйте функцию Tail
...
Рейтинг: 0 / 0
06.02.2006, 16:24
    #33526402
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 backfireА как это множетсво выливается в вашем MDX запросе?
Не понял вопроса...


Еще подскажите плиз для Нач ост вышеприведенная формула устраивает полностью, вот только для Кон ост не подходит вовсе, что нужно написать дабы она ловила не первый элемент из указанного узмерения, а последний.

Как вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?
...
Рейтинг: 0 / 0
06.02.2006, 17:01
    #33526512
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireКак вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?

Excel-ем выбираю в сводной таблице.

А вот где посмотреть на результирующий MDX запрос не знаю :-(
Profiler молчит...
...
Рейтинг: 0 / 0
06.02.2006, 17:12
    #33526564
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 backfireКак вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?

Excel-ем выбираю в сводной таблице.

А вот где посмотреть на результирующий MDX запрос не знаю :-(
Profiler молчит...посмотреть можно, да только не поможет вам ничего, кроме програмного (на стороне клиента) определения мн-ва выбранных элементов и генерирования своего МДХ - ищите уже было.
...
Рейтинг: 0 / 0
06.02.2006, 17:16
    #33526577
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
Dmitry BiryukovВместо Item(0) используйте функцию Tail

Не могу понять синтаксис это функции :-(

подскажи плиз как ее написать, а еще лучше подскажите где можно и можно ли вообще почитать документацию на функции MDX.
...
Рейтинг: 0 / 0
06.02.2006, 18:44
    #33526834
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfire[quot YP977]Как вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?

Почитал форум, настроил чтобы запросы сбрасывались в log файл, так вот вопрос, а как посмотреть этот самыл лог, чем? какой-то неизвестный формат :-(

не мой сегодня день...
...
Рейтинг: 0 / 0
06.02.2006, 18:48
    #33526841
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977Почитал форум, настроил чтобы запросы сбрасывались в log файл, так вот вопрос, а как посмотреть этот самыл лог, чем? какой-то неизвестный формат :-(
Вопрос снят...
Пользуюсь Vim и никогда бы не подумал что Блокнот это все прохавает...
...
Рейтинг: 0 / 0
06.02.2006, 18:55
    #33526857
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireКак вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?

Выглядит вот так:

WITH MEMBER [ГодМесяц].[XL_QZX] AS 'Aggregate ( { [ГодМесяц].[All ГодМесяц].[2005].[07] , [ГодМесяц].[All ГодМесяц].[2005].[06] , [ГодМесяц].[All ГодМесяц].[2005].[05] , [ГодМесяц].[All ГодМесяц].[2005].[04] , [ГодМесяц].[All ГодМесяц].[2005].[03] } )' SELECT {[Measures].[CM_НачОст], [Measures].[Начост], [Measures].[Приход], [Measures].[Расход], [Measures].[Коност]} DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS , NON EMPTY HIERARCHIZE(AddCalculatedMembers({DrillDownLevel({[Товары].[ТолькоТовары].[All Товары]})})) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON ROWS FROM [Удалить] WHERE ([ГодМесяц].[XL_QZX])
...
Рейтинг: 0 / 0
06.02.2006, 19:18
    #33526907
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 backfireКак вы вибираете несколько элементов измерения времени? Как это выглядит в результирующем MDX запросе?

Выглядит вот так:

WITH MEMBER [ГодМесяц].[XL_QZX] AS 'Aggregate ( { [ГодМесяц].[All ГодМесяц].[2005].[07] , [ГодМесяц].[All ГодМесяц].[2005].[06] , [ГодМесяц].[All ГодМесяц].[2005].[05] , [ГодМесяц].[All ГодМесяц].[2005].[04] , [ГодМесяц].[All ГодМесяц].[2005].[03] } )' SELECT {[Measures].[CM_НачОст], [Measures].[Начост], [Measures].[Приход], [Measures].[Расход], [Measures].[Коност]} DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON COLUMNS , NON EMPTY HIERARCHIZE(AddCalculatedMembers({DrillDownLevel({[Товары].[ТолькоТовары].[All Товары]})})) DIMENSION PROPERTIES PARENT_UNIQUE_NAME ON ROWS FROM [Удалить] WHERE ([ГодМесяц].[XL_QZX])


Смотрите пост . IMHO, без AS2K5 c semiadditive measures или custom mdx вам множественный фильтр на измерении времеи для остаточных CM не реализовать.
...
Рейтинг: 0 / 0
06.02.2006, 19:46
    #33526970
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireIMHO, без AS2K5 c semiadditive measures или custom mdx вам множественный фильтр на измерении времеи для остаточных CM не реализовать.

Понял, будем копать...

А по документации чего-нить порекомендуете?
...
Рейтинг: 0 / 0
06.02.2006, 20:10
    #33527011
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 backfireIMHO, без AS2K5 c semiadditive measures или custom mdx вам множественный фильтр на измерении времеи для остаточных CM не реализовать.

Понял, будем копать...

А по документации чего-нить порекомендуете?

Пока что ничего лучшего чем погуглить не предложу.
...
Рейтинг: 0 / 0
07.02.2006, 11:42
    #33528073
YP977
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
backfireПока что ничего лучшего чем погуглить не предложу.

Как ни крути, а нужно таки учить английский :-)

Спасибо! будем копать
...
Рейтинг: 0 / 0
07.02.2006, 18:06
    #33529530
OLAPMASTER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AS 2K, и снова остатки :-(
YP977 backfireПока что ничего лучшего чем погуглить не предложу.

Как ни крути, а нужно таки учить английский :-)

Спасибо! будем копать
Привет.
Не отчаивайся есть способ для MSAS на выбранный период отобразить.
Значит приступим.
Делашь в иерархии месяц,свойство год+месяц, потом делаеш на основе этого вигртуальное измерение где один уроветь на к отором все месяца уникальные, тоесть год+месяц + (200101,200102). Я условно назову это измерение alldata.
А вот вычесляемое поле
На конец произвольного периода
SUM(TAIL(Filter(CrossJoin({[Measures].[остаток]},Descendants([alldate].currentmember,[alldate].levels(1))), NOT IsEmpty([Salesdate].currentmember)),1))
На начало произвольно приода
SUM(HEAD(Filter(CrossJoin({[Measures].[остаток]},Descendants([alldate].currentmember,[alldate].levels(1))), NOT IsEmpty([Salesdate].currentmember)),1))



А это сцылка на мой пост где я это разработал
http://www.sql.ru/forum/actualthread.aspx?tid=163746
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS 2K, и снова остатки :-( / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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