powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Создание набора данных с разных иерархий
22 сообщений из 22, страница 1 из 1
Создание набора данных с разных иерархий
    #39681550
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Есть следующая задача: нужно создать единый набор данных по продажам в разрезе по времени.
Тип набора который нужно создать: { [Дата].[1959], [Дата].[1960].[Февраль] } - нужно вывести данные по продажам за 1959 год одной строкой плюс второй стройкой вывести данные за февраль 1960 года.
Пробовал объединить их , но выдает ошибку о разных уровнях иерархии, может кто то сталкивался с такой задачей помогите разобраться что делаю не так
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39681567
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

иерархии Дата.ГМД нет? создай!
не хочешь, тогда

with member [Дата].[Год].[Февраль1960] as [Дата].[1960].[Февраль]
select { [Дата].[Год].[1959], [Дата].[Год].[Февраль1960] } on columns
from ...
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682021
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor, Добрый день!
Условия немного изменились, и вариант с временем не подходит.
with
member [Компания новая структура].[Филиал].[Мебель] as [Компания новая структура].[Регион].&[Мебель]

MEMBER [Measures].[Proc] AS
[Measures].[ТО]/[Measures].[ТО План]

SELECT
{([Компания новая структура].[Филиал].[Мебель], [Компания новая структура].[FilialSortOrder 1].[FilialSortOrder 1].ALLMEMBERS*[Компания новая структура].[Филиал].[Филиал].ALLMEMBERS)} on rows,
{[Measures].[ТО План],[Measures].[ТО]} on columns


FROM [Модель]
where (
StrToMember('[Дата].[Год месяц день].[Дата].&[' + format(Now(), "yyyy-MM-dd") + 'T00:00:00]').Parent
)

Этот запрос выдает ошибку, как сделать так , чтобы объединить результат конкретно для региона мебель и для филиалов в одном запросе?

...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682125
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

{
{[Компания новая структура].[FilialSortOrder 1].[FilialSortOrder 1].ALLMEMBERS} *
{[Компания новая структура].[Филиал].[Мебель], [Компания новая структура].[Филиал].[Филиал].ALLMEMBERS}
)
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682151
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

зачем в одном запросе?
напишите 2 и покажите результат в RS или другом клиенте
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682398
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик, добрый день!
Дело в том, что нужно , чтобы данные были в одном запросе , так как дальше этот запрос будет использоваться для отчета SSRS, плюс еще нужно это все дело потом отсортировать по убыванию выполнения плана. НА текущий момент это реализовано двумя запросами, но боссам не подходит. По этому приходиться ломать голову
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682650
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,
спасибо, это помогло, но остается все равно проблема того, что следующее условие member [Компания новая структура].[Филиал].[Мебель] as [Компания новая структура].[Регион].&[Мебель] возвращает мне данные не региона, а данные по филиалам , которые находятся в этом регионе, а мне нужно чтобы вернуло именно данные по региону. Что я делаю не так? Или может мне нужно изменить данные по филиалам и привести их к уровню региона?
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39682869
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

не.. давай на примере велозавода..

смотри, запрос
Код: sql
1.
2.
3.
4.
5.
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Sales Territory].[Sales Territory Country].[Sales Territory Country] ) } on rows 
from
  [Adventure Works] 


разбивает меру по странам
Sales Territory CountryReseller Sales AmountAustralia1594335.38Canada14377925.60France4607537.94Germany1983988.04United Kingdom4279008.83United States53607801.21

второй
Код: sql
1.
2.
3.
4.
5.
select
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Reseller].[Reseller].[Reseller] } on rows 
from
  [Adventure Works]


разбивает ту же меру по реселлерам
ResellerReseller Sales AmountA Bike Store85177.08A Great Bicycle Company9055.29A Typical Bike Shop83457.11Acceptable Sales & Service1258.38Accessories Network2165.793и т.д.

теперь, хочу чтоб "A Bike Store" оказался в первом запросе
Код: sql
1.
2.
3.
4.
5.
6.
with member [Sales Territory].[Sales Territory Country].[A Bike Store] as ([Reseller].[Reseller].[A Bike Store],[Sales Territory].[Sales Territory Country].[All])
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Sales Territory].[Sales Territory Country].[A Bike Store], ([Sales Territory].[Sales Territory Country].[Sales Territory Country] ) } on rows 
from 
  [Adventure Works] 


и норм все.
Country/ResellerReseller Sales AmountA Bike Store85177.08Australia1594335.38Canada14377925.60France4607537.94Germany1983988.04United Kingdom4279008.83United States53607801.21
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683045
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,
добрый день! В моем случаи нужно , чтобы на пример страна Австралия попала в список с данными по байкам
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683049
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В список по реселлерам
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683078
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

(лето.. пятница.. зачем думать)

Код: sql
1.
2.
3.
4.
5.
6.
with member [Reseller].[Reseller].[Австралия это не только страна, но еще и континент] as ([Reseller].[Reseller].[All], [Sales Territory].[Sales Territory Country].[Australia])
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Reseller].[Reseller].[Австралия это не только страна, но еще и континент], ([Reseller].[Reseller].[Reseller] ) } on rows 
from 
  [Adventure Works]



Reseller/CountryReseller Sales AmountАвстралия это не только страна. но еще и континент1594335.38A Bike Store85177.08A Great Bicycle Company9055.29A Typical Bike Shop83457.11Acceptable Sales & Service1258.38Accessories Network2165.79Acclaimed Bicycle Company7300.83Ace Bicycle Supply3749.13Action Bicycle Specialists321752.84и т.д.
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683089
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgorСергей_1991,

(лето.. пятница.. зачем думать)


Поверти , я произвел обратную операцию, до того, как написать Вам сообщение, но в итого все равно получаю разбивку на несколько филиалов,а не единый регион. Может быть проблема в том , что я использую одну и ту же иерархию, для получения набора, так как в вашем случаи это разные иерархии
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683101
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

в смысле разные иерархи одного измерения..

не проблема
Код: sql
1.
2.
3.
4.
5.
6.
7.
with member [Sales Territory].[Sales Territory Country].[Пасифик] as ([Sales Territory].[Sales Territory Group].&[Pacific],[Sales Territory].[Sales Territory Country].[All])
member [Sales Territory].[Sales Territory Country].[Еуропе] as ([Sales Territory].[Sales Territory Group].&[Europe],[Sales Territory].[Sales Territory Country].[All])
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Sales Territory].[Sales Territory Country].[Пасифик], [Sales Territory].[Sales Territory Country].[Еуропе], ([Sales Territory].[Sales Territory Country].[Sales Territory Country] )  } on rows 
from 
  [Adventure Works]



Group/CountryReseller Sales AmountПасифик1594335.38Еуропе10870534.80Australia1594335.38Canada14377925.60France4607537.94Germany1983988.04United Kingdom4279008.83United States53607801.21
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683113
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,

Спасибо большое, получилось, я понял почему у меня оно не выводилось, из за того что в некоторых значения у меня стоит NULL данные по продажам тоже становятся NULL. А у меня стоял фильтр , чтобы такие значения убирать, извините , что отнял у Вас столько времени.
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39683120
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно, но продажи почему то не хотят выводиться (
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684117
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgor,
Еще вопрос есть я убираю значения NULL c помощью nonempty, но мне все равно по новой созданной мере с регион в строке по региону значение стоит NULL. Что я делаю не так?
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684166
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

nonempty и non empty разные вещи. не видя запроса не понятно о чем речь.
смоделируете ту же ситуацию на велозаводе, публикуйте запрос.
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684179
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgorСергей_1991,

в смысле разные иерархи одного измерения..

не проблема
Код: sql
1.
2.
3.
4.
5.
6.
7.
with member [Sales Territory].[Sales Territory Country].[Пасифик] as ([Sales Territory].[Sales Territory Group].&[Pacific],[Sales Territory].[Sales Territory Country].[All])
member [Sales Territory].[Sales Territory Country].[Еуропе] as ([Sales Territory].[Sales Territory Group].&[Europe],[Sales Territory].[Sales Territory Country].[All])
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Sales Territory].[Sales Territory Country].[Пасифик], [Sales Territory].[Sales Territory Country].[Еуропе], ([Sales Territory].[Sales Territory Country].[Sales Territory Country] )  } on rows 
from 
  [Adventure Works]



Group/CountryReseller Sales AmountПасифик1594335.38Еуропе10870534.80Australia1594335.38Canada14377925.60France4607537.94Germany1983988.04United Kingdom4279008.83United States53607801.21

Покажу на этом примере, построил я запрос по данному принципу, но получил в графе Пасифик NULL, так как напрbмер по USA значение продаж стоит NULL. В случаи когда я ставлю non empty у меня пропадает строка с Пасифик
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684241
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

другими словами если в оригинале пусто то отобразить 0?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
with 
member [Sales Territory].[Sales Territory Country].[Пасифик] as ([Sales Territory].[Sales Territory Group].&[Pacific],[Sales Territory].[Sales Territory Country].[All])
member [Sales Territory].[Sales Territory Country].[Еуропе] as ([Sales Territory].[Sales Territory Group].&[Europe],[Sales Territory].[Sales Territory Country].[All])
member [Sales Territory].[Sales Territory Country].[Пустышка из группы] as iif(isempty(([Sales Territory].[Sales Territory Group].&[NA],[Sales Territory].[Sales Territory Country].[All])), 0, null)
member [Sales Territory].[Sales Territory Country].[Пустышка] as iif(isempty([Sales Territory].[Sales Territory Country].&[NA]), 0, null)
select 
  { [Measures].[Reseller Sales Amount] } on columns, 
  non empty { [Sales Territory].[Sales Territory Country].[Пасифик], [Sales Territory].[Sales Territory Country].[Еуропе], [Sales Territory].[Sales Territory Country].[Пустышка из группы], [Sales Territory].[Sales Territory Country].[Пустышка], ([Sales Territory].[Sales Territory Country].[Sales Territory Country] )  } on rows 
from 
  [Adventure Works]
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684269
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgorСергей_1991,

другими словами если в оригинале пусто то отобразить 0?

Нет , нужно для пасифик отобразить сумму его нижних иерархий, но при этом нужно как то выбросить значения NULL с нижних иерархий ибо тогда пасифик возвращает тоже NULL.
Иерархия по компании выглядит следующим образом Компания-Представительства-Регионы-Филиалы. Продажи и планы хранятся на уровне Филиалов, но для Региона "Мебель" - информацию нужно вывести не по филиалам , а для Региона единой строкой. Но Регион "Мебель" разбивается на 3 филиала -Мебель Одесса, Мебель Западная, Мебель Киев. Так вот для Мебель Одесса (1000$) и для Мебель Киев(4500$) продажи существуют, а для Мебель Западная стоит значение NULL. Так вот , мне нужно получить единую строку по Мебели со значением 5500$ + плюс информацию по остальным филиалам.
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684293
ShIgor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей_1991,

Вы хотите меня убедить, что у Вас "кривые" данные?

Код: plaintext
1.
2.
3.
Регион Мебель                      NULL
  |- Филиал Мебель Одесса          1000
  |- Филиал Мебель Западная        NULL
  |- Филиал Мебель Киев            4500

другой причины возникновения такой ситуации не вижу.
чтобы суммирование с NULL приводило к NULL в SSAS - надо очень сильно постараться.

либо это разные группы мер
...
Рейтинг: 0 / 0
Создание набора данных с разных иерархий
    #39684298
Сергей_1991
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShIgorСергей_1991,

Вы хотите меня убедить, что у Вас "кривые" данные?

Код: plaintext
1.
2.
3.
Регион Мебель                      NULL
  |- Филиал Мебель Одесса          1000
  |- Филиал Мебель Западная        NULL
  |- Филиал Мебель Киев            4500

другой причины возникновения такой ситуации не вижу.
чтобы суммирование с NULL приводило к NULL в SSAS - надо очень сильно постараться.

либо это разные группы мер

У Вас есть возможность перевести переписку в скайп например, чтобы я мог более детально рассказать и показать, а то мне кажется, что я чего то не понимаю (мой скайп sergey.1991 Сергей Вакарчук)
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Создание набора данных с разных иерархий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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