Объявление одномерного массива и задание его начальных значений, при //этом размер массива автоматически будет равен 4. 6 страница
Базы данных необходимы для хранения различных сведений о какой-либо предметной области, выполнять фильтрацию, поиск, группировку данных по необходимым признакам. В лабораторной работе рассмотрены простейшие возможности Calc, которые позволяют выполнять типичные операции над данными, более подробное знакомство с СУБД и БД проводится при изучении дисциплины Базы данных.
4.1. Фильтрация данных
Дана таблица с шапкой как в примере представленном на рисунке 20, необходимо дополнить ее до 15-20 записей:
Студентов пронумеровать с помощью формулы, а не вручную, начиная от 1, добавив еще один столбец – номер студента. Скопировать формулу ниже по столбцам на остальные строки таблицы.
В одной из ячеек на рисунке 21 осуществлен перенос внутри ячейки, это осуществляется с помощью вызова меню Формат-Ячейки, в результате появляется следующее окно (рисунок 22), необходимо выбрать вкладку выравнивание и установить флажок переносов.
Используя меню «Данные Фильтр-Автофильтр» вывести данные по студентам оценка, которых выше 4. Выбрать студентов оценка которых выше 2 и меньше 5. Для этого необходимо выделить всю таблицу и выбрать «Данные Фильтр-Автофильтр».
В выпадающем списке выбрать Стандартный фильтр (рисунок 25) условие по нужному столбцу, появится окошко, представленное ниже на рисунке. В окне, представленном ниже установить необходимые условия.
|
|
Отсортировать таблицу по группам, используя «данные - сортировка» с помощью выделения всей таблицы.
Используя «данные – фильтр - расширенный фильтр» сформировать таблицу, где имена студентов Иван или Петр, а оценка выше 3. Ниже приведен пример, где задаются условия для расширенного фильтра. При этом должны быть указаны имена столбцов, для которых проводится фильтрация (полное совпадение имени и формата названия), а также условия, условия расположенные по строкам определяют операцию «И», условия по столбцам дают условие «Или. При применении сравнения со строковыми константами необходимо помнить, что они помещаются в кавычки – “строка”. То есть условия задаются в ячейках Сalc, необходимо в ячейках указать нужные нам имена полей, причем поля должны совпадать с названиями полей в таблице для которой мы проводим фильтрацию, а ниже в ячейке указывается условие, больше >, меньше <, больше или равно >=, меньше или равно <=. Выделяем исходную таблицу и выбираем «данные – фильтр - расширенный фильтр», затем в появившемся окне вводим диапазон ячеек в, которых указаны условия, для этого можно мышкой выделить прямоугольную область прямо на листе Calc.
Пример:
Имя | оценка | оценка |
Иван | <5 | >3 |
Петр |
|
|
Создать еще одну таблицу на основе предыдущей, где фамилия, имя, отчество стоит в одном столбце, для этого использовать функцию CONCATENATE(СЦЕПИТЬ) (текст1;текст2;...). Текст1, текст2, ... — это от 1 до 30 элементов текста, объединяемых в один элемент текста.
Синтаксис:
CONCATENATE("Текст1"; ...; "Текст30")
Текст 1; текст 2; ...: до 30 текстовых элементов, которые требуется объединить в одну строку.
Пример:
=CONCATENATE("Доброе ";"утро ";"миссис ";"Доу") возвращает значение "Доброе утро, миссис Доу".
Элементами текста могут быть текстовые строки, числа или ссылки, которые ссылаются на одну ячейку. Строковая константа записывается с использованием кавычек («строка»). Шапка будет состоять из столбцов в порядке – номер студента, ФИО, группа, оценка. Необходимо подсчитать средний балл для студентов. Отсортировать по группам, в группах по ФИО.
4.2. Сводные таблицы.
Сводная таблица это инструмент Calc для обработки больших списков с данными. Сводная таблица обслуживается мастером сводных таблиц (Данные + Сводная таблица), позволяющим подводить итоги, выполнять сортировку и фильтрацию списков.
Подведение итогов в сводной таблице производится с помощью итоговой функции (например, "Сумма", "Кол-во значений" или "Среднее"). В таблицу можно автоматически поместить промежуточные или общие итоги, а также добавить формулы в вычисляемые поля или элементы полей. В сводной таблице содержатся поля, подводящие итоги исходных данных в нескольких строках. Переместив кнопку поля в другое место сводной таблицы, можно изменить представление данных.
|
|
Сводные таблицы предназначены для удобного просмотра данных больших таблиц, т.к. обычными средствами делать это неудобно, а порой, практически невозможно.
Они содержат часть данных анализируемой таблицы, показанные так, чтобы связи между ними отображались наглядно. Сводная таблица создается на основе отформатированного списка значений. Поэтому, прежде чем создавать сводную таблицу, необходимо подготовить соответствующим образом данные.
Создайте таблицу вида, дополните ее дополнительными марками телефонов и датами продажи:
Таблица 1 - Рабочая таблица о продажах телефонов
Дата | Магазин | Марка | Серия | Продажа(штуки) | Цена(рубли) | Итого |
12.12.2002 | 1 | Самсунг | с300 | 3 | 100 | 300 |
12.12.2002 | 1 | Нокия | с200 | 4 | 1221 | 4884 |
12.12.2002 | 2 | Самсунг | с300 | 5 | 1212 | 6060 |
12.12.2002 | 2 | Нокия | с200 | 6 | 121 | 726 |
12.12.2002 | 3 | Самсунг | с300 | 7 | 122 | 854 |
|
|
Выделяем всю таблицу. Вызываем Данные+Сводная+Cоздать таблица. В появившемся окне мастера выбираем текущее выделение и нажимаем Ok.
В появившемся окне задается макет сводной таблицы. В данном случае в строках будут указаны магазины, в столбцах марка телефона и итоговая прибыль по продажам.
В результате на новом листе будет получена таблица со следующими данными.
Таблица 2 - Сводная таблица
Сумма по полю Итого | Марка | ||
Магазин | Нокия | Самсунг | Общий итог |
1 | 4884 | 300 | 5184 |
2 | 726 | 6060 | 6786 |
3 | 854 | 854 | |
Общий итог | 5610 | 7214 | 12824 |
Для того, чтобы создать собственное представление таблиц необходимо в окне на рисунке перетаскивать нужные поля в нужные области по строкам, по столбцам и в область данных.
Создать сводную таблицу по продажам конкретных марок телефонов в штуках и в рублях, создать сводную таблицу сгруппированными данными по дате, то есть сколько телефонов определенной марки было продано в определенный день.
4.3. Итоговые поля и группировка
Просматривать и создавать Итоговые поля и проводить группировку по какому-то полю можно, используя Данные+Промежуточные Итоги. Необходимо выделить исходную таблицу и затем выбрать Данные+Промежуточные Итоги и в появившемся окне можно выбрать операцию группировки (например, Сумма), а также поля, по которым необходимо получить итоговые значения (рисунок 28).
В результате будет получена таблица, представленная ниже, путем добавления дополнительных полей к исходной. Появились еще две строки указывающие на сумму по полю итого при группировке по дате.
Таблица 3 - Результирующая таблица
Дата | Магазин | Марка | Серия | Продажа(штуки) | Цена(рубли) | Итого |
12.12.02 | 1 | Самсунг | с300 | 3 | 100 | 300 |
12.12.02 | 1 | Нокия | с200 | 4 | 1221 | 4884 |
12.12.02 | 2 | Самсунг | с300 | 5 | 1212 | 6060 |
12.12.02 | 2 | Нокия | с200 | 6 | 121 | 726 |
12.12.02 | 3 | Самсунг | с300 | 7 | 122 | 854 |
12.12.02 Сумма | 12824 | |||||
Общий итог | 12824 |
Проведите группировку по магазинам, а также по маркам телефонов, вот как будет выглядеть таблица в случае группировке по серии.
Таблица 4 - Таблица с итогами по сериям
Дата | Магазин | Марка | Серия | Продажа (штуки) | Цена(рубли) | Итого |
12.12.02 | 1 | Нокия | с200 | 4 | 1221 | 4884 |
12.12.02 | 2 | Нокия | с200 | 6 | 121 | 726 |
с200 Результат | 10 | 1342 | ||||
12.12.02 | 1 | Самсунг | с300 | 3 | 100 | 300 |
12.12.02 | 2 | Самсунг | с300 | 5 | 1212 | 6060 |
12.12.02 | 3 | Самсунг | с300 | 7 | 122 | 854 |
с300 Результат | 15 | 1434 | ||||
Общий итог | 25 | 2776 |
Также можно убирать из таблицы итоговые или промежуточные поля, в примере ниже представлены только итоговые результаты группировки. Для этого необходимо щелкнуть на кнопках 1, 2 или 3, а также +, -, которые находятся слева.
Кроме того, можно группировать сначала по одному полю, затем по другому. Вот пример группировки сначала по марке, затем по серии, одну из серий «самсунга» мы сделали с200.
Таблица 5 - Группировка по двум полям
Дата | Магазин | Марка | Серия | Продажа(штуки) | Цена(рубли) | Итого |
12.12.02 | 1 | Нокия | с200 | 4 | 1221 | 4884 |
12.12.02 | 2 | Нокия | с200 | 6 | 121 | 726 |
с200 Сумма | 10 | |||||
Нокия Сумма | 10 | |||||
12.12.02 | 1 | Самсунг | с200 | 3 | 100 | 300 |
с200 Сумма | 3 | |||||
12.12.02 | 2 | Самсунг | с300 | 5 | 1212 | 6060 |
12.12.02 | 3 | Самсунг | с300 | 7 | 122 | 854 |
с300 Сумма | 12 | |||||
Самсунг Сумма | 15 | |||||
Общий итог | 25 |
4.4. Изучение макросов Calc Basic
4.4.1 Вычисление премиальных по процентам
Составить таблицу начисления премиальных по итогам работы сети 4-х магазинов за три месяца по следующему правилу:
- если продукции продано меньше чем на 60000 рублей, то премиальные составляют 2% от суммарной выручки магазина;
- за первое место дополнительно начисляется 4% премиальных, за второе 2%, за третье 1% от суммарной выручки магазина.
Сначала составим таблицу и заполним значениями как на рисунке.
Поместим на лист Calc кнопку. Как вытащить кнопку на лист. Сначала с помощью Вид-Панели инструментов-Элементы управления выведем нужную панель с элементами управления. Выбрать элемент управления в открывшемся окне — кнопка и поместить ее на листе. Чтобы назначить событие для данной кнопки, можно щелкнуть правой кнопкой мыши и выбрать во всплывающем меню «Элемент управления» События, назначить макрос обрабатывающий одно из событий (Выполнить действие). Предварительно нужно создать макрос, можете его назвать, например, OnClick, напомним, что он создается так же как и во Writer, нужно открыть окно редактора Basic и в нем записать пустую процедуру. В макросе для начала можно записать начальный код MsgBox «Hello». Затем на элементах управления перевести состояние из режима конструктора в режим выполнения, используя кнопку — «линейка-треугольник».
Вызов на кнопке контекстно-зависимого меню и выбор опции Элемент управления и Общие. В поле Текст заменяем стандартное имя на любое свое, это будет видимое название кнопки.
Рассмотрим кратко некоторые свойства объекта кнопка общие и для остальных визуальных объектов.
Свойство доступно (Enabled) объекта позволяет запретить или разрешить доступ к объекту. При свойстве со значением Falsе (Нет) кнопку нельзя нажимать, она отображается серым цветом.
Свойства Width (Ширина) и Height (Высота) – задают ширину и высоту объекта кнопка. Свойства Top (Позиция y) и Left (Позиция x) – задают смещения от верхнего и левого краев формы. BackColor (цвет фона) – цвет фона объекта. Font (Шрифт) – свойство шрифта объекта, шрифт надписей на объекте. Picture (Изображения) – путь к картинке. Visible (Видимость) – задает видимость объекта. WordWrap (разрыв слова) – перенос слов отображающихся в имени.
Напишем следующий код для этой процедуры с использованием циклических структур. Текст, начинающийся с кавычки - примечание.
Sub OnClick()
Dim Doc As Object
Dim Sheet, Cell As Object
'Пример получения доступа к текущему открытому листу по его номеру.
'Doc = StarDesktop.CurrentComponent
'Sheet = Doc.Sheets(1)
'получение доступа к листу по его имени
Doc = StarDesktop.CurrentComponent
Sheet = Doc.Sheets.getByName("Лист2")
‘цикл суммирования выручки за 3 месяца
for i =1 to 4
Cell = Sheet.getCellByPosition(4, i)
Cell.Value = Sheet.getCellByPosition(1, i).Value + Sheet.getCellByPosition(2, i).Value + Sheet.getCellByPosition(3, i).Value
‘сделать сложение по столбцам с помощью цикла !!!!!
next i
‘Создание вспомогательного массива box
‘заполнение его значениями выручки
‘создание массива из четырех элементов вещественного типа с индексацией от 1 до 4.
Dim box(4) As Double
box(0) = Sheet.getCellByPosition(4, 0).Value
box(1) = Sheet.getCellByPosition(4, 1).Value
box(2) = Sheet.getCellByPosition(4, 2).Value
box(3) = Sheet.getCellByPosition(4, 3).Value
‘присвоение реализовать с помощью цикла !!!!!
‘Сортировка выручки за 3 месяца по убыванию методом «пузырька».
‘При этом в box(0) окажется максимальное значение выручки:
For I =0 to 3
For j=0 to 4-i
If box(j)<box(j+1) then
q = box(j+1)
box(j+1)=box(j)
box(j)=q
Endif
Next
Next
‘Реализовать сортировку методом простого выбора!!!!
‘Начисление процентов в зависимости от места
For i=1 to 4
If Sheet.getCellByPosition(4, i).Value = box(0) Then Sheet.getCellByPosition(6, i).Value=4
If Sheet.getCellByPosition(4, i).Value = box(1) Then Sheet.getCellByPosition(6, i).Value=2
If Sheet.getCellByPosition(4, i).Value = box(2) Then Sheet.getCellByPosition(6, i).Value=1
If Sheet.getCellByPosition(4, i).Value = box(3) Then Sheet.getCellByPosition(6, i).Value=0
Next i
‘тоже самое реализовать, используя данные из таблицы и цикл, или из предварительно созданного массива, чтобы не использовать четыре строчки сравнения
Начисление процентов, если выручка за 3 месяца больше плановой выручки.
For i=1 to 4
If Sheet.getCellByPosition(4,i).Value>=Sheet.getCellByPosition(10,1).value then
Sheet.getCellByPosition(5,i).value = 2
Else: Sheet.getCellByPosition(5,i).value =0
End if
Next i
Суммирование процентов
For i=1 to 4
Sheet.getCellByPosition(7,i).value = Sheet.getCellByPosition(5,i).value + Sheet.getCellByPosition(6,i).value
Next
Расчет итоговой премии
For i=1 to 4
Sheet.getCellByPosition(8,i).value = Sheet.getCellByPosition(4,i).value + Sheet.getCellByPosition(7,i).value/100
Next
End sub
Закроем редактор и нажмем на кнопку. Получим заполненную таблицу.
Дата добавления: 2019-01-14; просмотров: 497; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!