Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с фильтром / 23 сообщений из 23, страница 1 из 1
20.02.2005, 12:09
    #32925007
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Просмотрев ранее созданные топики, я так и не обнаружила ответа на данный вопрос, подскажите, плиз как решается данная задача.
Есть такой запрос:
Код: plaintext
1.
2.
3.
4.
5.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 )   on  1 
from sales
where [Measures].[Line Item Quantity]
Код: plaintext
1.
2.
3.
4.
Рез-т его будет такой:
        1996      1997     1998 
стул    10         20       30 
стол    100       200      300 
В таком варианте фильтра [Measures].[Line Item Quantity] сравнивается со значением 10+20+30, т е 60 (сумма по всей строке)
Как отфильтровать для каждой ячейки, т е отобразить перечень товаров по этим годам, где каждая из ячеек удовлетворяет условию.
...
Рейтинг: 0 / 0
20.02.2005, 15:01
    #32925075
Вжик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Как вариант - произведение множеств обоих осей пропустить через фильтр, распороложив на одной оси, а меру по другой.
Код: plaintext
1.
2.
select 
filter({[Период_ГКМД].[Год].members} * {[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 ) on  0 ,
{[Measures].[Line Item Quantity]} on  1 
...
Рейтинг: 0 / 0
20.02.2005, 21:30
    #32925162
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
ещё вариант:
Код: plaintext
1.
2.
3.
4.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, ([Measures].[Line Item Quantity],[Период_ГКМД].[Год].CurrentMember)> 10 )   on  1 
from sales
where [Measures].[Line Item Quantity]
...
Рейтинг: 0 / 0
21.02.2005, 10:03
    #32925443
Беляев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
У Вас irinka запрос правильный - и результат соответственно
Просто он берет те товары у которых в любой из годов Quantity>10

Г-н Бюрюков
Dmitry Biryukovfilter({[Товар].[Товар].members}, ([Measures].[Line Item Quantity],[Период_ГКМД].[Год].CurrentMember)>10)

эквивалентно
Код: plaintext
1.
filter({[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 )

А возможно Вы, irinka хотели увидеть только те товары, у которых Quantity>10 в каждом годе, т.е. стул Вы видеть не хотите, но тогда это другой запрос:

Код: plaintext
1.
2.
3.
4.
5.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, min(Axis( 0 ),[Measures].[Line Item Quantity])> 10 ) on  1 
from sales
where [Measures].[Line Item Quantity]



Владислав Беляев
...
Рейтинг: 0 / 0
21.02.2005, 10:39
    #32925526
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Dmitry Biryukovещё вариант:
Код: plaintext
1.
2.
3.
4.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, ([Measures].[Line Item Quantity],[Период_ГКМД].[Год].CurrentMember)> 10 )   on  1 
from sales
where [Measures].[Line Item Quantity]


Ваш запрос ошибочен, ибо так писать нельзя [Период_ГКМД].[Год].CurrentMember, а надо [Период_ГКМД].CurrentMember

Даже в этом случае [Период_ГКМД].CurrentMember возвращает DefaultMember
...
Рейтинг: 0 / 0
21.02.2005, 14:14
    #32926170
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Вжик

Ваш вариант попробывала, спасибо, вообщем-то то, что нужно

Dmitry Biryukov

Ваш вариант действительно не работает

Беляев

Спасибо за ваш вариант, я его еще не попробывала, но вроде бы вы меня правильно поняли. Если рез-том запроса будут только те товары, которые в каждом годе удовлетворяют условию, тогда принцип вашего запроса мне наиболее подходит
...
Рейтинг: 0 / 0
21.02.2005, 16:55
    #32926772
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
БеляевУ Вас irinka запрос правильный - и результат соответственно
Просто он берет те товары у которых в любой из годов Quantity>10

Г-н Бюрюков
Dmitry Biryukovfilter({[Товар].[Товар].members}, ([Measures].[Line Item Quantity],[Период_ГКМД].[Год].CurrentMember)>10)

эквивалентно
Код: plaintext
1.
filter({[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 )

А возможно Вы, irinka хотели увидеть только те товары, у которых Quantity>10 в каждом годе, т.е. стул Вы видеть не хотите, но тогда это другой запрос:

Код: plaintext
1.
2.
3.
4.
5.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, min(Axis( 0 ),[Measures].[Line Item Quantity])> 10 ) on  1 
from sales
where [Measures].[Line Item Quantity]



Владислав Беляев

Класс, ваш запрос рулит!!!

А как бы это выглядело, если условие состоит в том чтобы увидеть те товары, у которых Quantity>10 хотя бы в одном году
...
Рейтинг: 0 / 0
21.02.2005, 18:44
    #32927035
Dmitry Biryukov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
backfire Беляев
Код: plaintext
1.
2.
3.
4.
5.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, min(Axis( 0 ),[Measures].[Line Item Quantity])> 10 ) on  1 
from sales
where [Measures].[Line Item Quantity]

А как бы это выглядело, если условие состоит в том чтобы увидеть те товары, у которых Quantity>10 хотя бы в одном году

очевидно поменять min на max ...
...
Рейтинг: 0 / 0
21.02.2005, 20:09
    #32927177
Беляев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
backfireА как бы это выглядело, если условие состоит в том чтобы увидеть те товары, у которых Quantity>10 хотя бы в одном году]
Запрос будет
Код: plaintext
1.
2.
3.
4.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 )   on  1 
from sales
where [Measures].[Line Item Quantity]

То есть такой, как был вначале

Владислав Беляев
...
Рейтинг: 0 / 0
21.02.2005, 23:44
    #32927284
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Беляев backfireА как бы это выглядело, если условие состоит в том чтобы увидеть те товары, у которых Quantity>10 хотя бы в одном году]
Запрос будет
Код: plaintext
1.
2.
3.
4.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, [Measures].[Line Item Quantity]> 10 )   on  1 
from sales
where [Measures].[Line Item Quantity]

То есть такой, как был вначале

Владислав Беляев

Нет, тут вы не правы, ибо в этом случае будет браться с измерения времени его Default Member, а не то что на оси.
...
Рейтинг: 0 / 0
21.02.2005, 23:45
    #32927285
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Dmitry Biryukov
очевидно поменять min на max ...

Спасибо.
А я как то сразу и не сообразил :-(
...
Рейтинг: 0 / 0
23.02.2005, 12:30
    #32929661
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Беляев
select
{[Период_ГКМД].[Год].members} on 0,
filter({[Товар].[Товар].members}, min(Axis(0),[Measures].[Line Item Quantity])>10) on 1
from sales
where [Measures].[Line Item Quantity]

Проверила - супер, то, что надо, спасибо.

Вернусь к своей первоначальной проблеме, подскажите, ответ еще на один вопросик.
Есть работающий запрос, пихаю его в св-во CommandText для PivotTable.
Рез-том такая ошибка:
Код: plaintext
1.
2.
The query could not be processed:
The data provider did not sopply any further error information.
...
Рейтинг: 0 / 0
23.02.2005, 12:34
    #32929664
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Сори, ошиблась кое в каких словах
Код: plaintext
1.
2.
The query could not be processed:
The data provider did not supply any further error information.
...
Рейтинг: 0 / 0
23.02.2005, 17:46
    #32930023
Беляев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
irinkaВернусь к своей первоначальной проблеме, подскажите, ответ еще на один вопросик.
Есть работающий запрос, пихаю его в св-во CommandText для PivotTable.


Приведите запрос
И каким образом Вы его "пихаете"?
Программно устанавливаете свойство CommandText или интерактивно
Приведите так же строку подключения

Владислав Беляев
...
Рейтинг: 0 / 0
23.02.2005, 17:49
    #32930027
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
БеляевПриведите запрос
И каким образом Вы его "пихаете"?
Программно устанавливаете свойство CommandText или интерактивно
Приведите так же строку подключения

Владислав Беляев

О. а как в OWC запихнуть свой запрос интерактивно?
Просветите, пожалуйста.
...
Рейтинг: 0 / 0
24.02.2005, 09:41
    #32930448
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Ну запрос, который я хочу запихнуть, например, видоизмененный вами, т е :
Код: plaintext
1.
2.
3.
4.
5.
select 
{[Период_ГКМД].[Год].members} on  0 ,
filter({[Товар].[Товар].members}, min(Axis( 0 ),[Measures].[Line Item Quantity])> 10 ) on  1 
from sales
where [Measures].[Line Item Quantity]

Запихиваю его по-разному, например 1 вариант программно:
Код: plaintext
1.
2.
3.
4.
5.
6.
me.ptable1.commandtext="select 
{[Период_ГКМД].[Год].members} on 0,
filter({[Товар].[Товар].members}, min(Axis(0),[Measures].[Line Item Quantity])>10) on 1
from sales
where [Measures].[Line Item Quantity]
"
Соот-но весь запрос на одной строке.
...
Рейтинг: 0 / 0
24.02.2005, 09:53
    #32930469
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
что касается строки подключения:
например, такая
Код: plaintext
1.
        Me.AxPivotTable1.ConnectionString = "User ID=" & myuser & "; password=" & psw& ";Provider=MSOLAP.2;Persist Security Info=True;Data Source=" & ds & ";Client Cache Size=25;Auto Synch Period=10000;Initial Catalog=FoodMart 2000"
...
Рейтинг: 0 / 0
24.02.2005, 09:56
    #32930473
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
сори, точнее такая :
Код: plaintext
1.
 Me.PTable1.ConnectionString = "User ID=" & myuser & "; password=" & psw & ";Provider=MSOLAP.2;Persist Security Info=True;Data Source=" & ds & ";Client Cache Size=25;Auto Synch Period=10000;Initial Catalog=Northwind_OLAP"
...
Рейтинг: 0 / 0
24.02.2005, 18:01
    #32932031
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Скажите, люди добрые, я где-то что-то не допрописала или все ок и по неизвестным причинам не отображает рез-т запроса, хотя должен
...
Рейтинг: 0 / 0
24.02.2005, 18:44
    #32932105
Беляев
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
backfire
О. а как в OWC запихнуть свой запрос интерактивно?
Просветите, пожалуйста.

Ну например вызвать команды и параметры и установить там на закладке источник данных собственно subj

Такой диалог доступен как в Design так и в Runtime mode, правда, чтобы в runtime был доступен надо установить какое-то свойство, я сейчас не вспомню

Вам, irinka, не могу ничего криминального сказать про CommandText и ConnectionString
Направления поиска:
1 Попробовать убрать min (вдруг cellset весь фильтруется, что тогда будет я - не знаю)
2 Версия OWC, попробовать на 11
3 Привести все в терминах FoodMart, тогда и мы сможем попробовать
...
Рейтинг: 0 / 0
24.02.2005, 20:23
    #32932214
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Беляев

Дело в том, что я пробовала запихнуть в тексткомманд разные селекты и при любом варианте выдавалась эта самая ошибка
щас попробую конечно для food

да и pivottable у меня 11-ый
...
Рейтинг: 0 / 0
24.02.2005, 20:50
    #32932233
irinka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Спасибо за помощь, я нашла в чем был трабл
Оказывается надо было все-то поменять с ... on 0 или on 1
на on columns ... on rows
0 и 1 только для mdx запросов
...
Рейтинг: 0 / 0
25.02.2005, 13:42
    #32933451
Владимир Штепа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с фильтром
Беляев backfire
О. а как в OWC запихнуть свой запрос интерактивно?
Просветите, пожалуйста.

Ну например вызвать команды и параметры и установить там на закладке источник данных собственно subj

Такой диалог доступен как в Design так и в Runtime mode, правда, чтобы в runtime был доступен надо установить какое-то свойство, я сейчас не вспомню



Меня интересует как это при вызове из Excel сделать, а не из собственной программы. :-(
...
Рейтинг: 0 / 0
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Проблема с фильтром / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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