69
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

Project Documentation New

Embed Size (px)

Citation preview

Page 1: Project Documentation New

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

Page 2: Project Documentation New

<<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

2

Page 3: Project Documentation New

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

3

Page 4: Project Documentation New

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.

4

Page 5: Project Documentation New

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

5

Page 6: Project Documentation New

Chapter 5: Project – Delivery Performance Score Card…………………………………………………….42

5.1: Making of a Report…………………………………………………………………………42

Chapter 6: Secondary Research – Apparel Manufacturing Industry………………………………………....49

6

Page 7: Project Documentation New

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

7

Page 8: Project Documentation New

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

8

Page 9: Project Documentation New

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

9

Page 10: Project Documentation New

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.

Mission Statement –

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 -

10

Page 11: Project Documentation New

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

11

Page 12: Project Documentation New

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.

12

Page 13: Project Documentation New

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

13

Page 14: Project Documentation New

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.

14

Page 15: Project Documentation New

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.

Defining Primary & Foreign keys –

15

Page 16: Project Documentation New

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

Consider the following two tables –

16

Page 17: Project Documentation New

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

Clustered and Non Clustered Indexing –

17

Page 18: Project Documentation New

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

18

Page 19: Project Documentation New

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.

19

Page 20: Project Documentation New

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 –

20

Page 21: Project Documentation New

• 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.

21

Page 22: Project Documentation New

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.

Fig 3.2

22

Page 23: Project Documentation New

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

Aggregate and summarize data Embed graphics and images and external content

Integrate with Share Point

23

Page 24: Project Documentation New

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.

24

Page 25: Project Documentation New

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.

25

Page 26: Project Documentation New

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.

26

Page 27: Project Documentation New

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.

27

Page 28: Project Documentation New

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.

28

Page 29: Project Documentation New

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

29

Page 30: Project Documentation New

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.

30

Page 31: Project Documentation New

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.

31

Page 32: Project Documentation New

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.

32

Page 33: Project Documentation New

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.

33

Page 34: Project Documentation New

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.

34

Page 35: Project Documentation New

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

35

Page 36: Project Documentation New

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.

36

Page 37: Project Documentation New

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.

37

Page 38: Project Documentation New

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

38

Page 39: Project Documentation New

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.

39

Page 40: Project Documentation New

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

40

Page 41: Project Documentation New

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

41

Page 42: Project Documentation New

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)

42

Page 43: Project Documentation New

• "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 –

43

Page 44: Project Documentation New

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.Value,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_Invoice_Num.Value,Nothing))/CountDistinct(Fields!

Proforma_Invoice_Num.Value))*100

Creation of a line chart showing OTP % categorized by months –

44

Page 45: Project Documentation New

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

45

Page 46: Project Documentation New

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

46

Page 47: Project Documentation New

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 –

47

Page 48: Project Documentation New

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

48

Page 49: Project Documentation New

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

49

Page 50: Project Documentation New

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

50

Page 51: Project Documentation New

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

51