powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS 2K, и снова остатки :-(
25 сообщений из 34, страница 1 из 2
AS 2K, и снова остатки :-(
    #33523094
YP977
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди добрые помогите или подскажите где копать и на тему чего. Не посылайте в поиск глобально, ибо искал, а просветления так и не наступило :-(
Код: 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
AS 2K, и снова остатки :-(
    #33523111
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а сколько платите?
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33523116
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пошутил, но с долей правды :-)
здесь, имхо, без программирования на VBA не обойтись. я даже не уверен можно ли такое сделать в экселе. На OWC делал, но код заточен под определённый куб.

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

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

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

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

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

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

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

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

скажу честно - до терабайтов еще не дорос :-(
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33525759
YP977
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
AS 2K, и снова остатки :-(
    #33525789
YP977
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
(Descendants([Время].CurrentMember,[ГодМесяц].[Месяц]).Item( 0 ), [Measures].[Начост])

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

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

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


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


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

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

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

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

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

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

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

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

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

не мой сегодня день...
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33526841
YP977
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
YP977Почитал форум, настроил чтобы запросы сбрасывались в log файл, так вот вопрос, а как посмотреть этот самыл лог, чем? какой-то неизвестный формат :-(
Вопрос снят...
Пользуюсь Vim и никогда бы не подумал что Блокнот это все прохавает...
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33526857
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])
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33526907
Владимир Штепа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
AS 2K, и снова остатки :-(
    #33526970
YP977
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
backfireIMHO, без AS2K5 c semiadditive measures или custom mdx вам множественный фильтр на измерении времеи для остаточных CM не реализовать.

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

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

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

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

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

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

Спасибо! будем копать
...
Рейтинг: 0 / 0
AS 2K, и снова остатки :-(
    #33529530
OLAPMASTER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
25 сообщений из 34, страница 1 из 2
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / AS 2K, и снова остатки :-(
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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