Article
· May 28, 2016 3m read

DeepSee Listing Groups

 

This article is about DeepSee Listing Groups, a new DeepSee feature that was introduced in release 2015.2.

DeepSee Listings have always been a part of DeepSee.  DeepSee Listing Groups provide increased flexibility by allowing you to create new DeepSee Listings without modifying the cube definition.

What is a DeepSee Listing?

Before discussing DeepSee Listing Groups, let's review DeepSee Listings.

DeepSee has always had the ability to drill through to the detailed records. DeepSee Listings define what you see when you drill through.

When you are viewing a DeepSee pivot table, each cell displays a value that represents a specific set of data. Let's use an example based on the HoleFoods cube in the SAMPLES namespace.  If you have a pivot table with Product Category on rows, Region on columns, and using the Revenue measure, each cell represents the sum of Revenue for all the transactions for a specific Product Category and Region.

 


If you select the cell that represents Seafood sold in Europe, you can drill through to get a listing for the set of records that represent Seafood sold in Europe. 

 

The fields displayed for those records are defined in a DeepSee Listing definition.

Here is an example of a DeepSee Listing definition from the HoleFoods cube:

<listing name="Listing"
   fieldList="%ID,DateOfSale,Outlet->City,%EXTERNAL(Channel) Channel,Product->Name Product,
   UnitsSold,AmountOfSale Revenue,(Discount*100)||'%' Discount,Comment"
   orderBy="DateOfSale,%ID"/>

 

Prior to 2015.2, DeepSee Listings needed to be defined in the cube or subject area.

 

Why Listing Groups?

Prior to 2015.2, adding a new listing meant editing the cube definition with DeepSee Architect (or the cube definition class with Studio). But having access to the cube definition means you can change anything about the cube.

So the problem was "How can I allow users to add new DeepSee Listings without giving them access to the cube definitions? "

To solve this problem in 2015.2,  we added a new concept called a Listing Group.

A Listing Group is a class that contains DeepSee Listings.  The definition of a Listing Group includes:

  • one or more DeepSee Listings
  • the cubes that can use these Listings
  • optional security resource

To create a Listing Group, you can use the Listing Group Manager (on the DeepSee > Tools menu), or you can edit the class in Studio.

 

Here is the Listing Group Manager showing a Listing Group that defines 2 new Listings for the HoleFoods cube.

 

The is the class showing the same Listing Group:

Class HoleFoods.MyListingGroup Extends %DeepSee.ListingGroupDefinition [ DependsOn = HoleFoods.Cube, Not ProcedureBlock ]
{

XData Listings [ XMLNamespace = "http://www.intersystems.com/deepsee/listinggroup" ]
{
<listingGroup xmlns="http://www.intersystems.com/deepsee/listinggroup"
       name="My Listing Group" displayName="My Listing Group"
       description="Sample Listing Group" disabled="false"
       targetCubes="HOLEFOODS">
  <listing name="New Listing 1" disabled="false" listingType="table"
       fieldList="%ID,Product-&gt;Name,Channel,DateOfSale"></listing>
  <listing name="New Listing 2" disabled="false" listingType="table"
       fieldList="%ID,Outlet-&gt;City,Channel,AmountOfSale"></listing>
</listingGroup>
}

}

 

When the Listing Group is compiled, the Listings defined in the Listing Group are now available to the cube.

Here is the Pivot Options from Analyzer showing the Listings available to the HoleFoods cube.
 

 

Notice that in addition to the Listings that are defined in the cube definition, the available Listings include New Listing 1 and New Listing 2, the Listings that are defined in the Listing Group.

By using a Listing Group, we added new listings for the HoleFoods cube without changing the HoleFoods cube.

For more details on Listing Groups, please refer to the DeepSee documentation:

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2MODEL_ch_listgrp
 

Discussion (3)0
Log in or sign up to continue