SlideShare a Scribd company logo
1 of 51
On-Time Delivery Performance based on Factory
A SUMMER INTERN PROJECT REPORT
Submitted by
Anurag Rana
Roll No. – 03111503013
in partial fulfillment of Summer Internship for the award of the degree
of
BACHELOR OF TECHNOLOGY
in
Instrumentation and Control Engineering
BHARATI VIDYAPEETH'S
COLLEGE OF ENGINEERING, NEWDELHI
A - 4, PASCHIM VIHAR, ROHTAK ROAD, NEW DELHI- 110063
July 2016
2
<<Name of the Organization>>
<<Postal address>>
CERTIFICATE
This is to certify that the summer internship project report on “On-Time Delivery Performance based on
Factory” is the bona fide work of Anurag Rana, Roll No: 03111503013, for the award of the Bachelor of
Technology degree in Instrumentation and Control Engineering from Guru Gobind Singh Indraprastha
University for the Batch 2013 – 2017 carried out under my supervision during 13/06/2016 to 22/07/2016.
Place – World Fashion Exchange (India) Pvt.Ltd.
B-13, Info City, Sector-34,
Gurgaon -122001.
Tel: +91-124-4912200
Date – 22/07/2016
Mr. Anjul Popat
Business Analytics Consultant
3
DECLARATION
I undersigned Anurag Rana student of B - Tech 7th semester declare that I have done the project on “On-Time
Delivery Performance based on Factory” under the guidance of Mr. Anjul Popat for the award of the Bachelor
of Technology degree in Instrumentation and Control Engineering from Guru Gobind Singh Indraprastha
University for the Batch 2013 – 2017. All the data represented in this project is true & correct to the best of my
knowledge & belief.
I also declare that this project report is my own preparation and not copied from anywhere else.
Date 22-7-2016
(Anurag Rana)
Signature
4
ACKNOWLEDGEMENT
I take this opportunity to express my deep sense of gratitude, thanks and regards towards all of those who have
directly or indirectly helped me in the successful completion of this project.
I present my sincere thanks to Mr. Ankit Gaur (Vice President) who allowed me to take training at World
Fashion Exchange.
It would be unthinkable for me not to say something special for my mentor at World Fashion Exchange, Mr.
Anjul Popat, who has continually helped and guided me. It is due to his efforts that my project has gained its
present stature and I can never thank him enough for all he has done.
I would also like to thank World Fashion Exchange Employees for their wonderful support & inspirable
guiding.
Last but not the least I am indebted to my PARENTS who provided me their time, support and inspiration
needed to prepare this report.
5
Table of Contents
Title Page………………………………………………………………………………………............................i
Certificate..……………………………………………………………………………………………………….ii
Declaration.……………………….……………………………………………………………………………...iii
Acknowledgement………………………………………………………………………………………………..iv
List of Figures………………………………………………………………………………...…………………..v
List of Tables………………………………………………………………………………………………….....vii
Chapter 1:Introduction about the company…………………………………………………………………..10
Chapter 2:Data Base Management System…………………………………………………..........................13
2.1: SQL …………………………………………………………………………………………..13
2.1.1: SQL Keys………………………………………………………………...……………14
2.1.2: Joins in SQL………………………………………………………………...…………16
2.2: Clustered and Non Clustered Indexing………………………………………………………..17
Chapter 3:Business Intelligence………………………………………………………………………...……20
3.1: SQL Server Integration Service………………………………………………………………20
3.2: SQL Server Analysis Service…………………….…………………………………………..21
3.3: SQL Server Reporting Service…………………………………………………………...…..23
3.3.1: SSRS in the Report Development Life Cycle………………………………………....24
Chapter 4:Report Builder…………………………………………………………………….........................27
4.1: Data Source…………………………………………………………………………………...27
4.2: Data Set……………………………………………………………………………………….27
4.3: Table/Matrix………………………………………………………………………………….27
4.4: Grouping – Parent and child groups…………………………………………………………..29
4.5: Filters and Parameters………………………………………………………………………32
4.6: Data Visualization…………………………………………………………………………..36
6
Chapter 5: Project – Delivery Performance Score Card…………………………………………………….42
5.1: Making of a Report…………………………………………………………………………42
Chapter 6: Secondary Research – Apparel Manufacturing Industry………………………………………....49
7
List of Figures
Fig 2.1 SQL keys………………………………………………………………………………………………...14
Fig 2.2 Defining primary and foreign keys………………………………………………………………………16
Fig 3.1 ETL block diagram………………………………………………………………………………………21
Fig 3.2 Types of data models…………………………………………………………………………………….22
Fig 3.3 SSRS architecture………………………………………………………………………………………..23
Fig 3.4 Life cycle of a report………………………………………………………………………………….....25
Fig 4.1 Table……………………………………………………………………………………………………..28
Fig 4.2 Matrix……………………………………………………………………………………………………28
Fig 4.3 List……………………………………………………………………………………………………….29
Fig 4.4 Row and column grouping………………………………………………………………………………29
Fig 4.5 Data set filter…………………………………………………………………………………………….32
Fig 4.6 Data set parameter……………………………………………………………………………………….33
Fig 4.7 Report parameter………………………………………………………………………………………...33
Fig 4.8 Multiple selection parameter..…………………………………………………………………………...34
Fig 4.9 Drop down parameter…..………………………………………………………………………………..35
Fig 4.10 Filters on main data set…………………………………………………………………………………35
Fig 4.11 Filters on data set 2 and data set 3……………………………………………………………………...36
Fig 4.12 Sorting by OC_Delivery_Month……………………………………………………………………….36
Fig 4.13 Types of chart…………………………………………………………………………………………..38
Fig 4.14 Types of indicator…………………………………………………………………………………….. .39
8
Fig 4.15 Map……………………………………………………………………………………………………..40
Fig 4.16 Data bars and spark lines………………………………………………………………...……………..40
Fig 4.17 Types of gauge………………………………………………………………………………………….41
Fig 5.1 Table showing OTP and delay %..............................................................................................................43
Fig 5.2 Line chart showing OTP % month wise…………………………………………………………………44
Fig 5.3 Gauge showing OTP %.............................................................................................................................45
Fig 5.4 Least 5 performers table…………………………………………………………………………………45
Fig 5.5 Filter for least performers………………………………………………………………………………..46
Fig 5.6 Sorting for least performers……………………………………………………………………………...46
Fig 5.7 Top 5 performers table…………………………………………………………………………………..47
Fig 5.8 Filter for top performers…………………………………………………………………………………47
Fig 5.9 Sorting for top performers….…...……………………………………………………………………….48
Fig 5.10 Delivery Performance Scorecard……………………………………………………………………….48
Fig 6.1 Departments in apparel industry...……………………………………………………………………….50
Fig 6.2 Process flow in garment manufacturing...……………………………………………………………….51
9
List of Tables
Table 2.1 Difference between primary and foreign key…………………………………………………………15
Table 2.2 Difference between primary and unique key………………………………………………………….15
Table 2.3 Customers table………………………………………………………………………………………..17
Table 2.4 Orders table…………………………………………………………………………………………....17
Table 2.5 Joined table……………………………………………………………………………………………17
10
Chapter 1
INTRODUCTION
World Fashion Exchange (WFX) is a global software organization, catering specifically to the fashion industry.
WFX provides customizable web-based software solutions, which completely and efficiently manage the
product life cycle.
WFX provides web-based, enterprise wide software solutions, designed for the Fashion Industry - Apparel,
Footwear, Home Furnishings etc. WFX provides fashion software solutions for retail, wholesale, import/export,
trading and manufacturing businesses to manage their day-to-day processes and functions.
WFX offers its customers and partners, reliability, experience, security, in-depth knowledge and unmatched
domain knowledge of the fashion industry through its apparel software management solutions.
WFX Clients include Brands, Retailers, Wholesalers, Buying Agents, Apparel manufacturers and Exporters.
Vision –
To be the leading integrated software solutions provider for fashion, with a dominant presence in the apparel
industry.
MissionStatement –
To strive towards total customer satisfaction by empowering customers with easy-to-use software solutions that
reduces their business costs and increase profitability.
WFX Solutions –
WFX solutions create a global environment of 'Total Collaboration' between its users and their business
partners. It is totally customizable, easy-to-use and designed to easily integrate with existing systems.
WFX solutions are developed on industrial strength and proven best-of-breed Internet technologies, enabling
WFX clients to collaborate with their business partners in real-time. It consists of modules that can be
implemented independently, at the same time, are fully integrated to effectively manage all areas - from product
development to sales and from sourcing to production.
After conducting business diagnostics, WFX offers its clients customized Product Lifecycle Management -
PLM, Product Data Management - PDM, Enterprise Resource Planning - ERP II, Supply Chain Management -
11
SCM or WFX Partner solutions which enable them to work in a collaborative environment within their
organization as well as with their business partners.
Fashion businesses worldwide use WFX apparel software management products for business management and
planning activities. As fashion design software has only limited functionality of creating product designs, a
more comprehensive solution is required to manage all the business activities as the product goes into
development, sampling, ordering etc. stages.
Fashion companies use fashion design software and apparel design software to create design sketches but rarely
have effective apparel software management tools for complete Product data management and related activities
to manage the entire product lifecycle.
WFX offers the most comprehensive software solutions for the Fashion Industry - Apparel, Footwear,
Furnishings etc., allowing for the efficient exchange of information, business transactions and services among
global business partners via the Internet.
Among the first few companies employ Microsoft.NET Technologies, WFX's web-based applications can be
accessed anytime from anywhere, using the Internet. Its collaborative business flow across multiple
organizations makes it a powerful tool for any global fashion company.
WFX Web Product Data Management - PDM, Web Product Lifecycle Management - PLM, Web Enterprise
Resource Planning - ERP II, Web Supply Chain Management - SCM and Web EDI solutions are used by
brands, retailers, suppliers and agents all over the world, empowering users in many organizations by giving
them smarter software solutions and better business control.
ERP – Enterprise Resource Planning (ERP) is business process management software that allows an
organization to use a system of integrated applications to manage the business and automate many back office
functions related to technology, services and human resources.
PLM – Product Lifecycle Management (PLM) is a process or system used to manage the data and design
process associated with the life of a product from its conception and envisioning through its manufacture, to its
retirement and disposal. PLM manages data, people, business processes, manufacturing processes, and anything
else pertaining to a product. A PLM system acts as a central information hub for everyone associated with a
given product, so a well-managed PLM system can streamline product development and facilitate easier
communication among those working on/with a product
12
PDM – Product Data Management (PDM) is the use of software to manage product data and process-related
information in a single, central system. This information includes computer-aided design (CAD) data, models,
parts information, manufacturing instructions, requirements, notes and documents.
SCM – Supply Chain Management (SCM) is the management of the flow of goods and services. It includes
the movement and storage of raw materials, work-in-process inventory, and finished goods from point of origin
to point of consumption.
EDI – Electronic Data Interchange (EDI) is the transfer of data from one computer system to another by
standardized message formatting, without the need for human intervention. EDI permits multiple companies --
possibly in different countries -- to exchange documents electronically.
13
Chapter 2
DATA BASE MANAGEMENT SYSTEM
Database – A database is an organized collection of data. The data are typically organized to model aspects of
reality in a way that supports processes requiring information.
Database Management Systems (DBMS) – They are specially designed software applications that interact
with the user, other applications and the database itself to capture and analyze data. A general-purpose DBMS is
a software system designed to allow the definition, creation, querying, update and administration of databases.
Some common DBMS are - MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS,
dBASE, Clipper, and FoxPro
Structured Query Language (SQL) - It is a computer language for storing, manipulating and retrieving data
stored in relational database.
SQL is the standard language for Relation Database System. All relational database management systems like
MySQL, MS Access, Oracle, Sybase, Informix, PostgreSQL and SQL Server use SQL as standard database
language.
The standard SQL commands can be classified into groups based on their nature -
 DDL - Data Definition Language –
• CREATE - Creates a new table, a view of a table, or other object in database
• ALTER - Modifies an existing database object, such as a table.
• DROP - Deletes an entire table, a view of a table or other object in the database
 DML- Data Manipulation Language –
• SELECT - Retrieves certain records from one or more tables
• INSERT - Creates a record
• UPDATE - Modifies records
• DELETE - Deletes records
 DCL - Data Control Language –
• GRANT - Gives a privilege to user
• REVOKE - Takes back privileges granted from user
14
SQL Keys -
Key - A key is a single or combination of multiple fields in a table. It is used to fetch or retrieve records/data-
rows from data table according to the condition/requirement. Keys are also used to create relationship among
different database tables or views.
Fig 2.1
Types of keys -
 Super Key - Super key is a set of one or more than one keys that can be used to identify a record uniquely
in a table. Example: Primary key, Unique key, Alternate key are subset of Super Keys.
 Candidate Key - A Candidate Key is a set of one or more fields/columns that can identify a record uniquely
in a table. There can be multiple Candidate Keys in one table. Each Candidate Key can work as Primary
Key. Example: In diagram ID, RollNo and EnrollNo are Candidate Keys since all these three fields can be
work as Primary Key.
 Primary Key - Primary key is a set of one or more fields/columns of a table that uniquely identify a record
in database table. It cannot accept null, duplicate values. Only one Candidate Key can be Primary Key.
 Foreign Key - Foreign Key is a field in database table that is Primary key in another table. It can accept
multiple null, duplicate values. Example: We can have a DeptID column in the Employee table which is
pointing to DeptID column in a department table where it a primary key
 Alternate Key - An Alternate key is a key that can be work as a primary key. Basically it is a candidate key
that currently is not primary key. Example: In below diagram Roll No. and Enroll No. becomes Alternate
Keys when we define ID as Primary Key.
 Composite/Compound Key - Composite key is a combination of more than one fields/columns of a table.
It can be a Candidate key, Primary key.
15
 Unique Key - Unique key is a set of one or more fields/columns of a table that uniquely identify a record in
database table. It is like Primary key but it can accept only one null value and it cannot have duplicate
values.
 Surrogate Key - A surrogate key is simply a key that stands for something else. We use one when it is a
better design or is simply more convenient. It is a meaningless integer that is generated automatically by the
database management software, such as Oracle or SQL Server. The values are usually consecutive integers,
starting with 1,2,3,4 and so on. The benefit of this approach is that it avoids the occurrence of primary keys
with too many fields if more dependent tables occur where they cascade downwards
Difference between Primary key & Foreign key –
Table 2.1
Primary Key Foreign Key
It uniquely identifies a record in table. It is a field in table that is primary key in another
table.
It can’t accept null values. It can accept multiple null values.
By default primary key is clustered indexed & data in
data base table is physically organized in the
sequence of clustered indexed.
Foreign key do not automatically creates an index,
clustered or non – clustered. You can manually create
an index on foreign key.
We can have only one primary key in a table. We can have more than one foreign key in a table.
Difference between Primary key & Unique key –
Table 2.2
Primary Key Unique Key
It can’t accept null values. It can accept only one null value.
By default primary key is clustered indexed & data in
data base table is physically organized in the
sequence of clustered indexed.
By default unique key is unique non – clustered
indexed.
We can have only one primary keys in table. We can have more than one unique key in a table.
It can be made foreign key in another table. In SQL server, it can be made foreign key in another
table.
16
Defining Primary & Foreign keys –
Fig 2.2
Joins in SQL –
The SQL Joins clause is used to combine records from two or more tables in a database. A JOIN is a means for combining
fields from two tables by using values common to each.
SQL Join types –
 INNER JOIN: The default join that returns only the matching records in both table
 LEFT JOIN: Return all rows from the left table, and the matched rows from the right table
 RIGHT JOIN: Return all rows from the right table, and the matched rows from the left table
 FULL OUTER JOIN: Return all rows from the left table and from the right table.
 SELF JOIN: It is used to join a table to itself as if the table were two tables, temporarily renaming at least
one table in the SQL statement.
 CARTESIAN JOIN: Returns the Cartesian product of the sets of records from the two or more joined
tables
17
Consider the following two tables –
a) Customers –
Table 2.3
ID Name Age Address Salary
1 Ramesh 32 Ahmedabad 2000
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Delhi 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
b) Orders –
Table 2.4
OID Date Customer_ID Amount
102 2009-10-08 3 3000
100 2009-10-08 3 1500
101 2009-11-20 2 1560
103 2008-05-20 4 2060
Now let us join these two tables in our SELECT statement –
SQL > SELECT ID, Name, Age, Amount
FROM Customers ,Orders
WHERE Customers.ID = Orders.Customer_ID;
The result would be –
Table 2.5
ID Name Age Amount
3 Kaushik 23 3000
3 Kaushik 23 1500
2 Khilan 25 1560
4 Chaitali 25 2060
18
Clustered and Non Clustered Indexing –
Cluster Index - A clustered index determines the order in which the rows of a table are stored on disk. If a table
has a clustered index, then the rows of that table will be stored on disk in the same exact order as the clustered
index.
Example - Suppose we have a table named Employee which has a column named EmployeeID. Let’s say we
create a clustered index on the EmployeeID column.
Then all of the rows inside the Employee table will be physically sorted (on the actual disk) – by the values
inside the EmployeeID column. This means that whenever a search for a sequence of EmployeeID’s is done
using that clustered index, then the search will be much faster because of the fact that the sequence of
EmployeeID’s are physically stored right next to each other on disk – that is the advantage with the clustered
index. This is because the rows in the table are sorted in the exact same order as the clustered index, and the
actual table data is stored in the leaf nodes of the clustered index.
An index is usually a tree data structure – and leaf nodes are the nodes that are at the very bottom of that tree.
When would using a clustered index make sense?
Suppose we have a table named Owners and a table named Cars.
Owner – Cars –
Owner_Name Car Type
Owner_Age Owner Name
Let’s assume that a given owner can have multiple cars – so a single Owner_Name can appear multiple times in
the Cars table.
Now, let’s say that we create a clustered index on the Owner_Name column in the Cars table. Then because a
clustered index is stored physically on the disk in the same order as the index, it would mean that a given
Owner_Name would have all his/her car entries stored right next to each other on disk. In other words, if there
is an owner named “Joe Smith” or “Raj Gupta”, then each owner would have all of his/her entries in the Cars
table stored right next to each other on the disk
19
Non - Cluster Index – They have a structure separate from the data rows. A non-clustered index contains the
non-clustered index key values and each key value entry has a pointer to the data row that contains the key
value.
The pointer from an index row in a non-clustered index to a data row is called a row locator. The structure of
the row locator depends on whether the data pages are stored in a heap or a clustered table. For a heap, a row
locator is a pointer to the row. For a clustered table, the row locator is the clustered index key
A comparison of a non-clustered index with a clustered index - Let’s say that we have a non-clustered index
on the EmployeeID column. A non-clustered index will store both the value of the
EmployeeID AND a pointer to the row in the Employee table where that value is actually stored. But a clustered
index, on the other hand, will actually store the row data for a particular EmployeeID – so if you are running a
query that looks for an EmployeeID of 15, the data from other columns in the table like EmployeeName,
EmployeeAddress, etc. will all actually be stored in the leaf node of the clustered index itself.
This means that with a non-clustered index extra work is required to follow that pointer to the row in the table
to retrieve any other desired values, as opposed to a clustered index which can just access the row directly since
it is being stored in the same order as the clustered index itself. So, reading from a clustered index is
generally faster than reading from a non-clustered index.
A table can have multiple non-clustered indexes
A table can have multiple non-clustered indexes because they don’t affect the order in which the rows are stored
on disk like clustered indexes.
A table can have only one clustered index
Because a clustered index determines the order in which the rows will be stored on disk, having more than one
clustered index on one table is impossible. Imagine if we have two clustered indexes on a single table – which
index would determine the order in which the rows will be stored? Since the rows of a table can only be sorted
to follow just one index, having more than one clustered index is not allowed.
20
Chapter 3
BUSINESS INTELLIGENCE
Business Intelligence is techniques for transforming data into meaningful and useful information for business
analysis purposes, which helps to make quick decisions.
MSBI stands for Micro Soft Business Intelligence.
MSBI Tools - Microsoft provides some tools to transform your business data into information. We can use these
tools with the interface of Visual Studio. With the release of SQL Server 2012, Business Intelligence
Development Studio (BIDS) was renamed to SQL Server Data Tools (SSDT).
 SSIS - SQL Server Integration Services
 SSAS - SQL Server Analysis Services
 SSRS - SQL Server Reporting Services
SQL Server Integration Service (SSIS) –
Integration Services is a platform for building high-performance data integration and workflow solutions,
including extraction, transformation and loading (ETL) operations for data warehousing.
We can process the data from various locations and various formats (source locations) and save the data into a
centralized repository as a Data Warehouse/Data Mart (destination).
It includes graphical tools and wizards for building and debugging packages.
Data Warehouse and Data Mart –
This is commonly use for reporting and business analysis purposes. This system is actually the output of
integrated data from multiple sources and stored into a centralized repository. The Data warehouse stores the
current and historical data, so it is easy to generate trend reports, predictive analysis and comparison reports. It's
very helpful for the top management to take the quick decisions about the business.
A Data Mart means that it's a small part of a Data Warehouse and indicates only a single part (for example sales
or finance). It always holds more summarized information.
ETL means that its takes the data from various source locations, maybe as a different data format (for example
SQL, txt, xls and so on) and store this data into a destination (Data Warehouse).
In computing, Extract, Transform and Load (ETL) refers to a process in database usage and especially in data
warehousing that –
21
• Extracts data from homogeneous or heterogeneous data sources.
• Transforms the data for storing it in a proper format or structure for querying and analysis purpose.
• Loads it into the final target (database, more specifically, operational data store, data mart or data warehouse).
Fig 3.1
SQL Server Analysis Service (SSAS) –
A component for online analytical processing (OLAP) and data mining. OLAP is the process of converting two
dimensional (rows and columns/OLTP) data into multi-dimensional data model (OLTP). Data mining helps
users to discover patterns in data
Some of the features of SSAS are –
 Multi-dimensional analysis
 Key performance Indicator (KPI)
 Score card
 Slice, dice, drill down functionalities
 Good performance
 Security and so on.
Data modeling is the process of documenting a complex software system design as an easily understood
diagram, using text and symbols to represent the way data needs to flow. The diagram can be used as a blueprint
for the construction of new software or for re-engineering a legacy application.
Traditionally, data models have been built during the analysis and design phases of a project to ensure that the
requirements for a new application are fully understood. A data model can be thought of as a flowchart that
illustrates the relationships between data. Although capturing all the possible relationships in a data model can
be very time-intensive, it's an important step that shouldn't be rushed. Well-documented conceptual, logical and
physical data models allow stake-holders to identify errors and make changes before any programming code has
been written.
22
Data modelers often use multiple models to view the same data and ensure that all processes, entities,
relationships and data flows have been identified.
Types of Data Models are –
 Business Data Model - This can also be called a Conceptual Data Model because it focuses on the
important ‘Things of Interest’ and how they are related. We use them when it is important to describe the
areas of a business that are being affected. This helps the user community to understand an Enterprise Data
Model.
 Logical Data Model - This usually shows Primary and Foreign Keys. It is invariably produced in a Data
Modelling Tool like Dezign or ERWin. Serves as the basis for the creation of the physical data model.
 Physical Data Model - It is usually generated in one of two ways - either by 'reverse engineering' from a
physical Database or automatically by the Modelling Tool, such as ERwin or Dezign, that was used to
design the Logical Data Models.
The design of the PDM will usually change to reflect the denormalization of the original LDM to achieve
improved performance. The LDM is then preserved as a record of the Requirements and the PDM becomes
the solution to the Requirements.
23
Fig 3.2
SQL Server Reporting Service (SSRS) –
SSRS is Microsoft’s answer to business reporting. It provides a unified, server-based, extensible, and scalable
platform from which to deliver and present information. Its scope extends from traditional paper reports to web
based delivery and interactive content. SSRS can also be configured to deliver reports to people’s inboxes, file
shares, and so on.
SSRS is capable of generating reports in various formats, such as the web-oriented Hypertext Markup Language
(HTML) and desktop application (Microsoft Excel and CSV) formats, thus allowing users to manipulate their
data in whatever format is required. In addition, SharePoint can be used as a front end for SSRS, allowing
reports to be presented directly in corporate portals.
Architecture of SSRS –
Fig 3.3
Some of the features of SSRS are –
 Multi-dimensional analysis
 Create ad hoc reports and save them to the server
 Slice, dice, drill down functionalities
 Good performance and Security
 Retrieve data from managed providers, OLE DB, and ODBC connections
 Display data in a variety of ways, including tabular, free form, and charts
 Export to many formats, including HTML, PDF, XML, CSV, TIFF, Word reports (New in 2008), and Excel
24
 Aggregate and summarize data Embed graphics and images and external content
 Integrate with Share Point
 Provide subscription-based reports and on-demand reports
 Allow users to store and manage their own custom reports built with SSRS’s Report Builder 2.0 and manage
subscriptions to the reports (New in 2008).
 URL-based report access
 Gauge and Chart controls to display KPI data (New in 2008)
SRS is unique in the Microsoft BI suite because it covers a variety of information users. Microsoft divides users
into three groups: information consumers, information explorers, and analysts.
To address the varying needs of these types of users, SSRS provides three main tools from the user perspective–
 Report Viewer – The primary mechanism for viewing reports over the Web. Report Manager is the name
of the website that SSRS sets up. It provides a very clean and neatly organized user interface for end users.
Developers can also embed a Report Viewer control into both ASP.NET and Windows forms applications.
 Report Builder – The tool that provides users with a front end for ad hoc reporting against a SQL Server or
Analysis Services database. Unlike most ad hoc reporting tools, users of Report Builder do not need to
know Structured Query Language (SQL) or anything about joins or grouping to create reports.
 Report Designer – The tool that takes on the job of building advanced reports. Although Report Builder
does a good job as an ad hoc reporting tool, Report Designer was made
SSRS in the Report Development Life Cycle –
To understand all the ways SSRS can be used, you can simply walk through the report development life cycle
and see what features are useful in each stage.
A typical reporting application goes through three stages authoring, managing, and delivery.
SSRS provides all the necessary tools to work with a reporting application in all three stages.
25
Fig 3.4
Authoring –
To create a report, you create a report definition file using Report Designer or Report Builder. The authoring
tool to use depends on the requirements of the report and your level of expertise in report authoring techniques.
Report Designer is a full-featured report authoring tool that runs in Business Intelligence Development Studio.
Report Builder features a Microsoft Office-like authoring environment and new features such as new sparkline,
data bar, and indicator data visualizations, the ability to save report items as report parts, a wizard for creating
maps, aggregates of aggregates, and enhanced support for expressions, and runs as a separate client-side
installation.
You create reports on a client computer, separate from the report server. After your report looks the way you
want, you can publish it to a report server or SharePoint site that is integrated with a report server, where it
becomes available for general use, or you can save it to your local computer.
Management –
One of the principal advantages of using Reporting Services is the ability to manage reports and related items
such as folders, data source connections, and resources, from a central location. You can define security, set
properties, and schedule operations. You can also create shared schedules and shared data sources and make
them available for general use.
Report management includes the following tasks –
 Organizing the reporting environment into folders to store collections of reports.
 Enabling features such as My Reports, report history, and e-mail report delivery.
26
 Securing access to folders and reports by assigning users and groups to roles.
 Building shared schedules and shared data sources that you want to make available for general use.
Both users and report server administrators can manage reports, but in different ways. Users can publish and
manage reports in a personal workspace named My Reports. Report server administrators can manage the entire
report server folder namespace. The ability to perform management tasks depends on user permissions.
Delivery –
In Reporting Services, two methods are available for accessing and delivering reports:
 On-demand access allows users to select the reports from a report viewing tool. You can use Report
Manager, a Microsoft SharePoint 2.0 Web part, a SharePoint library when Reporting Services is installed in
SharePoint integrated mode, an embedded Report Viewer control, or a browser.
 Subscription-based access automatically generates and delivers reports to a destination. You can deliver
reports to an e-mail inbox or a file share.
Reporting Services supports a variety of viewing formats. Reports at first display in HTML format, but after a
report is rendered you can redisplay the report in a different format such as Excel or PDF.
27
Chapter 4
REPORT BUILDER
The tool that provides users with a front end for ad hoc reporting against a SQL Server or Analysis Services
database. Unlike most ad hoc reporting tools, users of Report Builder do not need to know Structured Query
Language (SQL) or anything about joins or grouping to create reports.
Report Builder benefits –
 Use the Report Builder ribbon to quickly add items your reports, launch table, chart, and map wizards, and
format report data.
 Add data from built-in data providers by using query designers that help you specify which data to include
in your report.
 Create and use report parameters and other interactive features that enable your report readers to customize
data and vary report presentation.
 Create expressions from built-in fields, collections, operators, and functions.
 Preview reports that use local or published shared data sources and shared datasets.
 Preview reports in HTML or print format & export reports to other file formats such as Microsoft Excel.
 Save your report and related items to a SharePoint library, a report server, or your local computer.
Making of a Report –
 Data Source – Data source is a name given to the connection set up to a Database from a server. The name is
commonly used when creating a query to the database. The database source name (DSN) does not have to be the same
as the filename for the database.
 Data Sets – If you connected to a data source there may be hundreds of tables. You probably only want data
from just a few tables. This means you want to write a specific query against this data source. A query on a
data source to get just the records you need for an SSRS report is called a Data Set.
 Table/Matrix – In Reporting Services, tables, matrices, and lists are data regions that display paginated
report data in cells that are organized into rows and columns. The cells typically contain text data such as
text, dates, and numbers but they can also contain gauges, charts, or report items such as images.
Collectively, tables, matrices, and lists are frequently referred to as tablix data regions.
The table and matrix data regions can display complex data relationships by including nested tables,
matrices, lists, charts and gauges. Tables and matrices have a tabular layout and their data comes from a
single dataset, built on a single data source. The key difference between tables and matrices is that tables
can include only row groups, where as matrices have row groups and column groups.
28
Table – Use a table to display detail data, organize the data in row groups, or both. The Table template
contains three columns with a table header row and a details row for data.
The following figure shows the initial table template, selected on the design surface:
Fig 4.1
You can group data by a single field, by multiple fields, or by writing your own expression. You can create
nested groups or independent, adjacent groups and display aggregated values for grouped data, or add
totals to groups. For example, if your table has a row group called [Category], you can add a subtotal for
each group as well as a grand total for the report. To improve the appearance of the table and highlight data
you want to emphasize, you can merge cells and apply formatting to data and table headings.
You can initially hide detail or grouped data, and include drilldown toggles to enable a user to interactively
choose how much data to show.
Matrix – Use a matrix to display aggregated data summaries, grouped in rows and columns, similar to a
PivotTable or crosstab. The number of rows and columns for groups is determined by the number of unique
values for each row and column groups.
The following figure shows the initial matrix template, selected on the design surface:
Fig 4.2
You can group data by multiple fields or expressions in row and column groups. At run time, when the
report data and data regions are combined, a matrix grows horizontally and vertically on the page as
columns for column groups and rows for row groups are added. The matrix cells display aggregate values
that are scoped to the intersection of the row and column groups to which the cell belongs. For example, if
your matrix has a row group (Category) and two column groups (Territory and Year) that display the sum
of sales, the report displays two cells with sums of sales for each value in the Category group. The scope of
the cells are the two intersections are: Category and Territory and Category and Year. The matrix can
include nested and adjacent groups. Nested groups have a parent-child relationship and adjacent groups a
peer relationship. You can add subtotals for any and all levels of nested row and column groups within the
matrix.
29
To make the matrix data more readable and highlight the data you want to emphasize, you can merge cells
or split horizontally and vertically and apply formatting to data and group headings. You can also include
drilldown toggles that initially hide detail data; the user can then click the toggles to display more or less
detail as needed.
List – Use a list to create a free-form layout. You are not limited to a grid layout, but can place fields freely
inside the list. You can use a list to design a form for displaying many dataset fields or as a container to
display multiple data regions side by side for grouped data.
For example, you can define a group for a list; add a table, chart, and image and display values in table and
graphic form for each group value, as you might for an employee or patient record.
Fig 4.3
 Grouping – Parent and Child Groups –
A group is a named set of data from the report dataset that is bound to a data region. Basically, a group
organizes a view of a report dataset. All groups in a data region specify different views of the same report
dataset.
To help visualize what a group is, refer to the Fig 4.4 that shows the tablix data region. In this, the row
groups categorize the dataset by product type and the column groups categorize the dataset by geographic
region and year.
Fig 4.4
30
When Groups are created –
In most cases, Report Builder and Report Designer automatically create a group for you when you design
a data region. For a table, matrix, or list, groups are created when you drop fields on the Grouping pane.
For a chart, groups are created when you drop fields on the chart drop-zones. For a gauge, you must use
the gauge properties dialog box. For a table, matrix, or list, you can also create a group manually.
Modifying a Group –
After you create a group, you can set data region-specific properties, such as filter and sort expressions,
page breaks, and group variables to hold scope-specific data.
To modify an existing group, open the appropriate group properties dialog box. You can change the name
of the group. Also, you can specify group expressions based on a single field or multiple fields, or on a
report parameter that specifies a value at run time. You can also base a group on a set of expressions, such
as the set of expressions that specify age ranges for demographic data.
Group organization –
Understanding group organization can help you design data regions that display different views of the
same data by specifying identical group expressions. Groups are internally organized as members of one
or more hierarchies for each data region. A group hierarchy has parent/child groups that are nested and
can have adjacent groups.
If you think of the parent/child groups as a tree structure, each group hierarchy is forest of tree structures.
A tablix data region includes a row group hierarchy and a column group hierarchy. Data associated with
row group members expands horizontally across the page and data associated with column group
members expands vertically down the page. The Grouping pane displays row group and column group
members for the currently selected tablix data region on the design surface.
A chart data region includes a category group hierarchy and a series group hierarchy. Category group
members are displayed on the category axis and series group members are displayed on the series axis.
Although typically not needed for gauge data regions, groups do let you specify how to group data to
aggregate on the gauge.
Types of Groups are Available per Data Region –
Data regions that expand as a grid support different groups than data regions that display summary data
visually. Thus, a tablix data region, and the tables, lists, and matrices that are based on the tablix data
region, support different groups than a chart or gauge.
31
Groups in a Tablix Data Region: Details, Row, and Column Groups – A tablix data region enables
you to organize data into groups by rows or columns. However, row and column groups are not the only
groups available in a tablix data region.
This data region can have the following types of groups –
 Details Group – The Details group consists of all data from a report dataset after Report Builder or
Report Designer apply dataset and data region filters. Thus, the Details group is the only group that
has no group expression.
Basically, the details group specifies the data that you would see when you run a dataset query in a
query designer. For example, you have a query that retrieves all columns from a sales order table.
Thus, the data in this detail group includes all the values for every row for all the columns in the table.
The data in this detail group also includes values for any calculated dataset fields that you have
created.
By default, when you add a table or list to your report, Report Builder and Report Designer
automatically create the Details group for you, and adds a row to display the detail data. By default,
when you add dataset fields to cells in this row, you see simple expressions for the fields, for example
[Sales]. When you view the data region, the details row repeats once for every value in the result set.
 Row groups and column groups - You can organize data into groups by rows or columns. Row
groups expand vertically on a page. Column groups expand horizontally on a page. Groups can be
nested, for example, group first by [Year], then by [Quarter], then by [Month]. Groups can also be
adjacent, for example, group on [Territory] and independently on [ProductCategory].
When you create a group for a data region, Report Builder and Report Designer automatically add
rows or columns to the data region and use these rows or columns to display group data.
Recursive hierarchy groups – A recursive hierarchy group organizes data from a single report dataset
that includes multiple levels. For example - a recursive hierarchy group could display an organization
hierarchy, [Employee] that reports to [Employee]. Reporting Services provides group properties and built-
in functions to enable you to create groups for this kind of report data.
The following summarizes the way you work with groups for each data region –
Table – Define nested row groups, adjacent row groups, and recursive hierarchy row groups (such as for
an organizational chart). By default, a table includes a details group. Add groups by dragging dataset
fields to the Grouping pane for a selected table.
Matrix – Define nested row and column groups, and adjacent row and column groups. Add groups by
dragging dataset fields to the Grouping pane for a selected matrix.
32
List – By default, supports the details group. Typical use is to support one level of grouping. Add groups
by dragging dataset fields to the Grouping pane for a selected list.
 Filters & Parameters –
A filter expression tests data for inclusion or exclusion based on a comparison that you specify. Filters are
applied to data in a report after the data is retrieved from a data connection. You can add any combination
of filters to the following items – a shared dataset definition on the report server, a shared dataset instance
or embedded dataset in a report, a data region such as a table or a chart, or a data region group, such as a
row group in a table or a category group in a chart.
Fig 4.5
Types of filters are –
 Dataset Filter. This is the most common: filtering within the source query. When you implement a
filter within the dataset, less data is sent over the network from the source database server to the
Report Server - usually a good thing.
 Report Filter. This includes filtering after the source query has come back – on a data region (like
the Tablix), or a data grouping. When you implement a filter within the report, when the report is re-
executed again with different parameter choices, the Report Server uses cached data rather than
returning to the database server. This is a viable option if you intentionally want to return all possible
data from the database server in the initial query. Keep in mind this could be far less performant if
the volume of data is high & the report won’t be re-executed numerous times.
33
Types of Parameters –
 Dataset Parameter – The purpose of a Dataset Parameter (aka Query Parameter) is to perform a filter
within the source query.
Fig 4.6
 Report Parameter - The Report Parameter properties contain all of the settings related to a parameter
(available values, default values etc). A Report Parameter might or might not be associated to a
Dataset Parameter. Unless it's hidden, the purpose of a Report Parameter is to interact with the user.
Fig 4.7
The vast majority of the time, a Report Parameter is associated to a Dataset Parameter – i.e., its purpose
is to filter the data being displayed based on the user’s selection. However, if a Report Parameter
is not bound to a Dataset Parameter, the Report Parameter could be used for all kinds of cool & creative
things related to layout, formatting, or actions.
34
Sometimes people refer to parameters synonymously with filters for a report. This is often true, but
parameters can be so much more. Filters are quite often based on a user choice, but they don’t have to
be.
The optional relationship between parameter & filter –
 A parameter can be bound to a filter, but it doesn’t have to be.
 A filter can be bound to a parameter, but it doesn’t have to be.
Other (non-filtering) uses for a parameter include things like –
 Hide/show report sections
 Provide conditional formatting
 Control sorting and grouping
 Choices for actions
Multiple Selection Parameters, Drop Down Parameters & Dependent Drop Down Parameters –
 To create a multiple selection parameters, make new data set which contains the field to be required in
parameter click on the allow multiple values checkbox in the parameter properties
Fig 4.8
 To add a drop down functionality, go to available values in the parameter properties and select and
click on get values from a query radio button and add data set, value field and label field to it.
35
Fig 4.9
 For creating dependent drop downs, make two more new data sets which contains the fields that are
required to show the dependency and the field on which they are dependent, For ex – DataSet 2
contains field Color_Name which is dependent on OC_Num , so OC_Num also needs to be added and
DataSet 3 contains field Size_Name which is dependent on OC_Num , so OC_Num also needs to be
added, refer to Fig 4.10
Fig 4.10
36
Give filters for all the parameters to the MainDataSet and add the filter of the parameter on which the
other parameters are dependent to their respective data sets. For ex – Size_Name and Color_Name are
dependent on OC_Num so, filter on OC_Num for both DataSet2 and DataSet3 is given.
Fig 4.11
 Sort expressions – A sort expression controls the order in which data appears in a data region. Sort
expressions are created automatically as you build the report layout. By default, a sort expression for a
group is set to the same value as the group expression. You can customize a sort expression after it is
created.
Fig 4.12
 Data Visualization –
The best way to present certain types of data is often in a chart, graph or other visual element because of
the way the human brain processes information, using charts or graphs to visualize large amounts of
complex data is easier than poring over spreadsheets or reports. These elements often allow the users to
spot trends or understand the data in a way that is much easier than trying to decipher rows and columns
full of numbers.
Importance of Data Visualization –
 It makes complex information easier to understand and use.
 It delivers information that is far too important to be displayed so poorly.
 Human Beings are pattern seekers & 70% of all sense receptors are in there eyes.
 Their Eyes and brain are powerful parallel processor.
37
Chart – A chart data region operates just like any other data region and uses groups, query parameters,
and filters much the same way as a table, list or matrix. Nonetheless, charts contain some unique
characteristics that separate them from the other data regions.
The chart data of Reporting Services is organized into three main areas: values, category groups
and series groups –
 Category groups are distributed along the x-axis or horizontal axis.
 Values are shown along the y-axis or vertical axis.
 Y-axis values must be a numeric data type.
 A chart, like any other data region, is attached to one particular dataset.
 You can group data within each axis.
 At minimum, a chart should have one aggregated field for the value and one grouped field for the
category.
Chart types –
 Column – A column chart is a graphic representation of data. Column charts display vertical bars
going across the chart horizontally, with the values axis being displayed on the left side of the chart.
 Line – A line chart or line graph is a type of chart which displays information as a series of data points
called 'markers' connected by straight line segments.
 Shape – Shape charts use shapes to represent the data. The particular shape is divided into sectors that
each represent a proportion of the whole. They use the following shapes – pie, doughnut, pyramid &
funnel.
 Bar – A bar chart is a chart that presents grouped data with rectangular bars with lengths proportional
to the values that they represent. The bars are plotted horizontally.
If it is plotted vertically, a vertical bar chart is called as column chart.
 Area – An area chart or area graph displays graphically quantitative data. It is based on the line chart.
The area between axis and line are commonly emphasized with colors, textures and hatchings
 Range – A range chart type displays a set of data points that are each defined by multiple values for
the same category. Values are represented by the height of the marker as measured by the value axis.
Category labels are displayed on the category axis. The plain range chart fills in the area between the
top and bottom value for each data point.
 Scatter – A scatter plot is a type of plot or mathematical diagram using Cartesian coordinates to
display values for typically two variables for a set of data. If the points are color-coded you can
increase the number of displayed variables to three.
38
 Polar – A system of coordinates in which the location of a point is determined by its distance from a
fixed point at the center of the coordinate space (called the pole), and by the measurement of the angle
formed by a fixed line (the polar axis, corresponding to the x – axis in Cartesian coordinates) and a
line from the pole through the given point. The polar coordinates of a point are given as (r, θ), where r
is the distance of the point from the pole and θ is the measure of the angle.
Fig 4.13
Indicators – Indicators are a way of providing immediate visual clues about the status of something,
while bar charts are a nice way to compare things to each other, sometimes you want to know the status of
things right now so you can take immediate action. Are sales up or down right now? Is there an inventory
shortage? By using indicators, you can provide those immediate clues to users that allow them to see the
status and then look at the details.
The benefits of indicators are –
 Trends by using trending-up, flat (no change) or trending-down arrows
 State by using commonly recognized symbols, such as checkmarks and exclamation marks
 Conditions by using commonly recognized shapes, such as traffic lights and signs
 Ratings by using commonly recognized shapes and symbols that show progress, such as number of
quadrants in a square and stars
39
Indicator types –
 Directional – The Directional Indicator is a momentum indicator which attempts to quantify the
trending or directional behavior of a market. It is one of the best trend following indicator in technical
analysis. It helps identify trends and whether or not price is moving quickly enough to be worth a long
or short play.
 Symbols – Indicates states using commonly recognized symbols such as checkmarks and exclamation
marks.
 Shapes – Indicates conditions using commonly shapes such as traffic signs and diamond shapes.
 Rating – Indicates ratings by using common recognized shapes and symbols that show progressive
values such as number of quadrants in a square.
Fig 4.14
Maps – The new Map Wizard in Report Builder allow us to add maps and map layers to our reports. Once
map elements are related with report data, we can control color, size, width, or marker type on any given
layer, as well as add labels, legends, titles, a color scale, and a distance scale to help assist users in
interpreting the map display.
Moreover, we can add interactive features, such as tooltips or provide parameters that enable a user to
interactively control the visibility of each layer, and much more.
40
Fig 4.15
Sparkline and Data Bars – Sparkline and Data Bars have the basic chart elements of categories, series,
and values, but they have no legend, axis lines, labels, or tick marks. Both are simple charts used to
convey much information in a little space and they can be easily used within matrices and tables.
Sparkline and Data Bars are most effective when many of them are presented together, for rapid visual
comparison. Each Sparkline often represents multiple data points over time. Because Sparkline display
aggregated data, they must go in a cell that is associated with a group. By contrast, Data Bars can
represent multiple data points, but typically illustrate only one (with each Data Bar representing a single
series).
Fig 4.16
41
Sparkline types –
 Column
 Line
 Area
 Shape
 Range
Data Bar types –
 Data Bar
 Data Column
Gauge – In Reporting Services paginated reports, a gauge data region displays a single value from your
dataset. An individual gauge is always positioned inside a gauge panel, where you can add child or
adjacent gauges. Inside a single gauge panel, you can create multiple gauges that share common functions
such as filtering, grouping, or sorting.
Gauge types –
 Radial Gauge – The radial gauge is typically used when you want to express the data as a velocity.
 Linear Gauge – The linear gauge is used to express the data as a temperature.
Fig 4.17
42
Chapter 5
PROJECT – DELIVERY PERFORMANCE SCORE CARD
Objective – To create a report to show the percentage of on-time deliveries and delayed deliveries in the
organization for the selected period of time and to also show the top and least 5 performers based on their on-
time delivery percentage.
Scope – Business organizations need to understand how they are performing by continuously assessing and
reporting their set target, goals and objectives and making adjustments where necessary. Carrying out business
processes blindfolded can plunge an entity into pitfalls since it is not able to measure its key metrics. To
enhance business process optimization, there are different parameters, which need to be measured and reported
and these are such as rate of inventory turnover, customer satisfaction, key financial aspects like sales,
expenditure and profits, as well as production output.
The following are top reasons why companies need performance reporting in their business processes –
 Set benchmark for improved performance
 Measure, control and monitor the workforce
 Learn and enhance performance
 Improves communication among investors, managers, subordinates and customers
Tool Used – Microsoft’s SQL Server Reporting Services (SSRS)
Data Model Used – ModelOPROCR
Functions Used–
 Iif – Returns one of two objects, depending on the evaluation of an expression.
Ex – • IIf(Fields!YearlyIncome.Value >= 60000,"High","Low")
 CountDistinct – Returns a count of all distinct values from the specified expression.
Ex – • CountDistinct(Fields!MiddleInitial.Value)
• CountDistinct(Fields!MiddleInitial.Value,"GroupByInitial")
 DataDiff – Returns a Long value specifying the number of time intervals between two date values.
Ex – • DateDiff("yyyy",Fields!BirthDate.Value,"1/1/2010")
• DateDiff(DateInterval.Year,Fields!BirthDate.Value,"1/1/2010"
 MonthName – Returns a String value containing the name of the specified month.
Ex – • MonthName(Month(Fields!BirthDate.Value),True)
43
• "The month of your birthday is" & MonthName(Month(Fields!BirthDate.Value))
Making of the Report –
 Addition of data source by selecting a data model from server –
Data source used – Model OPROCR
 Addition of data set by adding fields to it from the data model using query designer –
Data set created – MainDataSet
Fields Used – Buyer_Name, Total_Ordered_Qty, Proforma_Invoice_Num, OC_Delivery_Date,
Latest_ETD_Date
 Buyer – Professional purchaser specializing in a specific group of materials, goods or services and
experienced in market analysis, purchase negotiations, bulk buying and delivery coordination.
 Total Order Quantity – It is the total quantity required by the buyer, placed against a particular
product.
 Pro-forma Invoice Number – An estimated invoice sent by a seller to a buyer in advance of a shipment
or delivery of goods, their value, and other important information such as weight and transportation
charges. Pro forma invoices are commonly used as preliminary invoices with a quotation, or for customs
purposes in importation. They differ from a normal invoice is not being a demand or request for
payment.
 OC Delivery Date – Date of the order dispatch from the factory.
 ETD Date – Data and time at which a shipment is expected to depart from a named city or port. Also
called expected time of departure.
 Creation of parameters –
 Date_From parameter – to select the starting date of the report
 Date_To parameter – to select the end date of the report
The report will show data from the date selected in Date_From parameter to the date selected in Date_to
parameter.
 Creation of table showing deliveries - On-time % and Delay % w.r.t number of days –
44
Fig 5.1
Created a column group on OC_Delivery_Date and used the function MonthName with it.
Placed all the following expressions under it-
 OTP % expression –
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Delay 0 – 7 days expression –
(CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>0 AND
DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=7,Fields!Proforma_Invoice_Num.Value,
Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Delay 8 – 14 days expression –
(CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>7 AND
DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=14,Fields!Proforma_Invoice_Num.Value
,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Delay 15 – 30 days expression –
(CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>12 AND
DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=30,Fields!Proforma_Invoice_Num.Valu e
,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Delay > 30 days expression –
(CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>30,Fields!Proforma_Inv
oice_Num.Value,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Creation of a line chart showing OTP % categorized by months –
45
Fig 5.2
 Value expression –
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Category group label – MonthName(Month(Fields!OC_Delivery_Month.Value))
 Group on – OC_Delivery_Month
 Custom legend text – "OTP % - "&Cstr(Parameters!Date_From.Value)&" To "&Cstr(Parameters!Date_To.Value)
 Creation of a radial gauge –
Fig 5.3
 Value expression –
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
46
 Creation of Least 5 Performers table –
Fig 5.4
Created a row group on Buyer_Name and placed all the following expressions in it –
 OTP % expression –
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 On – Time expression –
CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))
 Total Orders – CountDistinct(Fields!Proforma_Invoice_Num.Value)
 Sparkline –
 Value expression –
CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))
 Category group label – Fields!OC_Delivery_Month.Value
 Group on – OC_Delivery_Month
To show the least 5 performers a filter was added on the row group used in the table and then sorting is
done –
 Addition of a filter
Fig 5.5
47
 Expression – (OTP %)
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Sorting
Fig 5.6
 Expression – (OTP %)
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Creation of Top 5 Performers table –
Fig 5.7
Created a row group on Buyer_Name and placed all the following expressions in it –
 OTP % expression –
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 On – Time expression –
CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))
 Total Orders – CountDistinct(Fields!Proforma_Invoice_Num.Value)
 Sparkline –
 Value expression –
48
CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))
 Category group label – Fields!OC_Delivery_Month.Value
 Group on – OC_Delivery_Month
To show the top 5 performers a filter was added on the row group used in the table and sorting is done –
 Addition of a filter
Fig 5.8
 Expression – (OTP %)
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
 Sorting
Fig 5.9
 Expression – (OTP %)
(CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value,
Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
Final Report – Delivery Performance Scorecard
49
Fig 5.10
Chapter 6
Secondary Research – Apparel Manufacturing Industry
The practice of producing clothing and accessories for consumers. Apparel manufacturing workers perform a
variety of tasks including cutting and stitching textiles and other types of materials. Most of them work in
apparel manufacturing plants. These workers may handle only one task in the production process, instead of
performing all the work necessary to create a piece of clothing. The clothing industry hires an array of workers
specific to the industry. These include pattern makers, fashion designers, sewing machine operators, cutters and
finish presses.
Pattern makers are seasoned workers who transform the model created by the designer into several pieces of
patterns needed to cut a cloth from textile. In making patterns, they use a computer program to sketch the parts
and develop clothing of different sizes. Trimmers and cutters use these patterns to cut the needed materials. This
can be done with the use of an electric knife. When cutting delicate materials, they use scissors and cut them by
hand. Some advanced manufacturing industries use mechanized equipment to cut fabric. Sewing machine
50
operators connect the parts of a garment and append zippers, buttons, and decorations. Other apparel
manufacturing workers function as inspectors, packers, and many other duties related to preparing clothing for
sale.
Different Departments in an apparel industry –
 Merchandising Department
 Sampling Department
 Fabric Store Department
 Accessory Stores Department
 Spreading and Cutting Department
 Sewing Department
 Washing Department
 Quality Assurance Department
 Finishing and Packaging Department
 Maintenance Department
 Finance and Accounts Department
 HR/Admin Department
51
Fig 6.1
Process flow garment manufacturing –
The flow of the process in garment manufacturing can be defined in following steps –
1. Buyer Supplier Meeting
2. Production order placement
3. Sampling
4. Bill of Materials (BOM) generation for PO
5. Raw material procurement
6. Raw material inspection
7. Fabric washing
8. Pre - production sample
9. Production
10. Shipment sample
11. Finishing
12. Packing
13. Shipment
Fig 6.2

More Related Content

What's hot

Mini lathe machine project
Mini lathe machine projectMini lathe machine project
Mini lathe machine projectagumascheklie1
 
Industrial Training
Industrial TrainingIndustrial Training
Industrial Trainingudara65
 
Wioska moldings private limited
Wioska moldings private limitedWioska moldings private limited
Wioska moldings private limitedAkhilendra Shukla
 
WMO Summer Training Report 2011
WMO Summer Training Report 2011WMO Summer Training Report 2011
WMO Summer Training Report 2011Varun Chopra
 
Mini CNC (Router Machine)
Mini CNC (Router Machine)Mini CNC (Router Machine)
Mini CNC (Router Machine)Amir Dawa
 
Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Sahab Assas Ajaz
 

What's hot (6)

Mini lathe machine project
Mini lathe machine projectMini lathe machine project
Mini lathe machine project
 
Industrial Training
Industrial TrainingIndustrial Training
Industrial Training
 
Wioska moldings private limited
Wioska moldings private limitedWioska moldings private limited
Wioska moldings private limited
 
WMO Summer Training Report 2011
WMO Summer Training Report 2011WMO Summer Training Report 2011
WMO Summer Training Report 2011
 
Mini CNC (Router Machine)
Mini CNC (Router Machine)Mini CNC (Router Machine)
Mini CNC (Router Machine)
 
Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.Civil Engineering Summer Training Report at RITES Ltd.
Civil Engineering Summer Training Report at RITES Ltd.
 

Viewers also liked

Presentación informática función si, y, o
Presentación informática función si, y, oPresentación informática función si, y, o
Presentación informática función si, y, oIbeth Coral
 
IDCC 706 accord du 14 avril 2016
IDCC 706 accord du 14 avril 2016IDCC 706 accord du 14 avril 2016
IDCC 706 accord du 14 avril 2016Société Tripalio
 
Explotacion minera en Lota y Coronel
Explotacion minera en Lota y CoronelExplotacion minera en Lota y Coronel
Explotacion minera en Lota y CoronelEducagratis
 
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방dasom52
 
European Pricing Summit
European Pricing SummitEuropean Pricing Summit
European Pricing SummitTorben Haagh
 

Viewers also liked (10)

Seabed survey in Dubai
Seabed survey in DubaiSeabed survey in Dubai
Seabed survey in Dubai
 
Presentación informática función si, y, o
Presentación informática función si, y, oPresentación informática función si, y, o
Presentación informática función si, y, o
 
2 juego y educacion inicial
2 juego y educacion inicial2 juego y educacion inicial
2 juego y educacion inicial
 
IDCC 706 accord du 14 avril 2016
IDCC 706 accord du 14 avril 2016IDCC 706 accord du 14 avril 2016
IDCC 706 accord du 14 avril 2016
 
Explotacion minera en Lota y Coronel
Explotacion minera en Lota y CoronelExplotacion minera en Lota y Coronel
Explotacion minera en Lota y Coronel
 
DARREN CV
DARREN CVDARREN CV
DARREN CV
 
TRABAJO PRACTICO N°7
TRABAJO PRACTICO N°7TRABAJO PRACTICO N°7
TRABAJO PRACTICO N°7
 
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방
청주휴게텔≪다솜넷≫부천오피≪목동건마,부천오피방
 
European Pricing Summit
European Pricing SummitEuropean Pricing Summit
European Pricing Summit
 
Dramatización
DramatizaciónDramatización
Dramatización
 

Similar to Project Documentation New

“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”Sudipta Das
 
Dabur Visual Merchnadising Report
Dabur Visual Merchnadising ReportDabur Visual Merchnadising Report
Dabur Visual Merchnadising Reportsa_kiv
 
Summer Training Report
Summer Training ReportSummer Training Report
Summer Training ReportPrateek Dubey
 
International innovators business plan
International innovators business planInternational innovators business plan
International innovators business planjitharadharmesh
 
3 openerp hr-book.complete
3 openerp hr-book.complete3 openerp hr-book.complete
3 openerp hr-book.completeopenerpwiki
 
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation PortalCapstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation PortalAkshit Arora
 
Student declaration, table of content, acknowledge
Student declaration, table of content, acknowledgeStudent declaration, table of content, acknowledge
Student declaration, table of content, acknowledgeAlok Chaudhary
 
Develop a first business process application
Develop a first business process applicationDevelop a first business process application
Develop a first business process applicationBonitasoft
 
Sample SEMPO State of Search Marketing Report 2012
Sample SEMPO State of Search Marketing Report 2012Sample SEMPO State of Search Marketing Report 2012
Sample SEMPO State of Search Marketing Report 2012João Caetano
 
Excellence in customer service award malek mohammed ghazo
Excellence in customer service award  malek mohammed ghazo Excellence in customer service award  malek mohammed ghazo
Excellence in customer service award malek mohammed ghazo Malek Ghazo
 
Software Requirement Specification on Online Purchasing System
Software Requirement Specification on Online Purchasing SystemSoftware Requirement Specification on Online Purchasing System
Software Requirement Specification on Online Purchasing Systemsabafarheen
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]Rajon
 
LPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportLPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportNandu B Rajan
 
online examination management system
online examination management systemonline examination management system
online examination management systemPraveen Patel
 
9607 guideto supplierdevelopment
9607 guideto supplierdevelopment9607 guideto supplierdevelopment
9607 guideto supplierdevelopmentSherri Dobroskay
 
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...Govindarajan Chittaranjan
 

Similar to Project Documentation New (20)

“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”“Management of Large and Complex Software Projects”
“Management of Large and Complex Software Projects”
 
Dabur Visual Merchnadising Report
Dabur Visual Merchnadising ReportDabur Visual Merchnadising Report
Dabur Visual Merchnadising Report
 
Summer Training Report
Summer Training ReportSummer Training Report
Summer Training Report
 
International innovators business plan
International innovators business planInternational innovators business plan
International innovators business plan
 
Mobile d
Mobile dMobile d
Mobile d
 
3 openerp hr-book.complete
3 openerp hr-book.complete3 openerp hr-book.complete
3 openerp hr-book.complete
 
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation PortalCapstone Report - Industrial Attachment Program (IAP) Evaluation Portal
Capstone Report - Industrial Attachment Program (IAP) Evaluation Portal
 
Student declaration, table of content, acknowledge
Student declaration, table of content, acknowledgeStudent declaration, table of content, acknowledge
Student declaration, table of content, acknowledge
 
Develop a first business process application
Develop a first business process applicationDevelop a first business process application
Develop a first business process application
 
Sample SEMPO State of Search Marketing Report 2012
Sample SEMPO State of Search Marketing Report 2012Sample SEMPO State of Search Marketing Report 2012
Sample SEMPO State of Search Marketing Report 2012
 
Excellence in customer service award malek mohammed ghazo
Excellence in customer service award  malek mohammed ghazo Excellence in customer service award  malek mohammed ghazo
Excellence in customer service award malek mohammed ghazo
 
project report erp
project report erpproject report erp
project report erp
 
Software Requirement Specification on Online Purchasing System
Software Requirement Specification on Online Purchasing SystemSoftware Requirement Specification on Online Purchasing System
Software Requirement Specification on Online Purchasing System
 
Chat Application [Full Documentation]
Chat Application [Full Documentation]Chat Application [Full Documentation]
Chat Application [Full Documentation]
 
Business IT Project
Business IT ProjectBusiness IT Project
Business IT Project
 
LPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] ReportLPG Booking System [ bookmylpg.com ] Report
LPG Booking System [ bookmylpg.com ] Report
 
online examination management system
online examination management systemonline examination management system
online examination management system
 
9607 guideto supplierdevelopment
9607 guideto supplierdevelopment9607 guideto supplierdevelopment
9607 guideto supplierdevelopment
 
Business Plan Example
Business Plan Example Business Plan Example
Business Plan Example
 
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...
COMPUTERIZED GALLERY SYSTEMS Automation Project_CS_CODES_Govindarajan_A_Chitt...
 

Project Documentation New

  • 1. On-Time Delivery Performance based on Factory A SUMMER INTERN PROJECT REPORT Submitted by Anurag Rana Roll No. – 03111503013 in partial fulfillment of Summer Internship for the award of the degree of BACHELOR OF TECHNOLOGY in Instrumentation and Control Engineering BHARATI VIDYAPEETH'S COLLEGE OF ENGINEERING, NEWDELHI A - 4, PASCHIM VIHAR, ROHTAK ROAD, NEW DELHI- 110063 July 2016
  • 2. 2 <<Name of the Organization>> <<Postal address>> CERTIFICATE This is to certify that the summer internship project report on “On-Time Delivery Performance based on Factory” is the bona fide work of Anurag Rana, Roll No: 03111503013, for the award of the Bachelor of Technology degree in Instrumentation and Control Engineering from Guru Gobind Singh Indraprastha University for the Batch 2013 – 2017 carried out under my supervision during 13/06/2016 to 22/07/2016. Place – World Fashion Exchange (India) Pvt.Ltd. B-13, Info City, Sector-34, Gurgaon -122001. Tel: +91-124-4912200 Date – 22/07/2016 Mr. Anjul Popat Business Analytics Consultant
  • 3. 3 DECLARATION I undersigned Anurag Rana student of B - Tech 7th semester declare that I have done the project on “On-Time Delivery Performance based on Factory” under the guidance of Mr. Anjul Popat for the award of the Bachelor of Technology degree in Instrumentation and Control Engineering from Guru Gobind Singh Indraprastha University for the Batch 2013 – 2017. All the data represented in this project is true & correct to the best of my knowledge & belief. I also declare that this project report is my own preparation and not copied from anywhere else. Date 22-7-2016 (Anurag Rana) Signature
  • 4. 4 ACKNOWLEDGEMENT I take this opportunity to express my deep sense of gratitude, thanks and regards towards all of those who have directly or indirectly helped me in the successful completion of this project. I present my sincere thanks to Mr. Ankit Gaur (Vice President) who allowed me to take training at World Fashion Exchange. It would be unthinkable for me not to say something special for my mentor at World Fashion Exchange, Mr. Anjul Popat, who has continually helped and guided me. It is due to his efforts that my project has gained its present stature and I can never thank him enough for all he has done. I would also like to thank World Fashion Exchange Employees for their wonderful support & inspirable guiding. Last but not the least I am indebted to my PARENTS who provided me their time, support and inspiration needed to prepare this report.
  • 5. 5 Table of Contents Title Page………………………………………………………………………………………............................i Certificate..……………………………………………………………………………………………………….ii Declaration.……………………….……………………………………………………………………………...iii Acknowledgement………………………………………………………………………………………………..iv List of Figures………………………………………………………………………………...…………………..v List of Tables………………………………………………………………………………………………….....vii Chapter 1:Introduction about the company…………………………………………………………………..10 Chapter 2:Data Base Management System…………………………………………………..........................13 2.1: SQL …………………………………………………………………………………………..13 2.1.1: SQL Keys………………………………………………………………...……………14 2.1.2: Joins in SQL………………………………………………………………...…………16 2.2: Clustered and Non Clustered Indexing………………………………………………………..17 Chapter 3:Business Intelligence………………………………………………………………………...……20 3.1: SQL Server Integration Service………………………………………………………………20 3.2: SQL Server Analysis Service…………………….…………………………………………..21 3.3: SQL Server Reporting Service…………………………………………………………...…..23 3.3.1: SSRS in the Report Development Life Cycle………………………………………....24 Chapter 4:Report Builder…………………………………………………………………….........................27 4.1: Data Source…………………………………………………………………………………...27 4.2: Data Set……………………………………………………………………………………….27 4.3: Table/Matrix………………………………………………………………………………….27 4.4: Grouping – Parent and child groups…………………………………………………………..29 4.5: Filters and Parameters………………………………………………………………………32 4.6: Data Visualization…………………………………………………………………………..36
  • 6. 6 Chapter 5: Project – Delivery Performance Score Card…………………………………………………….42 5.1: Making of a Report…………………………………………………………………………42 Chapter 6: Secondary Research – Apparel Manufacturing Industry………………………………………....49
  • 7. 7 List of Figures Fig 2.1 SQL keys………………………………………………………………………………………………...14 Fig 2.2 Defining primary and foreign keys………………………………………………………………………16 Fig 3.1 ETL block diagram………………………………………………………………………………………21 Fig 3.2 Types of data models…………………………………………………………………………………….22 Fig 3.3 SSRS architecture………………………………………………………………………………………..23 Fig 3.4 Life cycle of a report………………………………………………………………………………….....25 Fig 4.1 Table……………………………………………………………………………………………………..28 Fig 4.2 Matrix……………………………………………………………………………………………………28 Fig 4.3 List……………………………………………………………………………………………………….29 Fig 4.4 Row and column grouping………………………………………………………………………………29 Fig 4.5 Data set filter…………………………………………………………………………………………….32 Fig 4.6 Data set parameter……………………………………………………………………………………….33 Fig 4.7 Report parameter………………………………………………………………………………………...33 Fig 4.8 Multiple selection parameter..…………………………………………………………………………...34 Fig 4.9 Drop down parameter…..………………………………………………………………………………..35 Fig 4.10 Filters on main data set…………………………………………………………………………………35 Fig 4.11 Filters on data set 2 and data set 3……………………………………………………………………...36 Fig 4.12 Sorting by OC_Delivery_Month……………………………………………………………………….36 Fig 4.13 Types of chart…………………………………………………………………………………………..38 Fig 4.14 Types of indicator…………………………………………………………………………………….. .39
  • 8. 8 Fig 4.15 Map……………………………………………………………………………………………………..40 Fig 4.16 Data bars and spark lines………………………………………………………………...……………..40 Fig 4.17 Types of gauge………………………………………………………………………………………….41 Fig 5.1 Table showing OTP and delay %..............................................................................................................43 Fig 5.2 Line chart showing OTP % month wise…………………………………………………………………44 Fig 5.3 Gauge showing OTP %.............................................................................................................................45 Fig 5.4 Least 5 performers table…………………………………………………………………………………45 Fig 5.5 Filter for least performers………………………………………………………………………………..46 Fig 5.6 Sorting for least performers……………………………………………………………………………...46 Fig 5.7 Top 5 performers table…………………………………………………………………………………..47 Fig 5.8 Filter for top performers…………………………………………………………………………………47 Fig 5.9 Sorting for top performers….…...……………………………………………………………………….48 Fig 5.10 Delivery Performance Scorecard……………………………………………………………………….48 Fig 6.1 Departments in apparel industry...……………………………………………………………………….50 Fig 6.2 Process flow in garment manufacturing...……………………………………………………………….51
  • 9. 9 List of Tables Table 2.1 Difference between primary and foreign key…………………………………………………………15 Table 2.2 Difference between primary and unique key………………………………………………………….15 Table 2.3 Customers table………………………………………………………………………………………..17 Table 2.4 Orders table…………………………………………………………………………………………....17 Table 2.5 Joined table……………………………………………………………………………………………17
  • 10. 10 Chapter 1 INTRODUCTION World Fashion Exchange (WFX) is a global software organization, catering specifically to the fashion industry. WFX provides customizable web-based software solutions, which completely and efficiently manage the product life cycle. WFX provides web-based, enterprise wide software solutions, designed for the Fashion Industry - Apparel, Footwear, Home Furnishings etc. WFX provides fashion software solutions for retail, wholesale, import/export, trading and manufacturing businesses to manage their day-to-day processes and functions. WFX offers its customers and partners, reliability, experience, security, in-depth knowledge and unmatched domain knowledge of the fashion industry through its apparel software management solutions. WFX Clients include Brands, Retailers, Wholesalers, Buying Agents, Apparel manufacturers and Exporters. Vision – To be the leading integrated software solutions provider for fashion, with a dominant presence in the apparel industry. MissionStatement – To strive towards total customer satisfaction by empowering customers with easy-to-use software solutions that reduces their business costs and increase profitability. WFX Solutions – WFX solutions create a global environment of 'Total Collaboration' between its users and their business partners. It is totally customizable, easy-to-use and designed to easily integrate with existing systems. WFX solutions are developed on industrial strength and proven best-of-breed Internet technologies, enabling WFX clients to collaborate with their business partners in real-time. It consists of modules that can be implemented independently, at the same time, are fully integrated to effectively manage all areas - from product development to sales and from sourcing to production. After conducting business diagnostics, WFX offers its clients customized Product Lifecycle Management - PLM, Product Data Management - PDM, Enterprise Resource Planning - ERP II, Supply Chain Management -
  • 11. 11 SCM or WFX Partner solutions which enable them to work in a collaborative environment within their organization as well as with their business partners. Fashion businesses worldwide use WFX apparel software management products for business management and planning activities. As fashion design software has only limited functionality of creating product designs, a more comprehensive solution is required to manage all the business activities as the product goes into development, sampling, ordering etc. stages. Fashion companies use fashion design software and apparel design software to create design sketches but rarely have effective apparel software management tools for complete Product data management and related activities to manage the entire product lifecycle. WFX offers the most comprehensive software solutions for the Fashion Industry - Apparel, Footwear, Furnishings etc., allowing for the efficient exchange of information, business transactions and services among global business partners via the Internet. Among the first few companies employ Microsoft.NET Technologies, WFX's web-based applications can be accessed anytime from anywhere, using the Internet. Its collaborative business flow across multiple organizations makes it a powerful tool for any global fashion company. WFX Web Product Data Management - PDM, Web Product Lifecycle Management - PLM, Web Enterprise Resource Planning - ERP II, Web Supply Chain Management - SCM and Web EDI solutions are used by brands, retailers, suppliers and agents all over the world, empowering users in many organizations by giving them smarter software solutions and better business control. ERP – Enterprise Resource Planning (ERP) is business process management software that allows an organization to use a system of integrated applications to manage the business and automate many back office functions related to technology, services and human resources. PLM – Product Lifecycle Management (PLM) is a process or system used to manage the data and design process associated with the life of a product from its conception and envisioning through its manufacture, to its retirement and disposal. PLM manages data, people, business processes, manufacturing processes, and anything else pertaining to a product. A PLM system acts as a central information hub for everyone associated with a given product, so a well-managed PLM system can streamline product development and facilitate easier communication among those working on/with a product
  • 12. 12 PDM – Product Data Management (PDM) is the use of software to manage product data and process-related information in a single, central system. This information includes computer-aided design (CAD) data, models, parts information, manufacturing instructions, requirements, notes and documents. SCM – Supply Chain Management (SCM) is the management of the flow of goods and services. It includes the movement and storage of raw materials, work-in-process inventory, and finished goods from point of origin to point of consumption. EDI – Electronic Data Interchange (EDI) is the transfer of data from one computer system to another by standardized message formatting, without the need for human intervention. EDI permits multiple companies -- possibly in different countries -- to exchange documents electronically.
  • 13. 13 Chapter 2 DATA BASE MANAGEMENT SYSTEM Database – A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information. Database Management Systems (DBMS) – They are specially designed software applications that interact with the user, other applications and the database itself to capture and analyze data. A general-purpose DBMS is a software system designed to allow the definition, creation, querying, update and administration of databases. Some common DBMS are - MySQL, PostgreSQL, Microsoft Access, SQL Server, FileMaker, Oracle, RDBMS, dBASE, Clipper, and FoxPro Structured Query Language (SQL) - It is a computer language for storing, manipulating and retrieving data stored in relational database. SQL is the standard language for Relation Database System. All relational database management systems like MySQL, MS Access, Oracle, Sybase, Informix, PostgreSQL and SQL Server use SQL as standard database language. The standard SQL commands can be classified into groups based on their nature -  DDL - Data Definition Language – • CREATE - Creates a new table, a view of a table, or other object in database • ALTER - Modifies an existing database object, such as a table. • DROP - Deletes an entire table, a view of a table or other object in the database  DML- Data Manipulation Language – • SELECT - Retrieves certain records from one or more tables • INSERT - Creates a record • UPDATE - Modifies records • DELETE - Deletes records  DCL - Data Control Language – • GRANT - Gives a privilege to user • REVOKE - Takes back privileges granted from user
  • 14. 14 SQL Keys - Key - A key is a single or combination of multiple fields in a table. It is used to fetch or retrieve records/data- rows from data table according to the condition/requirement. Keys are also used to create relationship among different database tables or views. Fig 2.1 Types of keys -  Super Key - Super key is a set of one or more than one keys that can be used to identify a record uniquely in a table. Example: Primary key, Unique key, Alternate key are subset of Super Keys.  Candidate Key - A Candidate Key is a set of one or more fields/columns that can identify a record uniquely in a table. There can be multiple Candidate Keys in one table. Each Candidate Key can work as Primary Key. Example: In diagram ID, RollNo and EnrollNo are Candidate Keys since all these three fields can be work as Primary Key.  Primary Key - Primary key is a set of one or more fields/columns of a table that uniquely identify a record in database table. It cannot accept null, duplicate values. Only one Candidate Key can be Primary Key.  Foreign Key - Foreign Key is a field in database table that is Primary key in another table. It can accept multiple null, duplicate values. Example: We can have a DeptID column in the Employee table which is pointing to DeptID column in a department table where it a primary key  Alternate Key - An Alternate key is a key that can be work as a primary key. Basically it is a candidate key that currently is not primary key. Example: In below diagram Roll No. and Enroll No. becomes Alternate Keys when we define ID as Primary Key.  Composite/Compound Key - Composite key is a combination of more than one fields/columns of a table. It can be a Candidate key, Primary key.
  • 15. 15  Unique Key - Unique key is a set of one or more fields/columns of a table that uniquely identify a record in database table. It is like Primary key but it can accept only one null value and it cannot have duplicate values.  Surrogate Key - A surrogate key is simply a key that stands for something else. We use one when it is a better design or is simply more convenient. It is a meaningless integer that is generated automatically by the database management software, such as Oracle or SQL Server. The values are usually consecutive integers, starting with 1,2,3,4 and so on. The benefit of this approach is that it avoids the occurrence of primary keys with too many fields if more dependent tables occur where they cascade downwards Difference between Primary key & Foreign key – Table 2.1 Primary Key Foreign Key It uniquely identifies a record in table. It is a field in table that is primary key in another table. It can’t accept null values. It can accept multiple null values. By default primary key is clustered indexed & data in data base table is physically organized in the sequence of clustered indexed. Foreign key do not automatically creates an index, clustered or non – clustered. You can manually create an index on foreign key. We can have only one primary key in a table. We can have more than one foreign key in a table. Difference between Primary key & Unique key – Table 2.2 Primary Key Unique Key It can’t accept null values. It can accept only one null value. By default primary key is clustered indexed & data in data base table is physically organized in the sequence of clustered indexed. By default unique key is unique non – clustered indexed. We can have only one primary keys in table. We can have more than one unique key in a table. It can be made foreign key in another table. In SQL server, it can be made foreign key in another table.
  • 16. 16 Defining Primary & Foreign keys – Fig 2.2 Joins in SQL – The SQL Joins clause is used to combine records from two or more tables in a database. A JOIN is a means for combining fields from two tables by using values common to each. SQL Join types –  INNER JOIN: The default join that returns only the matching records in both table  LEFT JOIN: Return all rows from the left table, and the matched rows from the right table  RIGHT JOIN: Return all rows from the right table, and the matched rows from the left table  FULL OUTER JOIN: Return all rows from the left table and from the right table.  SELF JOIN: It is used to join a table to itself as if the table were two tables, temporarily renaming at least one table in the SQL statement.  CARTESIAN JOIN: Returns the Cartesian product of the sets of records from the two or more joined tables
  • 17. 17 Consider the following two tables – a) Customers – Table 2.3 ID Name Age Address Salary 1 Ramesh 32 Ahmedabad 2000 2 Khilan 25 Delhi 1500 3 Kaushik 23 Kota 2000 4 Chaitali 25 Mumbai 6500 5 Hardik 27 Delhi 8500 6 Komal 22 MP 4500 7 Muffy 24 Indore 10000 b) Orders – Table 2.4 OID Date Customer_ID Amount 102 2009-10-08 3 3000 100 2009-10-08 3 1500 101 2009-11-20 2 1560 103 2008-05-20 4 2060 Now let us join these two tables in our SELECT statement – SQL > SELECT ID, Name, Age, Amount FROM Customers ,Orders WHERE Customers.ID = Orders.Customer_ID; The result would be – Table 2.5 ID Name Age Amount 3 Kaushik 23 3000 3 Kaushik 23 1500 2 Khilan 25 1560 4 Chaitali 25 2060
  • 18. 18 Clustered and Non Clustered Indexing – Cluster Index - A clustered index determines the order in which the rows of a table are stored on disk. If a table has a clustered index, then the rows of that table will be stored on disk in the same exact order as the clustered index. Example - Suppose we have a table named Employee which has a column named EmployeeID. Let’s say we create a clustered index on the EmployeeID column. Then all of the rows inside the Employee table will be physically sorted (on the actual disk) – by the values inside the EmployeeID column. This means that whenever a search for a sequence of EmployeeID’s is done using that clustered index, then the search will be much faster because of the fact that the sequence of EmployeeID’s are physically stored right next to each other on disk – that is the advantage with the clustered index. This is because the rows in the table are sorted in the exact same order as the clustered index, and the actual table data is stored in the leaf nodes of the clustered index. An index is usually a tree data structure – and leaf nodes are the nodes that are at the very bottom of that tree. When would using a clustered index make sense? Suppose we have a table named Owners and a table named Cars. Owner – Cars – Owner_Name Car Type Owner_Age Owner Name Let’s assume that a given owner can have multiple cars – so a single Owner_Name can appear multiple times in the Cars table. Now, let’s say that we create a clustered index on the Owner_Name column in the Cars table. Then because a clustered index is stored physically on the disk in the same order as the index, it would mean that a given Owner_Name would have all his/her car entries stored right next to each other on disk. In other words, if there is an owner named “Joe Smith” or “Raj Gupta”, then each owner would have all of his/her entries in the Cars table stored right next to each other on the disk
  • 19. 19 Non - Cluster Index – They have a structure separate from the data rows. A non-clustered index contains the non-clustered index key values and each key value entry has a pointer to the data row that contains the key value. The pointer from an index row in a non-clustered index to a data row is called a row locator. The structure of the row locator depends on whether the data pages are stored in a heap or a clustered table. For a heap, a row locator is a pointer to the row. For a clustered table, the row locator is the clustered index key A comparison of a non-clustered index with a clustered index - Let’s say that we have a non-clustered index on the EmployeeID column. A non-clustered index will store both the value of the EmployeeID AND a pointer to the row in the Employee table where that value is actually stored. But a clustered index, on the other hand, will actually store the row data for a particular EmployeeID – so if you are running a query that looks for an EmployeeID of 15, the data from other columns in the table like EmployeeName, EmployeeAddress, etc. will all actually be stored in the leaf node of the clustered index itself. This means that with a non-clustered index extra work is required to follow that pointer to the row in the table to retrieve any other desired values, as opposed to a clustered index which can just access the row directly since it is being stored in the same order as the clustered index itself. So, reading from a clustered index is generally faster than reading from a non-clustered index. A table can have multiple non-clustered indexes A table can have multiple non-clustered indexes because they don’t affect the order in which the rows are stored on disk like clustered indexes. A table can have only one clustered index Because a clustered index determines the order in which the rows will be stored on disk, having more than one clustered index on one table is impossible. Imagine if we have two clustered indexes on a single table – which index would determine the order in which the rows will be stored? Since the rows of a table can only be sorted to follow just one index, having more than one clustered index is not allowed.
  • 20. 20 Chapter 3 BUSINESS INTELLIGENCE Business Intelligence is techniques for transforming data into meaningful and useful information for business analysis purposes, which helps to make quick decisions. MSBI stands for Micro Soft Business Intelligence. MSBI Tools - Microsoft provides some tools to transform your business data into information. We can use these tools with the interface of Visual Studio. With the release of SQL Server 2012, Business Intelligence Development Studio (BIDS) was renamed to SQL Server Data Tools (SSDT).  SSIS - SQL Server Integration Services  SSAS - SQL Server Analysis Services  SSRS - SQL Server Reporting Services SQL Server Integration Service (SSIS) – Integration Services is a platform for building high-performance data integration and workflow solutions, including extraction, transformation and loading (ETL) operations for data warehousing. We can process the data from various locations and various formats (source locations) and save the data into a centralized repository as a Data Warehouse/Data Mart (destination). It includes graphical tools and wizards for building and debugging packages. Data Warehouse and Data Mart – This is commonly use for reporting and business analysis purposes. This system is actually the output of integrated data from multiple sources and stored into a centralized repository. The Data warehouse stores the current and historical data, so it is easy to generate trend reports, predictive analysis and comparison reports. It's very helpful for the top management to take the quick decisions about the business. A Data Mart means that it's a small part of a Data Warehouse and indicates only a single part (for example sales or finance). It always holds more summarized information. ETL means that its takes the data from various source locations, maybe as a different data format (for example SQL, txt, xls and so on) and store this data into a destination (Data Warehouse). In computing, Extract, Transform and Load (ETL) refers to a process in database usage and especially in data warehousing that –
  • 21. 21 • Extracts data from homogeneous or heterogeneous data sources. • Transforms the data for storing it in a proper format or structure for querying and analysis purpose. • Loads it into the final target (database, more specifically, operational data store, data mart or data warehouse). Fig 3.1 SQL Server Analysis Service (SSAS) – A component for online analytical processing (OLAP) and data mining. OLAP is the process of converting two dimensional (rows and columns/OLTP) data into multi-dimensional data model (OLTP). Data mining helps users to discover patterns in data Some of the features of SSAS are –  Multi-dimensional analysis  Key performance Indicator (KPI)  Score card  Slice, dice, drill down functionalities  Good performance  Security and so on. Data modeling is the process of documenting a complex software system design as an easily understood diagram, using text and symbols to represent the way data needs to flow. The diagram can be used as a blueprint for the construction of new software or for re-engineering a legacy application. Traditionally, data models have been built during the analysis and design phases of a project to ensure that the requirements for a new application are fully understood. A data model can be thought of as a flowchart that illustrates the relationships between data. Although capturing all the possible relationships in a data model can be very time-intensive, it's an important step that shouldn't be rushed. Well-documented conceptual, logical and physical data models allow stake-holders to identify errors and make changes before any programming code has been written.
  • 22. 22 Data modelers often use multiple models to view the same data and ensure that all processes, entities, relationships and data flows have been identified. Types of Data Models are –  Business Data Model - This can also be called a Conceptual Data Model because it focuses on the important ‘Things of Interest’ and how they are related. We use them when it is important to describe the areas of a business that are being affected. This helps the user community to understand an Enterprise Data Model.  Logical Data Model - This usually shows Primary and Foreign Keys. It is invariably produced in a Data Modelling Tool like Dezign or ERWin. Serves as the basis for the creation of the physical data model.  Physical Data Model - It is usually generated in one of two ways - either by 'reverse engineering' from a physical Database or automatically by the Modelling Tool, such as ERwin or Dezign, that was used to design the Logical Data Models. The design of the PDM will usually change to reflect the denormalization of the original LDM to achieve improved performance. The LDM is then preserved as a record of the Requirements and the PDM becomes the solution to the Requirements.
  • 23. 23 Fig 3.2 SQL Server Reporting Service (SSRS) – SSRS is Microsoft’s answer to business reporting. It provides a unified, server-based, extensible, and scalable platform from which to deliver and present information. Its scope extends from traditional paper reports to web based delivery and interactive content. SSRS can also be configured to deliver reports to people’s inboxes, file shares, and so on. SSRS is capable of generating reports in various formats, such as the web-oriented Hypertext Markup Language (HTML) and desktop application (Microsoft Excel and CSV) formats, thus allowing users to manipulate their data in whatever format is required. In addition, SharePoint can be used as a front end for SSRS, allowing reports to be presented directly in corporate portals. Architecture of SSRS – Fig 3.3 Some of the features of SSRS are –  Multi-dimensional analysis  Create ad hoc reports and save them to the server  Slice, dice, drill down functionalities  Good performance and Security  Retrieve data from managed providers, OLE DB, and ODBC connections  Display data in a variety of ways, including tabular, free form, and charts  Export to many formats, including HTML, PDF, XML, CSV, TIFF, Word reports (New in 2008), and Excel
  • 24. 24  Aggregate and summarize data Embed graphics and images and external content  Integrate with Share Point  Provide subscription-based reports and on-demand reports  Allow users to store and manage their own custom reports built with SSRS’s Report Builder 2.0 and manage subscriptions to the reports (New in 2008).  URL-based report access  Gauge and Chart controls to display KPI data (New in 2008) SRS is unique in the Microsoft BI suite because it covers a variety of information users. Microsoft divides users into three groups: information consumers, information explorers, and analysts. To address the varying needs of these types of users, SSRS provides three main tools from the user perspective–  Report Viewer – The primary mechanism for viewing reports over the Web. Report Manager is the name of the website that SSRS sets up. It provides a very clean and neatly organized user interface for end users. Developers can also embed a Report Viewer control into both ASP.NET and Windows forms applications.  Report Builder – The tool that provides users with a front end for ad hoc reporting against a SQL Server or Analysis Services database. Unlike most ad hoc reporting tools, users of Report Builder do not need to know Structured Query Language (SQL) or anything about joins or grouping to create reports.  Report Designer – The tool that takes on the job of building advanced reports. Although Report Builder does a good job as an ad hoc reporting tool, Report Designer was made SSRS in the Report Development Life Cycle – To understand all the ways SSRS can be used, you can simply walk through the report development life cycle and see what features are useful in each stage. A typical reporting application goes through three stages authoring, managing, and delivery. SSRS provides all the necessary tools to work with a reporting application in all three stages.
  • 25. 25 Fig 3.4 Authoring – To create a report, you create a report definition file using Report Designer or Report Builder. The authoring tool to use depends on the requirements of the report and your level of expertise in report authoring techniques. Report Designer is a full-featured report authoring tool that runs in Business Intelligence Development Studio. Report Builder features a Microsoft Office-like authoring environment and new features such as new sparkline, data bar, and indicator data visualizations, the ability to save report items as report parts, a wizard for creating maps, aggregates of aggregates, and enhanced support for expressions, and runs as a separate client-side installation. You create reports on a client computer, separate from the report server. After your report looks the way you want, you can publish it to a report server or SharePoint site that is integrated with a report server, where it becomes available for general use, or you can save it to your local computer. Management – One of the principal advantages of using Reporting Services is the ability to manage reports and related items such as folders, data source connections, and resources, from a central location. You can define security, set properties, and schedule operations. You can also create shared schedules and shared data sources and make them available for general use. Report management includes the following tasks –  Organizing the reporting environment into folders to store collections of reports.  Enabling features such as My Reports, report history, and e-mail report delivery.
  • 26. 26  Securing access to folders and reports by assigning users and groups to roles.  Building shared schedules and shared data sources that you want to make available for general use. Both users and report server administrators can manage reports, but in different ways. Users can publish and manage reports in a personal workspace named My Reports. Report server administrators can manage the entire report server folder namespace. The ability to perform management tasks depends on user permissions. Delivery – In Reporting Services, two methods are available for accessing and delivering reports:  On-demand access allows users to select the reports from a report viewing tool. You can use Report Manager, a Microsoft SharePoint 2.0 Web part, a SharePoint library when Reporting Services is installed in SharePoint integrated mode, an embedded Report Viewer control, or a browser.  Subscription-based access automatically generates and delivers reports to a destination. You can deliver reports to an e-mail inbox or a file share. Reporting Services supports a variety of viewing formats. Reports at first display in HTML format, but after a report is rendered you can redisplay the report in a different format such as Excel or PDF.
  • 27. 27 Chapter 4 REPORT BUILDER The tool that provides users with a front end for ad hoc reporting against a SQL Server or Analysis Services database. Unlike most ad hoc reporting tools, users of Report Builder do not need to know Structured Query Language (SQL) or anything about joins or grouping to create reports. Report Builder benefits –  Use the Report Builder ribbon to quickly add items your reports, launch table, chart, and map wizards, and format report data.  Add data from built-in data providers by using query designers that help you specify which data to include in your report.  Create and use report parameters and other interactive features that enable your report readers to customize data and vary report presentation.  Create expressions from built-in fields, collections, operators, and functions.  Preview reports that use local or published shared data sources and shared datasets.  Preview reports in HTML or print format & export reports to other file formats such as Microsoft Excel.  Save your report and related items to a SharePoint library, a report server, or your local computer. Making of a Report –  Data Source – Data source is a name given to the connection set up to a Database from a server. The name is commonly used when creating a query to the database. The database source name (DSN) does not have to be the same as the filename for the database.  Data Sets – If you connected to a data source there may be hundreds of tables. You probably only want data from just a few tables. This means you want to write a specific query against this data source. A query on a data source to get just the records you need for an SSRS report is called a Data Set.  Table/Matrix – In Reporting Services, tables, matrices, and lists are data regions that display paginated report data in cells that are organized into rows and columns. The cells typically contain text data such as text, dates, and numbers but they can also contain gauges, charts, or report items such as images. Collectively, tables, matrices, and lists are frequently referred to as tablix data regions. The table and matrix data regions can display complex data relationships by including nested tables, matrices, lists, charts and gauges. Tables and matrices have a tabular layout and their data comes from a single dataset, built on a single data source. The key difference between tables and matrices is that tables can include only row groups, where as matrices have row groups and column groups.
  • 28. 28 Table – Use a table to display detail data, organize the data in row groups, or both. The Table template contains three columns with a table header row and a details row for data. The following figure shows the initial table template, selected on the design surface: Fig 4.1 You can group data by a single field, by multiple fields, or by writing your own expression. You can create nested groups or independent, adjacent groups and display aggregated values for grouped data, or add totals to groups. For example, if your table has a row group called [Category], you can add a subtotal for each group as well as a grand total for the report. To improve the appearance of the table and highlight data you want to emphasize, you can merge cells and apply formatting to data and table headings. You can initially hide detail or grouped data, and include drilldown toggles to enable a user to interactively choose how much data to show. Matrix – Use a matrix to display aggregated data summaries, grouped in rows and columns, similar to a PivotTable or crosstab. The number of rows and columns for groups is determined by the number of unique values for each row and column groups. The following figure shows the initial matrix template, selected on the design surface: Fig 4.2 You can group data by multiple fields or expressions in row and column groups. At run time, when the report data and data regions are combined, a matrix grows horizontally and vertically on the page as columns for column groups and rows for row groups are added. The matrix cells display aggregate values that are scoped to the intersection of the row and column groups to which the cell belongs. For example, if your matrix has a row group (Category) and two column groups (Territory and Year) that display the sum of sales, the report displays two cells with sums of sales for each value in the Category group. The scope of the cells are the two intersections are: Category and Territory and Category and Year. The matrix can include nested and adjacent groups. Nested groups have a parent-child relationship and adjacent groups a peer relationship. You can add subtotals for any and all levels of nested row and column groups within the matrix.
  • 29. 29 To make the matrix data more readable and highlight the data you want to emphasize, you can merge cells or split horizontally and vertically and apply formatting to data and group headings. You can also include drilldown toggles that initially hide detail data; the user can then click the toggles to display more or less detail as needed. List – Use a list to create a free-form layout. You are not limited to a grid layout, but can place fields freely inside the list. You can use a list to design a form for displaying many dataset fields or as a container to display multiple data regions side by side for grouped data. For example, you can define a group for a list; add a table, chart, and image and display values in table and graphic form for each group value, as you might for an employee or patient record. Fig 4.3  Grouping – Parent and Child Groups – A group is a named set of data from the report dataset that is bound to a data region. Basically, a group organizes a view of a report dataset. All groups in a data region specify different views of the same report dataset. To help visualize what a group is, refer to the Fig 4.4 that shows the tablix data region. In this, the row groups categorize the dataset by product type and the column groups categorize the dataset by geographic region and year. Fig 4.4
  • 30. 30 When Groups are created – In most cases, Report Builder and Report Designer automatically create a group for you when you design a data region. For a table, matrix, or list, groups are created when you drop fields on the Grouping pane. For a chart, groups are created when you drop fields on the chart drop-zones. For a gauge, you must use the gauge properties dialog box. For a table, matrix, or list, you can also create a group manually. Modifying a Group – After you create a group, you can set data region-specific properties, such as filter and sort expressions, page breaks, and group variables to hold scope-specific data. To modify an existing group, open the appropriate group properties dialog box. You can change the name of the group. Also, you can specify group expressions based on a single field or multiple fields, or on a report parameter that specifies a value at run time. You can also base a group on a set of expressions, such as the set of expressions that specify age ranges for demographic data. Group organization – Understanding group organization can help you design data regions that display different views of the same data by specifying identical group expressions. Groups are internally organized as members of one or more hierarchies for each data region. A group hierarchy has parent/child groups that are nested and can have adjacent groups. If you think of the parent/child groups as a tree structure, each group hierarchy is forest of tree structures. A tablix data region includes a row group hierarchy and a column group hierarchy. Data associated with row group members expands horizontally across the page and data associated with column group members expands vertically down the page. The Grouping pane displays row group and column group members for the currently selected tablix data region on the design surface. A chart data region includes a category group hierarchy and a series group hierarchy. Category group members are displayed on the category axis and series group members are displayed on the series axis. Although typically not needed for gauge data regions, groups do let you specify how to group data to aggregate on the gauge. Types of Groups are Available per Data Region – Data regions that expand as a grid support different groups than data regions that display summary data visually. Thus, a tablix data region, and the tables, lists, and matrices that are based on the tablix data region, support different groups than a chart or gauge.
  • 31. 31 Groups in a Tablix Data Region: Details, Row, and Column Groups – A tablix data region enables you to organize data into groups by rows or columns. However, row and column groups are not the only groups available in a tablix data region. This data region can have the following types of groups –  Details Group – The Details group consists of all data from a report dataset after Report Builder or Report Designer apply dataset and data region filters. Thus, the Details group is the only group that has no group expression. Basically, the details group specifies the data that you would see when you run a dataset query in a query designer. For example, you have a query that retrieves all columns from a sales order table. Thus, the data in this detail group includes all the values for every row for all the columns in the table. The data in this detail group also includes values for any calculated dataset fields that you have created. By default, when you add a table or list to your report, Report Builder and Report Designer automatically create the Details group for you, and adds a row to display the detail data. By default, when you add dataset fields to cells in this row, you see simple expressions for the fields, for example [Sales]. When you view the data region, the details row repeats once for every value in the result set.  Row groups and column groups - You can organize data into groups by rows or columns. Row groups expand vertically on a page. Column groups expand horizontally on a page. Groups can be nested, for example, group first by [Year], then by [Quarter], then by [Month]. Groups can also be adjacent, for example, group on [Territory] and independently on [ProductCategory]. When you create a group for a data region, Report Builder and Report Designer automatically add rows or columns to the data region and use these rows or columns to display group data. Recursive hierarchy groups – A recursive hierarchy group organizes data from a single report dataset that includes multiple levels. For example - a recursive hierarchy group could display an organization hierarchy, [Employee] that reports to [Employee]. Reporting Services provides group properties and built- in functions to enable you to create groups for this kind of report data. The following summarizes the way you work with groups for each data region – Table – Define nested row groups, adjacent row groups, and recursive hierarchy row groups (such as for an organizational chart). By default, a table includes a details group. Add groups by dragging dataset fields to the Grouping pane for a selected table. Matrix – Define nested row and column groups, and adjacent row and column groups. Add groups by dragging dataset fields to the Grouping pane for a selected matrix.
  • 32. 32 List – By default, supports the details group. Typical use is to support one level of grouping. Add groups by dragging dataset fields to the Grouping pane for a selected list.  Filters & Parameters – A filter expression tests data for inclusion or exclusion based on a comparison that you specify. Filters are applied to data in a report after the data is retrieved from a data connection. You can add any combination of filters to the following items – a shared dataset definition on the report server, a shared dataset instance or embedded dataset in a report, a data region such as a table or a chart, or a data region group, such as a row group in a table or a category group in a chart. Fig 4.5 Types of filters are –  Dataset Filter. This is the most common: filtering within the source query. When you implement a filter within the dataset, less data is sent over the network from the source database server to the Report Server - usually a good thing.  Report Filter. This includes filtering after the source query has come back – on a data region (like the Tablix), or a data grouping. When you implement a filter within the report, when the report is re- executed again with different parameter choices, the Report Server uses cached data rather than returning to the database server. This is a viable option if you intentionally want to return all possible data from the database server in the initial query. Keep in mind this could be far less performant if the volume of data is high & the report won’t be re-executed numerous times.
  • 33. 33 Types of Parameters –  Dataset Parameter – The purpose of a Dataset Parameter (aka Query Parameter) is to perform a filter within the source query. Fig 4.6  Report Parameter - The Report Parameter properties contain all of the settings related to a parameter (available values, default values etc). A Report Parameter might or might not be associated to a Dataset Parameter. Unless it's hidden, the purpose of a Report Parameter is to interact with the user. Fig 4.7 The vast majority of the time, a Report Parameter is associated to a Dataset Parameter – i.e., its purpose is to filter the data being displayed based on the user’s selection. However, if a Report Parameter is not bound to a Dataset Parameter, the Report Parameter could be used for all kinds of cool & creative things related to layout, formatting, or actions.
  • 34. 34 Sometimes people refer to parameters synonymously with filters for a report. This is often true, but parameters can be so much more. Filters are quite often based on a user choice, but they don’t have to be. The optional relationship between parameter & filter –  A parameter can be bound to a filter, but it doesn’t have to be.  A filter can be bound to a parameter, but it doesn’t have to be. Other (non-filtering) uses for a parameter include things like –  Hide/show report sections  Provide conditional formatting  Control sorting and grouping  Choices for actions Multiple Selection Parameters, Drop Down Parameters & Dependent Drop Down Parameters –  To create a multiple selection parameters, make new data set which contains the field to be required in parameter click on the allow multiple values checkbox in the parameter properties Fig 4.8  To add a drop down functionality, go to available values in the parameter properties and select and click on get values from a query radio button and add data set, value field and label field to it.
  • 35. 35 Fig 4.9  For creating dependent drop downs, make two more new data sets which contains the fields that are required to show the dependency and the field on which they are dependent, For ex – DataSet 2 contains field Color_Name which is dependent on OC_Num , so OC_Num also needs to be added and DataSet 3 contains field Size_Name which is dependent on OC_Num , so OC_Num also needs to be added, refer to Fig 4.10 Fig 4.10
  • 36. 36 Give filters for all the parameters to the MainDataSet and add the filter of the parameter on which the other parameters are dependent to their respective data sets. For ex – Size_Name and Color_Name are dependent on OC_Num so, filter on OC_Num for both DataSet2 and DataSet3 is given. Fig 4.11  Sort expressions – A sort expression controls the order in which data appears in a data region. Sort expressions are created automatically as you build the report layout. By default, a sort expression for a group is set to the same value as the group expression. You can customize a sort expression after it is created. Fig 4.12  Data Visualization – The best way to present certain types of data is often in a chart, graph or other visual element because of the way the human brain processes information, using charts or graphs to visualize large amounts of complex data is easier than poring over spreadsheets or reports. These elements often allow the users to spot trends or understand the data in a way that is much easier than trying to decipher rows and columns full of numbers. Importance of Data Visualization –  It makes complex information easier to understand and use.  It delivers information that is far too important to be displayed so poorly.  Human Beings are pattern seekers & 70% of all sense receptors are in there eyes.  Their Eyes and brain are powerful parallel processor.
  • 37. 37 Chart – A chart data region operates just like any other data region and uses groups, query parameters, and filters much the same way as a table, list or matrix. Nonetheless, charts contain some unique characteristics that separate them from the other data regions. The chart data of Reporting Services is organized into three main areas: values, category groups and series groups –  Category groups are distributed along the x-axis or horizontal axis.  Values are shown along the y-axis or vertical axis.  Y-axis values must be a numeric data type.  A chart, like any other data region, is attached to one particular dataset.  You can group data within each axis.  At minimum, a chart should have one aggregated field for the value and one grouped field for the category. Chart types –  Column – A column chart is a graphic representation of data. Column charts display vertical bars going across the chart horizontally, with the values axis being displayed on the left side of the chart.  Line – A line chart or line graph is a type of chart which displays information as a series of data points called 'markers' connected by straight line segments.  Shape – Shape charts use shapes to represent the data. The particular shape is divided into sectors that each represent a proportion of the whole. They use the following shapes – pie, doughnut, pyramid & funnel.  Bar – A bar chart is a chart that presents grouped data with rectangular bars with lengths proportional to the values that they represent. The bars are plotted horizontally. If it is plotted vertically, a vertical bar chart is called as column chart.  Area – An area chart or area graph displays graphically quantitative data. It is based on the line chart. The area between axis and line are commonly emphasized with colors, textures and hatchings  Range – A range chart type displays a set of data points that are each defined by multiple values for the same category. Values are represented by the height of the marker as measured by the value axis. Category labels are displayed on the category axis. The plain range chart fills in the area between the top and bottom value for each data point.  Scatter – A scatter plot is a type of plot or mathematical diagram using Cartesian coordinates to display values for typically two variables for a set of data. If the points are color-coded you can increase the number of displayed variables to three.
  • 38. 38  Polar – A system of coordinates in which the location of a point is determined by its distance from a fixed point at the center of the coordinate space (called the pole), and by the measurement of the angle formed by a fixed line (the polar axis, corresponding to the x – axis in Cartesian coordinates) and a line from the pole through the given point. The polar coordinates of a point are given as (r, θ), where r is the distance of the point from the pole and θ is the measure of the angle. Fig 4.13 Indicators – Indicators are a way of providing immediate visual clues about the status of something, while bar charts are a nice way to compare things to each other, sometimes you want to know the status of things right now so you can take immediate action. Are sales up or down right now? Is there an inventory shortage? By using indicators, you can provide those immediate clues to users that allow them to see the status and then look at the details. The benefits of indicators are –  Trends by using trending-up, flat (no change) or trending-down arrows  State by using commonly recognized symbols, such as checkmarks and exclamation marks  Conditions by using commonly recognized shapes, such as traffic lights and signs  Ratings by using commonly recognized shapes and symbols that show progress, such as number of quadrants in a square and stars
  • 39. 39 Indicator types –  Directional – The Directional Indicator is a momentum indicator which attempts to quantify the trending or directional behavior of a market. It is one of the best trend following indicator in technical analysis. It helps identify trends and whether or not price is moving quickly enough to be worth a long or short play.  Symbols – Indicates states using commonly recognized symbols such as checkmarks and exclamation marks.  Shapes – Indicates conditions using commonly shapes such as traffic signs and diamond shapes.  Rating – Indicates ratings by using common recognized shapes and symbols that show progressive values such as number of quadrants in a square. Fig 4.14 Maps – The new Map Wizard in Report Builder allow us to add maps and map layers to our reports. Once map elements are related with report data, we can control color, size, width, or marker type on any given layer, as well as add labels, legends, titles, a color scale, and a distance scale to help assist users in interpreting the map display. Moreover, we can add interactive features, such as tooltips or provide parameters that enable a user to interactively control the visibility of each layer, and much more.
  • 40. 40 Fig 4.15 Sparkline and Data Bars – Sparkline and Data Bars have the basic chart elements of categories, series, and values, but they have no legend, axis lines, labels, or tick marks. Both are simple charts used to convey much information in a little space and they can be easily used within matrices and tables. Sparkline and Data Bars are most effective when many of them are presented together, for rapid visual comparison. Each Sparkline often represents multiple data points over time. Because Sparkline display aggregated data, they must go in a cell that is associated with a group. By contrast, Data Bars can represent multiple data points, but typically illustrate only one (with each Data Bar representing a single series). Fig 4.16
  • 41. 41 Sparkline types –  Column  Line  Area  Shape  Range Data Bar types –  Data Bar  Data Column Gauge – In Reporting Services paginated reports, a gauge data region displays a single value from your dataset. An individual gauge is always positioned inside a gauge panel, where you can add child or adjacent gauges. Inside a single gauge panel, you can create multiple gauges that share common functions such as filtering, grouping, or sorting. Gauge types –  Radial Gauge – The radial gauge is typically used when you want to express the data as a velocity.  Linear Gauge – The linear gauge is used to express the data as a temperature. Fig 4.17
  • 42. 42 Chapter 5 PROJECT – DELIVERY PERFORMANCE SCORE CARD Objective – To create a report to show the percentage of on-time deliveries and delayed deliveries in the organization for the selected period of time and to also show the top and least 5 performers based on their on- time delivery percentage. Scope – Business organizations need to understand how they are performing by continuously assessing and reporting their set target, goals and objectives and making adjustments where necessary. Carrying out business processes blindfolded can plunge an entity into pitfalls since it is not able to measure its key metrics. To enhance business process optimization, there are different parameters, which need to be measured and reported and these are such as rate of inventory turnover, customer satisfaction, key financial aspects like sales, expenditure and profits, as well as production output. The following are top reasons why companies need performance reporting in their business processes –  Set benchmark for improved performance  Measure, control and monitor the workforce  Learn and enhance performance  Improves communication among investors, managers, subordinates and customers Tool Used – Microsoft’s SQL Server Reporting Services (SSRS) Data Model Used – ModelOPROCR Functions Used–  Iif – Returns one of two objects, depending on the evaluation of an expression. Ex – • IIf(Fields!YearlyIncome.Value >= 60000,"High","Low")  CountDistinct – Returns a count of all distinct values from the specified expression. Ex – • CountDistinct(Fields!MiddleInitial.Value) • CountDistinct(Fields!MiddleInitial.Value,"GroupByInitial")  DataDiff – Returns a Long value specifying the number of time intervals between two date values. Ex – • DateDiff("yyyy",Fields!BirthDate.Value,"1/1/2010") • DateDiff(DateInterval.Year,Fields!BirthDate.Value,"1/1/2010"  MonthName – Returns a String value containing the name of the specified month. Ex – • MonthName(Month(Fields!BirthDate.Value),True)
  • 43. 43 • "The month of your birthday is" & MonthName(Month(Fields!BirthDate.Value)) Making of the Report –  Addition of data source by selecting a data model from server – Data source used – Model OPROCR  Addition of data set by adding fields to it from the data model using query designer – Data set created – MainDataSet Fields Used – Buyer_Name, Total_Ordered_Qty, Proforma_Invoice_Num, OC_Delivery_Date, Latest_ETD_Date  Buyer – Professional purchaser specializing in a specific group of materials, goods or services and experienced in market analysis, purchase negotiations, bulk buying and delivery coordination.  Total Order Quantity – It is the total quantity required by the buyer, placed against a particular product.  Pro-forma Invoice Number – An estimated invoice sent by a seller to a buyer in advance of a shipment or delivery of goods, their value, and other important information such as weight and transportation charges. Pro forma invoices are commonly used as preliminary invoices with a quotation, or for customs purposes in importation. They differ from a normal invoice is not being a demand or request for payment.  OC Delivery Date – Date of the order dispatch from the factory.  ETD Date – Data and time at which a shipment is expected to depart from a named city or port. Also called expected time of departure.  Creation of parameters –  Date_From parameter – to select the starting date of the report  Date_To parameter – to select the end date of the report The report will show data from the date selected in Date_From parameter to the date selected in Date_to parameter.  Creation of table showing deliveries - On-time % and Delay % w.r.t number of days –
  • 44. 44 Fig 5.1 Created a column group on OC_Delivery_Date and used the function MonthName with it. Placed all the following expressions under it-  OTP % expression – (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Delay 0 – 7 days expression – (CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>0 AND DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=7,Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Delay 8 – 14 days expression – (CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>7 AND DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=14,Fields!Proforma_Invoice_Num.Value ,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Delay 15 – 30 days expression – (CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>12 AND DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)<=30,Fields!Proforma_Invoice_Num.Valu e ,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Delay > 30 days expression – (CountDistinct(iif(DateDiff("D",Fields!Latest_ETD_Date.Value,Fields!OC_Delivery_Date.Value)>30,Fields!Proforma_Inv oice_Num.Value,Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Creation of a line chart showing OTP % categorized by months –
  • 45. 45 Fig 5.2  Value expression – (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Category group label – MonthName(Month(Fields!OC_Delivery_Month.Value))  Group on – OC_Delivery_Month  Custom legend text – "OTP % - "&Cstr(Parameters!Date_From.Value)&" To "&Cstr(Parameters!Date_To.Value)  Creation of a radial gauge – Fig 5.3  Value expression – (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100
  • 46. 46  Creation of Least 5 Performers table – Fig 5.4 Created a row group on Buyer_Name and placed all the following expressions in it –  OTP % expression – (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  On – Time expression – CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))  Total Orders – CountDistinct(Fields!Proforma_Invoice_Num.Value)  Sparkline –  Value expression – CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))  Category group label – Fields!OC_Delivery_Month.Value  Group on – OC_Delivery_Month To show the least 5 performers a filter was added on the row group used in the table and then sorting is done –  Addition of a filter Fig 5.5
  • 47. 47  Expression – (OTP %) (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Sorting Fig 5.6  Expression – (OTP %) (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Creation of Top 5 Performers table – Fig 5.7 Created a row group on Buyer_Name and placed all the following expressions in it –  OTP % expression – (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  On – Time expression – CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))  Total Orders – CountDistinct(Fields!Proforma_Invoice_Num.Value)  Sparkline –  Value expression –
  • 48. 48 CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))  Category group label – Fields!OC_Delivery_Month.Value  Group on – OC_Delivery_Month To show the top 5 performers a filter was added on the row group used in the table and sorting is done –  Addition of a filter Fig 5.8  Expression – (OTP %) (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100  Sorting Fig 5.9  Expression – (OTP %) (CountDistinct(iif(Fields!Latest_ETD_Date.Value >= Fields!OC_Delivery_Date.Value, Fields!Proforma_Invoice_Num.Value, Nothing))/CountDistinct(Fields!Proforma_Invoice_Num.Value))*100 Final Report – Delivery Performance Scorecard
  • 49. 49 Fig 5.10 Chapter 6 Secondary Research – Apparel Manufacturing Industry The practice of producing clothing and accessories for consumers. Apparel manufacturing workers perform a variety of tasks including cutting and stitching textiles and other types of materials. Most of them work in apparel manufacturing plants. These workers may handle only one task in the production process, instead of performing all the work necessary to create a piece of clothing. The clothing industry hires an array of workers specific to the industry. These include pattern makers, fashion designers, sewing machine operators, cutters and finish presses. Pattern makers are seasoned workers who transform the model created by the designer into several pieces of patterns needed to cut a cloth from textile. In making patterns, they use a computer program to sketch the parts and develop clothing of different sizes. Trimmers and cutters use these patterns to cut the needed materials. This can be done with the use of an electric knife. When cutting delicate materials, they use scissors and cut them by hand. Some advanced manufacturing industries use mechanized equipment to cut fabric. Sewing machine
  • 50. 50 operators connect the parts of a garment and append zippers, buttons, and decorations. Other apparel manufacturing workers function as inspectors, packers, and many other duties related to preparing clothing for sale. Different Departments in an apparel industry –  Merchandising Department  Sampling Department  Fabric Store Department  Accessory Stores Department  Spreading and Cutting Department  Sewing Department  Washing Department  Quality Assurance Department  Finishing and Packaging Department  Maintenance Department  Finance and Accounts Department  HR/Admin Department
  • 51. 51 Fig 6.1 Process flow garment manufacturing – The flow of the process in garment manufacturing can be defined in following steps – 1. Buyer Supplier Meeting 2. Production order placement 3. Sampling 4. Bill of Materials (BOM) generation for PO 5. Raw material procurement 6. Raw material inspection 7. Fabric washing 8. Pre - production sample 9. Production 10. Shipment sample 11. Finishing 12. Packing 13. Shipment Fig 6.2