Имя: Пароль:
1C
1С v8
Работа с Итогом (КОЛИЧЕСТВО РАЗЛИЧНЫХ) в СКД
0 Adept
 
30.03.20
17:33
Есть таблица  , в строках дата первого привлечения клиента, в столбцах номер дня когда клиент пользовался услугами (0,1,2,3,5 и т.д.)
Если взять за весть период количество различных ид клиентов, мы получим к примеру 100 штук
Если взять по дням, получим
в 0-ой день 95
в 1-й день 30
во 2-й  день 15
и так далее
Итого в СКД будет не 100 а 95.
Как то это можно побороть?
1 Adept
 
30.03.20
17:36
+ пробовал получить полный итог в 100 используя функции СКД ВычислитьВыражение("Количество(Различные Пользователь)","ДеньПродажи" ,,"Первая", "Последняя")
тот же результат 95
2 toypaul
 
гуру
30.03.20
17:42
3 Adept
 
30.03.20
17:57
В таком варианте получаем 5 уникальных пользователей

ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Подзапрос.ИДПокупателя) КАК ИДПокупателя
ИЗ
(ВЫБРАТЬ
"ДатаПривлечения1" КАК ДатаПривлечения,
0 КАК ДеньПривлечения,
"ИДПокупателя1" КАК ИДПокупателя,
100 КАК СуммаДохода

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
0,
"ИДПокупателя2",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
0,
"ИДПокупателя3",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
0,
"ИДПокупателя4",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
1,
"ИДПокупателя1",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
1,
"ИДПокупателя2",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
1,
"ИДПокупателя3",
100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"ДатаПривлечения1",
1,
"ИДПокупателя5",
100) КАК Подзапрос
4 Adept
 
30.03.20
17:59
ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Подзапрос.ИДПокупателя) КАК ИДПокупателя
ИЗ
    (ВЫБРАТЬ
        "ДатаПривлечения1" КАК ДатаПривлечения,
        0 КАК ДеньПривлечения,
        "ИДПокупателя1" КАК ИДПокупателя,
        100 КАК СуммаДохода
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя2",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя3",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя4",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя1",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя2",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя3",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя5",
        100) КАК Подзапрос
5 Adept
 
30.03.20
18:00
А если добавить день превличения , будет два дня по 4, и соответственно в итоге будет 4

ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Подзапрос.ИДПокупателя) КАК ИДПокупателя,
    Подзапрос.ДеньПривлечения КАК ДеньПривлечения
ИЗ
    (ВЫБРАТЬ
        "ДатаПривлечения1" КАК ДатаПривлечения,
        0 КАК ДеньПривлечения,
        "ИДПокупателя1" КАК ИДПокупателя,
        100 КАК СуммаДохода
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя2",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя3",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        0,
        "ИДПокупателя4",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя1",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя2",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя3",
        100
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        "ДатаПривлечения1",
        1,
        "ИДПокупателя5",
        100) КАК Подзапрос

СГРУППИРОВАТЬ ПО
    Подзапрос.ДеньПривлечения
6 Adept
 
30.03.20
18:01
(4) без разбивки по дням привлечения
(5) с разбивкой
7 Adept
 
30.03.20
18:02
+ (2) можно просто скопировать в консоль  и выполнить