Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / разделение данных по критерию / 8 сообщений из 8, страница 1 из 1
05.07.2018, 17:17
    #39670202
Kontox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Подскажите, как мне разделить данные по критерию?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/****** Скрипт для команды SelectTopNRows из среды SSMS  ******/
SELECT  [Dt]
      ,[CustomerName]

      ,[ItemRelation]

      ,[SaleCount]
      ,[DocumentNum]
      ,[DocumentYear]
      ,[IsPromo]
      ,[CustomerType]
  FROM [Action].[dbo].[FC]



[IsPromo] имеет значения 0 и 1.
Мне нужно разделить данные по количеству продаж по [SaleCount] для нулевой категории ispromo!

например, по ispromo=0, 20 наблюдений, из них по [SaleCount] только 15 не нулевые, а 5 нулевых, не интересных.
Рассчитаем коэффициент, делим общее число дней, на количество дней, где были не нулевые продажи.
15/20=0,75.
Запрос должен делаться для страт(групп) [CustomerName]+[ItemRelation]+[DocumentYear]
Так вот, если внутри той или иной страты такой коэффициент больше 0,71, то такие страты записать в таблицу
mytab1
если меньше, то в mytab2

Как это сделать?
...
Рейтинг: 0 / 0
05.07.2018, 17:36
    #39670214
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Kontox,

Kontox,

Ничего не проверял, но шото вроде этого должно сработать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
select 
[CustomerName],[ItemRelation],[DocumentYear],
max(case when SalesPresent=1 then Count_Ex else NULL) as Count_Sales,
sum(Count_Ex) as Count_total from
(
select [CustomerName],[ItemRelation],[DocumentYear], 
case when SaleCount > 0 then 1 else 0 end as SalesPresent,
count(*) as Count_Ex
from
FROM [Action].[dbo].[FC]

group by [CustomerName],[ItemRelation],[DocumentYear], 
case when SaleCount > 0 then 1 else 0 end
)
sub



Наверно есть более офигительные варианты с XML-ом
...
Рейтинг: 0 / 0
05.07.2018, 17:37
    #39670216
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Там еще group by [CustomerName],[ItemRelation],[DocumentYear]
внизу надо
...
Рейтинг: 0 / 0
05.07.2018, 17:57
    #39670225
Kontox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
А где у Вас в коде идет сравнение с 0,71?
...
Рейтинг: 0 / 0
05.07.2018, 18:04
    #39670228
Glebanski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Ну любезнейший, уж Count_Sales на Count_Total как-нить сами поделить сможете!
...
Рейтинг: 0 / 0
05.07.2018, 19:09
    #39670253
u.eMeHTuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Kontox,
"isPromo"
Okey, Axapta... ?
...
Рейтинг: 0 / 0
06.07.2018, 04:47
    #39670389
Kopelly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
with t as (
SELECT  [Dt]
      ,[CustomerName]

      ,[ItemRelation]

      ,[SaleCount]
      ,[DocumentNum]
      ,[DocumentYear]
      ,[IsPromo]
      ,[CustomerType]
      ,1.0*(sum(sign(SaleCount)) Over (Partition by [CustomerName],[ItemRelation],[DocumentYear]))/
              (count(*)          Over (Partition by [CustomerName],[ItemRelation],[DocumentYear])) as koef
  FROM [Action].[dbo].[FC] )
Insert into mytab1
Select [Dt]
      ,[CustomerName]

      ,[ItemRelation]

      ,[SaleCount]
      ,[DocumentNum]
      ,[DocumentYear]
      ,[IsPromo]
      ,[CustomerType]
From t Where koef > 0.71
...
Рейтинг: 0 / 0
09.07.2018, 12:32
    #39671549
Kontox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разделение данных по критерию
Kopelly , все ок, респект.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / разделение данных по критерию / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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