Объявление одномерного массива и задание его начальных значений, при   //этом размер массива автоматически будет равен 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!