Опубликован: 05.08.2010 | Уровень: специалист | Доступ: свободно
Самостоятельная работа 7:

Создание отчетов Crystal Reports.NET в графическом режиме

Вкладка Summaries

Очень часто в отчет нужно вставлять требуемые сводки, подсчитывающие те или иные итоговые результаты. Это и позволяет на этапе создания отчета выполнить рассматриваемая вкладка, следующая за вкладкой Grouping.

Поля для сводок представляют собой вычисляемые дополнительные поля, которые не требуют специальных формул для записи информации. Они заменяют собой наиболее распространенные вычислительные запросы к БД, такие как вычисление суммы и средних значений, что уменьшает объем кодирования и вычислительные затраты. Чтобы создать поле сводки, нужно выбрать базовое поле таблицы данных и из раскрывающегося списка вкладки мастера задать выполняемое над данными действие. Список действий соответствует контексту выбранного базового поля данных, для разных типов полей список содержит разные действия.

  • Выделите в правом списке группу Customer.Country и из левого списка добавьте в нее базовое поле Last Year's Sales, а в раскрывающемся списке закрепите за вычислимой сводкой операцию Sum (как показано на верхнем снимке)

В таблице перечислены наиболее часто используемые операции для полей сводок.

Некоторые операции вычисления сводок
Операция вычисления сводки Описание
Sum (Сумма) Вычисляет сумму всех элементов
Average (Среднее значение) Вычисляет среднее значение всех элементов
Sample   variance (Выборочная дисперсия) Вычисляет статистическую выборочную дисперсию конкретной выборки элементов
Sample standard deviation (Среднее выборочное отклонение) Вычисляет среднее статистическое выборочное отклонение заданной выборки элементов
Maximum (Максимум) Возвращает максимальное значение
Minimum (Минимум) Возвращает минимальное значение
Count (Общее число) Вычисляет общее число элементов списка
Distinct count (Подсчет числа только уникальных элементов) Подсчитывает число неповторяющихся элементов, например, если слово 'Дурак' встречается много раз, то оно засчитывается только однажды
Correlation with (Корреляция) Вычисляет меру отношений между двумя или более элементами
Covariance with (Ковариантность, смешанный момент второго порядка) Вычисляет меру дисперсии между двумя или более элементами
Median (Медиана) Вычисляет статистическую медиану всей совокупности элементов
Mode (Мода) Вычисляет статистическую моду (наиболее вероятное значение) всех элементов
Nth largest, N is: ( N -е максимальное число) Возвращает N -й максимальный элемент (где N есть предопределенное число)
Nth smallest, N is: ( N -е минимальное число) Возвращает N -й минимальный элемент (где N есть предопределенное число)
Nth most frequent, N   is: ( N -е наиболее часто встречающееся значение) Возвращает N -е наиболее часто встречающееся в списке значение (где N есть предопределенное число)
Pth percentile, P is: ( P -й процентиль) Вычисляет P -й процентиль (где P есть предопределенное число)
Population variance (Дисперсия генеральной совокупности) Вычисляет статистическую дисперсию всей генеральной совокупности элементов
Population standard deviation (Среднее отклонение генеральной совокупности) Вычисляет среднее отклонение всей генеральной совокупности элементов
Weighted average with (Взвешенное среднее значение) Вычисляет среднее значение, взвешенное по числу раз появления элементов

Вкладка Group Sorting

Эта вкладка позволяет выполнить операцию по выделению в специальную группу лидеров или аутсайдеров данных по выбранному критерию. Остальные данные будут проигнорированы. Например, можно выделить в группу 10 лучших клиентов по итогам прошлогодних продаж. Таким же образом можно составить отчет по заданному числу наихудших клиентов.

Вкладка Chart

Эта вкладка служит для включения в отчет диаграмм и графиков.

Эта вкладка настраивает машину построения диаграмм и графиков, работающую по технологии 3D-графики. Чтобы включить вычисление диаграммы в отчет, нужно выбрать тип диаграммы, а затем указать, откуда должны поступать данные для ее построения. Наиболее распространенным типом диаграммы является групповая диаграмма, которая требует, чтобы в отчет были вставлены поле группы и поле сводки.

Алексей Бабушкин
Алексей Бабушкин

При выполнении в лабораторной работе упражнения №1 , а именно при выполнении нижеследующего кода:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Microsoft.Xna.Framework.Graphics;

   

namespace Application1

{

    public partial class MainForm : Form

    {

        // Объявим поле графического устройства для видимости в методах

        GraphicsDevice device;

   

        public MainForm()

        {

            InitializeComponent();

   

            // Подпишемся на событие Load формы

            this.Load += new EventHandler(MainForm_Load);

   

            // Попишемся на событие FormClosed формы

            this.FormClosed += new FormClosedEventHandler(MainForm_FormClosed);

        }

   

        void MainForm_FormClosed(object sender, FormClosedEventArgs e)

        {

            //  Удаляем (освобождаем) устройство

            device.Dispose();

            // На всякий случай присваиваем ссылке на устройство значение null

            device = null;       

        }

   

        void MainForm_Load(object sender, EventArgs e)

        {

            // Создаем объект представления для настройки графического устройства

            PresentationParameters presentParams = new PresentationParameters();

            // Настраиваем объект представления через его свойства

            presentParams.IsFullScreen = false; // Включаем оконный режим

            presentParams.BackBufferCount = 1;  // Включаем задний буфер

                                                // для двойной буферизации

            // Переключение переднего и заднего буферов

            // должно осуществляться с максимальной эффективностью

            presentParams.SwapEffect = SwapEffect.Discard;

            // Устанавливаем размеры заднего буфера по клиентской области окна формы

            presentParams.BackBufferWidth = this.ClientSize.Width;

            presentParams.BackBufferHeight = this.ClientSize.Height;

   

            // Создадим графическое устройство с заданными настройками

            device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware,

                this.Handle, presentParams);

        }

   

        protected override void OnPaint(PaintEventArgs e)

        {

            device.Clear(Microsoft.Xna.Framework.Graphics.Color.CornflowerBlue);

   

            base.OnPaint(e);

        }

    }

}

Выбрасывается исключение:

Невозможно загрузить файл или сборку "Microsoft.Xna.Framework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" или один из зависимых от них компонентов. Не удается найти указанный файл.

Делаю все пунктуально. В чем может быть проблема?

Юрий Макушин
Юрий Макушин
Россия, Москва, РЭА им. Плеханова, 2004