Enhance custom report with multiple criteria

  • 3638064
  • 13-Nov-2007
  • 27-Apr-2012

Environment

Novell ZENworks 7.5 Asset Management - ZAM7.5

Situation

This is an enhancement to make it easier to create reports with multiple criteria. Reports can be created that show machines that have X and Y installed with the products linked to Usage.

Resolution

This has been added to ZENWorks Asset Management Interim Release 6

Interim Releases can be scheduled to run automatically or can be downloaded manually at https://download.novell.com. The Interim releases can be set up within the ZAM Manager for the Task server to check the site on a scheduled basis, and download and apply them automatically. Please refer to the Help Section details of how to set up automatic downloads if desired.

Each interim release is cumulative. If Interim Release 6 is not available due to a newer interim release being placed on the website, be assured that the code needed is in the later release.

Additional Information

Custom reports generate a set of records (rows on the report) based on the type of report, the columns selected for display, and the criteria.

A. Type of Report -- The type of report determines which columns are available for display and criteria.

B. Display Columns -- The columns selected for display determine the level of granularity of the report.

For example, select just Machine Name for display, one record per machine will list. If Machine Name and Product Name are selected,
then a record for each product name on each machine will be listed. If there is just one machine in the inventory, then a record for each
product
installed on that machine (subject to the criteria) will list. If there are two machines, then a record for each product on each machine
will list. If there are a hundred machines, and Product A is installed on each, then a 100 rows for Product A (the machine name will be
different on each row) will list.

Another example: select just product name for display, then just one row for each product installed within the organization will be displayed.
If Product A is installed on one hundred machines, this report will show just one row for product A.

C. Criteria -- Criteria are used to limit the data that is displayed.

Discussed here is the criteria involving hardware and software that is installed on workstations. In the ZAM terminology, these installed products
have been referred to as "components" on a workstation.

It is necessary to have some understanding of how the ZAM data is organized. The inventory data consists of workstation records. A workstation
will have several basic attributes, which are all stored as part of the workstation record. These attributes include:

Machine Name
User Information
LAN and IP Address
CPU Type and Speed
Disk Capacity
Operating System

Software products other than the operating system, and hardware other than the CPU and disk, are not stored in the workstation record.
Instead they are stored as "component" records. A workstation has many components.

When a custom report is run, the report engine joins together the workstation records and all of the hardware and software component
records needed to build the result set (which records are needed depends on the type of report). The result of this "joining" is a list of
records, each containing one workstation and one component. It is not a list of workstations with a long list of component data strung out
beside it. The ZAM database works with fixed length records, and of course each workstation can have a different number of components.
So instead it is a list of workstation-component pairs, like this:

Machine 1 Product A
Machine 1 Product B
Machine 2 Product A
Machine 2 Product C
Machine 3 Product B
Machine 3 Product C
Machine 3 Product D

This result set is then filtered according to the criteria. So, continuing the example, suppose the criteria says show only records where
Product Name = "Product A". The result set will be filtered so only records with "Product A" are shown, and we will end up with this:

Machine 1 Product A
Machine 2 Product A

The problem with this approach becomes apparent when trying to "Show me machines that have Product A and Product B installed".
Recall that the pre-filtered result set has one record for each product on each machine. There are no records containing two products.
So trying to filter to show only records with "Product A" and "Product B", there are no records.

Nested reports can be used to answer these questions. This approach works, but it is clumsy.

Component Filtering -- ZAM 7.5 IR 6 presents a new solution to this problem. There is a new Focus available for Workstation type reports,
called "Component Filtering". When Component Filtering is selected, several new fields are available for criteria:

With Product Manufacturer
With Product Name
With Product Version
With Product Type
Without Product Manufacturer
Without Product Name
Without Product Version
Without Product Type

When these are used in criteria, the report builder interprets "With Product Name" as "With a component whose Product Name is". For
example, if the criteria is "show me workstations With Product Name = Product A", then the data is fitered so that only workstations containing
the component "Product A" are displayed.

Now it is easy to answer the question "show me workstations With Product Name = Product A and With Product Name = Product B".
With the old "Product Name" criteria, it was possible to only do "Filter my
result set to show only records with Product Name = ...". Now it
is possible to do "Build my result set by looking only at workstations with a component whose product name is ...". The filtering effectively
takes place on the data set from which the result set is drawn, rather than on the result set itself. (Really the filtering is always done on the
original data set, but from the user's perspective the product filtering takes place on the result set).

To keep this as simple as possible, the Component Filtering does avoid deleted components. "With a component whose Product Name is"
means "With a component which has not been deleted and whose Product Name is".

The "Without..." criteria work similarly. By selecting "show me workstations Without Product Type = Monitor", there will be only workstations
that do not have a monitor component.