сводная таблица

Автор Юрий, 21 мая 2020, 12:55:58

« назад - далее »

Юрий

Добрый день!
В диаграмме "сводная таблица" такие,например, данные
2      1
34    2
вав    1
34    1
Как можно добавить  еще одну графу (нумерация по порядку) , которая работает только для строк, где во 2й графе 1?
Т.е.  нужно получить так
1  2      1
    34    2
2  вав    1
3  34    1

admin

Добрый день.
Делаем загрузку в 2 этапа, сначала фильтруем а затем нумеруем отфильтрованное.

Юрий

Добрый день!
не совсем то. Данные уже загружены в Qlikview  и их структура не меняется.
В сводную  таблицу выводятся некоторые показатели.  И задача пронумеровать строки в сводной таблице в зависимости от одного из показателя в списке.
Для начала хотя бы просто пронумеровать. При загрузке   уже есть некое поле Counter   где указано значение 1.
Например, так
A    B   C       L  Counter
________________________
23   1   Москва  32  1
48   1   Псков   44  1
48   2   Псков   876 1
3    1   Париж   33  1
54а  2   Париж   65  1
в23  1   Курск   100 1

Нужно сделать сквозную нумерацию от 1 до Х
Строки , где в графе B значение 2  должны пропускаться
 

govorun

Вот начала (заготовка)...
Дальше попробуйте допилить сами.
Используйте в условии конструкцию Count(RowNo()) для подсчета кол-ва пронумерованных (нужных) строк.
Условие на 1-ую строку.

IF (RowNo() = 1, 10, RowNo()+10)

Юрий

Цитата: govorun от 26 мая  2020, 09:57:14  Вот начала (заготовка)...
Дальше попробуйте допилить сами.
Используйте в условии конструкцию Count(RowNo()) для подсчета кол-ва пронумерованных (нужных) строк.
Условие на 1-ую строку.

IF (RowNo() = 1, 10, RowNo()+10)
Не выходит каменный цветок (с)
RowNo()  дает такой вид
№  A    B   C       L  Counter
______________________________
1  23   1   Москва  32  1
1  48   1   Псков   44  1
2  48   2   Псков   876 1
1  3    1   Париж   33  1
2  54а  2   Париж   65  1
1  в23  1   Курск   100 1
если сделать так  if(RowNo()=1, 1, ' ')
, то там где номер 2 (может быть и 3,4,...)  теперь значение отсутствует.
№  A    B   C       L  Counter
______________________________
1  23   1   Москва  32  1
1  48   1   Псков   44  1
   48   2   Псков   876 1
1  3    1   Париж   33  1
   54а  2   Париж   65  1
1  в23  1   Курск   100 1
А вот как эти единицы просуммировать - не знаю.
Именно в каждой строке.  Просуммироваить и вывести как итог - это пожалуйста.
А вот в каждой строке - увы.



Uunit

То что вам изначально написал Admin, было верным решением.
Распишу чуточку детальнее.
1) Загружаете первый исходную таблицу.
2) Используете Resident первой таблицы, используя order_by производите сортировку по столбцу В.
 Добавляем сюда RowNo() и получаем пронумерованные строки все.
 Но мы хотим номера только для случаев когда B=1, значит используем IF(B=1, RowNo(),'') as №


Есть другой вариант.
1) Загружаете исходную таблицу.
2) Используете Resident первой таблицы, грузите только В=1. В самой таблице используете RowNo() as №
3) Используете Resident первой таблицы, грузите всё кроме B=1. В самой таблице используете '' as №

Вы получите то что хотите.
При желании можно найти ещё пару вариантов решения.

Юрий

#6
Цитата: Uunit от 29 мая  2020, 01:00:00  То что вам изначально написал Admin, было верным решением.
Распишу чуточку детальнее.
1) Загружаете первый исходную таблицу.
2) Используете Resident первой таблицы, используя order_by производите сортировку по столбцу В.
 Добавляем сюда RowNo() и получаем пронумерованные строки все.
 Но мы хотим номера только для случаев когда B=1, значит используем IF(B=1, RowNo(),'') as №


Есть другой вариант.
1) Загружаете исходную таблицу.
2) Используете Resident первой таблицы, грузите только В=1. В самой таблице используете RowNo() as №
3) Используете Resident первой таблицы, грузите всё кроме B=1. В самой таблице используете '' as №

Вы получите то что хотите.
При желании можно найти ещё пару вариантов решения.
Дело в том, что сводная таблица  в зависимости от фильтров  может содержать разные  записи.
И тогда получается, что  раз присвоенные при загрузке номера  будут вперемежку.
Или я не понимаю чего-то.
Смыл в том, чтобы было примерно как в Excel : независимо от содержимого таблицы есть номера строк (на сером фоне слева)

govorun

Должен признать, что насоветовал Вам (про RowNo) что-то кривое.
Попробовал - не то.
В свете Вашего последнего сообщения предлагаю альтернативный вариант решения проблемы

Сделайте отдельную таблицу, в которой показывайте только данные, соответствующие этой 1, дай ей бог здоровья.
Добавьте поле с RowNo() и будет Вам нумерация строк в т.ч. при применении фильтров.

И мое личное мнение - НЕ СПЛОШНАЯ нумерация показателей в таблице выглядит не очень здорово.

Юрий

Цитата: govorun от 30 мая  2020, 06:34:30  Должен признать, что насоветовал Вам (про RowNo) что-то кривое.
Попробовал - не то.
В свете Вашего последнего сообщения предлагаю альтернативный вариант решения проблемы

Сделайте отдельную таблицу, в которой показывайте только данные, соответствующие этой 1, дай ей бог здоровья.
Добавьте поле с RowNo() и будет Вам нумерация строк в т.ч. при применении фильтров.

И мое личное мнение - НЕ СПЛОШНАЯ нумерация показателей в таблице выглядит не очень здорово.
Попробую, спасибо.
А что касается "не здорового" вида.. Не согласен.
Если нужен, например, журнал в стандартной ситуации "клиент-покупки". Слева клиенты, у него может быть по несколько покупок. для удобства  слева сквозная нумерация клиентов...

Яндекс.Метрика