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