FRAMES | NO FRAMES
CustomerGeographicSummary Method

Creates a report containing the geography areas where most of customers are located, ranked top to bottom according to the number of customers in each area.

Availability: Business Analyst Server.

TaskResultOutput CustomerGeographicSummary ( 
    CustomerGeographicSummaryParameters  Parameters, 
    esriReportFormat                     ReportFormat, 
    TaskOutputType[]                     OutputTypes, 
    esriFolderItem                       OutputReportItem 
);

Parameter Description
Parameters Configuration options for analysis. Type CustomerGeographicSummaryParameters.
ReportFormat This parameter should be null. This parameter is deprecated.
OutputTypes Array of task output options. Options for this method include creating a report (GetReport). Type TaskOutputType[].
OutputReportItem (Optional parameter — can be null).
Configuration options for storing the output report in the repository. This will enable viewing and working with the output result in subsequent tasks. Type esriFolderItem.

Returns

Variable of type TaskResultOutput

Usage Tips

Examples

The example below generates a report area containing a geographic summary of customer distribution. Also, the store layer is saved to the repository.

C#
// Instantiate the BAServerHelper class to access analysis methods
BAServerHelper baServerHelper = new BAServerHelper();
baServerHelper.ActiveDatasetID = "USA_ESRI"; // Optional parameter
baServerHelper.IsFullErrorMessage = true;    // Default is false
 
// You can specify below a domain of your local Business Analyst Server.
//baServerHelper.BAServerDomain = "esri.com";
 
// If a domain name is specified, a local server name in output URLs is replaced with the
// fully-addressable server name so people and machines outside the domain of your local
// Business Analyst Server instance can access these URLs.
 
RenderingParameters imageOptions;
TaskOutputType[] outputOptions;
esriFolderItem outputLayer;
esriFolderItem outputReport;
 
// ========= STEP 1: Create a record set by customer addresses
 
RecordSetByAddress[] customerAddresses = new RecordSetByAddress[7];
 
customerAddresses[0] = new RecordSetByAddress();
customerAddresses[0].Name = "customer1";
customerAddresses[0].Description = "Ocean Beach Customer";
customerAddresses[0].StoreID = "1";
customerAddresses[0].Address = "5080 Newport Ave.";
customerAddresses[0].City = "San Diego";
customerAddresses[0].State = "CA";
customerAddresses[0].ZIP = "92107";
customerAddresses[0].CustomerID = "1";
 
customerAddresses[1] = new RecordSetByAddress();
customerAddresses[1].Name = "customer2";
customerAddresses[1].Description = "La Jolla Customer";
customerAddresses[1].StoreID = "1";
customerAddresses[1].Address = "1250 Prospect St.";
customerAddresses[1].City = "La Jolla";
customerAddresses[1].State = "CA";
customerAddresses[1].ZIP = "92037";
customerAddresses[1].CustomerID = "2";
 
customerAddresses[2] = new RecordSetByAddress();
customerAddresses[2].Name = "customer3";
customerAddresses[2].Description = "Pacific Beach Customer";
customerAddresses[2].StoreID = "1";
customerAddresses[2].Address = "1762 Garnet Ave.";
customerAddresses[2].City = "San Diego";
customerAddresses[2].State = "CA";
customerAddresses[2].ZIP = "92109";
customerAddresses[2].CustomerID = "3";
 
customerAddresses[3] = new RecordSetByAddress();
customerAddresses[3].Name = "customer4";
customerAddresses[3].Description = "Morena Customer";
customerAddresses[3].StoreID = "1";
customerAddresses[3].Address = "1240 W. Morena Blvd.";
customerAddresses[3].City = "San Diego";
customerAddresses[3].State = "CA";
customerAddresses[3].ZIP = "92111";
customerAddresses[3].CustomerID = "4";
 
customerAddresses[4] = new RecordSetByAddress();
customerAddresses[4].Name = "customer5";
customerAddresses[4].Description = "Clairemont Customer";
customerAddresses[4].StoreID = "1";
customerAddresses[4].Address = "6393 Balboa Ave.";
customerAddresses[4].City = "San Diego";
customerAddresses[4].State = "CA";
customerAddresses[4].ZIP = "92111";
customerAddresses[4].CustomerID = "5";
 
customerAddresses[5] = new RecordSetByAddress();
customerAddresses[5].Name = "customer6";
customerAddresses[5].Description = "Bird Rock Customer";
customerAddresses[5].StoreID = "1";
customerAddresses[5].Address = "5735 La Jolla Blvd.";
customerAddresses[5].City = "La Jolla";
customerAddresses[5].State = "CA";
customerAddresses[5].ZIP = "92037";
customerAddresses[5].CustomerID = "6";
 
customerAddresses[6] = new RecordSetByAddress();
customerAddresses[6].Name = "customer7";
customerAddresses[6].Description = "University City Customer";
customerAddresses[6].StoreID = "1";
customerAddresses[6].Address = "3254 Governor Dr.";
customerAddresses[6].City = "San Diego";
customerAddresses[6].State = "CA";
customerAddresses[6].ZIP = "92122";
customerAddresses[6].CustomerID = "7";
 
TaskResultOutput recordSetResult =
    baServerHelper.CreateRecordSetByAddresses(customerAddresses, esriFolderType.esriFolderCustomerLayers);
 
TableData tableData = new TableData();
tableData.RecordSet = recordSetResult.RecordSet;
GeocodeData geocodeData = new GeocodeData();
geocodeData.Table = tableData;
 
// ========= STEP 2: Geocode the record set with customers
 
CustomerStoreSetupByGeocodeTableParameters geocodeParameters = new CustomerStoreSetupByGeocodeTableParameters();
 
// Set specific analysis parameters
geocodeParameters.GeocodeCustomers = true;
geocodeParameters.GeocodeData = geocodeData;
geocodeParameters.LinkField = "STORE_ID";
geocodeParameters.NameField = "NAME";
 
// Set other parameters
imageOptions = null;
outputOptions = new TaskOutputType[] { TaskOutputType.GetFeatureClass };
 
// In general, a non-null esriFolderItem is specified to save a newly-created
// item to the server-side repository or to reference an existing item in it.
outputLayer = new esriFolderItem();
outputLayer.folderType = esriFolderType.esriFolderCustomerLayers;
outputLayer.itemName = "customerLayer_CustomerDerivedAreas";
outputLayer.projectName = "Default Project";
outputLayer.workspaceName = "Default Workspace";
 
TaskResultOutput geocodeResult =
    baServerHelper.CustomerStoreSetupByGeocodeTable(geocodeParameters, imageOptions, outputOptions, outputLayer);
 
PointLayer customerLayer = new PointLayer();
customerLayer.RecordSet = geocodeResult.RecordSet;
 
// ========= STEP 3: Execute the analysis
 
CustomerGeographicSummaryParameters parameters = new CustomerGeographicSummaryParameters();
 
// Set specific analysis parameters
parameters.Customers = customerLayer;
 
// Set report options
ReportOptions reportOptions = new ReportOptions();
reportOptions.ReportFormat = "PDF";
reportOptions.ReportHeader = new KeyValue[1];
reportOptions.ReportHeader[0] = new KeyValue();
reportOptions.ReportHeader[0].Key = "subtitle";
reportOptions.ReportHeader[0].Value = "Customer Geographic Summary Report for 7 customers";
parameters.StandardReportOptions = reportOptions;
 
// Set other parameters
outputReport = null;
 
TaskResultOutput result = baServerHelper.CustomerGeographicSummary(parameters, outputReport);
 
string reportURL = result.Reports[0].ReportURL;

See Also