Monday, June 29, 2009

Cognos 8.3 Configuration change

Hi,

I have started looking into the cognos admin activities also lately. I got some requests from developers to change the cognos 8.3 server configuration. The change is about saving the report output to the local shared drive on a per report basis.

Here are the short list of steps we need to do for setting up archive location to save the report outputs.

Following are the things we need to to set up those changes.

1) Change the cognos server configuration --> Set the saving the report output to file system to true and provide an archive base location for saving the report outputs.

2) Change the configuration settings in the cognos connection to set up the file path

Thanks,
Soma

Monday, January 19, 2009

Cognos ReportNet Hot Tips

Here are some of the list of links which gives some hot tips for Cognos ReportNet developers.
Discontinuous Cross tab Reports in Report Net using Tabular Set
1) <http://support.cognos.com/supported/supportlink/15n1/hottip07.xml>
Creating the Printer button in the Report Viewer
2) <http://support.cognos.com/supported/supportlink/14n3/hottip02.xml>
3) Removing the default parameters from the drop down list
<http://support.cognos.com/supported/supportlink/15n4/hottip06.xml>
4) Creating Banded Reports in ReportNet
<http://support.cognos.com/supported/supportlink/14n3/techreview11.xml>
5) Repointing Cognos ReportNet Reports to Different Databases
<http://support.cognos.com/supported/supportlink/15n4/hottip01.xml>
Cheers !!!
Soma

Scheduling the reports in Cognos 8

Cognos 8 architecture differentiates the requests requested by Interative and Non Interactive processes. For Ex: when the user is running the report manually, Report Service will process the reauest received whereas the scheduled report request will be processed by the Batch report Service.
We can use jobs to schedule one or more reports rather keeping the Individual schedule. Jobs can be submitted to run as follows: All at once or in Sequence.
All scheduling will be processed by the Job and Scheduling Service. This service is directly related to the Batch report Service which runs the scheduling requests.
Following are the parameters settings which we can set while configuring the Job and Scheduling Service.
Maximum Jobs During Non-Peak Period
The maximum number of jobs during non-peak periods identifies a configurable limit to the number of jobs that can simultaneously execute during the specified non-peak period range.
Maximum Jobs During Peak Period
The maximum number of jobs during peak periods identifies a configurable limit to the number of jobs that can simultaneously execute during the specified peak period range. If an application does not perform scheduled activity during the specified peak period range, this setting is inapplicable.
Cheers!
Soma

Monday, December 29, 2008

Need to extract Report XML from Content Store

I have a requirement to extract/see the report xml from the Cognos Content Store. I have searched the Cognos Support site, they dont have documented the schema of the Content store tables. I searched for tables, it took lot of time and we need to remember the join conditions. Later i found a discussion thread, please find the link below.
<
http://businessintelligence.ittoolbox.com/groups/technical-functional/cognos-reportnet-l/report-xml-in-content-store-1526046>
One of the Guy in the thread suggested a SQL to extract the plain text report XML.
select names.name, specs.spec from CRN.CMOBJNAMES_BASE names, CRN.CMOBJPROPS7 specs where names.CMID = specs.CMID and names.name LIKE '%REPORT NAME%' -- name field is case sensitve
I am going to try this in my content store tomorrow.
I also heard about this tool in the same thread. Its for meta data management.
I want to explore what this tool is doing.

Monday, June 23, 2008

Empty Page Report in Excel

Hi All,
I have created a report with 2 to 3 lists in a single page and included page break based on one grouping column. My requirement is to deliver the report in Excel, so everytime i will test the report in Excel. 2 to 3 list is from single query and this query includes 2 query subjects (joins defined between them). Everytime i ran the report after including a column from second query subject i got a blank report. And i got a error message like below.


Then i browsed some resolution, i found the below links.
1) http://businessintelligence.ittoolbox.com/groups/technical-functional/cognos-reportnet-l/excel-file-generation-in-cognos-sdk-1476584
2)
http://businessintelligence.ittoolbox.com/groups/technical-functional/cognos-reportnet-l/displaying-excel-report-1252168#

Then i found the issue is because of the second query subject, which has no matching rows with the first. I modified the join in FM to outer join between the 2 QS and tested the report. I can able to see the report now.
Thanks,
Soma

Friday, March 7, 2008

Cognos Interview Qs

I was going thru Cognos Forum yesterday. Some of the Cognos Interview Qs- below (which i found in the forum)

1. what is mean by lookup command? where we use it?
2. what is mean by RCD.
3. how to provide security in Framework manager?
4. What is stitched query?
5. What is mode filters in FM?
6. What is meant by Business Key and Determinant?
7. What is ragged dimension?
8. What is the difference between Conformed and Shared dimension?
9. What is the difference between business key, member key and member caption?
10. What is layout component reference?
11. what is report expression
12. which web server u r using?
13. how many documents u have prepared?
14. Performance tuning of a report & also database tuning?
15. Can we create any folder(we have public & my folder),& how?
16. where will be report will be saved.& how will submit to the end user?
17. if any errors occurred what u will do?& to whom u will report?

Migrating from Cognos ReportNet to Cognos 8

Last week i was trying to upgrade the model and publish a Cognos ReportNet 7.3 FM Model to Cognos 8. When i was trying to achieve that i have faced some issues regarding the installation.

Following things are required to check this example:

1) Cognos ReportNet 7.3 Server and Framework Manager 7.3 installed.
2) Sample Cognos ReportNet FM Model which we are going to upgrade.
3) Cognos 8 Server and FM 8 installed

I created a sample model in FM 7.3 and saved the model for upgradint it. I have opened the model in FM 8 to upgrade it. When i give upgrade model, it will verify the model - when verifying the data sources and security settings need to be similar to Cognos ReportNet server. If those ojects are not available, the we have to create in C8 environment and verify the model. If setup is available, there will be no errors regarding those missing setup. Then we have to makesure all the tables used in model are present and then we have to verify eacn and every object.

Following are some errors when i upgrade the FM model:

Verify Model Report
Object: [GOSL].[PRODUCT]
Severity: BMT-MD-3010 Object contains deprecated key and index information.
Error: BMT-MD-2031 This object contains deprecated key and index information.
Repair: BMT-MD-3510 Keys and unique indexes will be converted to determinants as long as the object does not already contain determinants.
________________________________________
Object: [GOSL].[PRODUCT]
Severity: BMT-MD-3004 The object status is invalid.
Error: BMT-MD-2008 This object has a status of 'Needs Reevaluation'. Unable to validate this object.
Repair: BMT-MD-3512 The query subject will be reevaluated.
________________________________________
Object: [GOSL].[INVENTORY_LEVELS]
Severity: BMT-MD-3010 Object contains deprecated key and index information.
Error: BMT-MD-2031 This object contains deprecated key and index information.
Repair: BMT-MD-3510 Keys and unique indexes will be converted to determinants as long as the object does not already contain determinants.
________________________________________
Object: [GOSL].[INVENTORY_LEVELS]
Severity: BMT-MD-3004 The object status is invalid.
Error: BMT-MD-2008 This object has a status of 'Needs Reevaluation'. Unable to validate this object.
Repair: BMT-MD-3512 The query subject will be reevaluated.
________________________________________
Object: [].[dataSources].[GOSL]
Severity: BMT-MD-3999 An unknown error occurred.
Error: BMT-MD-2036 The following error occurred while testing the integrity of the object: QE-DEF-0314 An error occurred while calling the content store for the database: 'GOSL' information. CCL-RCI-0004 Content Manager returned an authentication fault. CM-REQ-4159 Content Manager has returned an error in the response header.
Repair: BMT-MD-3500 There is no repair action available.

URL for the child report

Today i have learnt how to run the report using the URL. We can actually pass the parameter to the reports using the URL. I created simple parent and child reports. Passed the reports selected in Parent report to child report.
THE URL WILL look like this:

--crn/cgi-bin/cognos.cgi? b_action = xts.run&m = portal/report-viewer.xts&method = execute &m_obj = /content/package [@name = package name] /folder[@name = folder_name]/report[@name = report_name] &outputFormat =PDF

You can pass single-select, multi-select and multi parameters from parent to child report.

2 Page Report - Summary and detail reports

Its been quite a long time here.

I was trying to create a Cognos Report with 2 pages in it, One for Detail and one for summary. Both the pages are related to seperate queries. I have to giev Page break on detail report and atlast summary report. When i am doing POC - it is not returning as expected. We can give single page breaks - applied to both pages. Then i changed my design approach. I finally deceided to have a summary report and when the user clicks on the a link on summary report - user can able to detail report. ReportNet have a limitation that you cant able to pass the Multi - Select paramters from Parent to shild (detail report), but you can able to pass multi parameters.

Monday, December 24, 2007

Cognos 8.3 New Features

Hi,

Today i was jst wondering what might be the upgrades in the next version of Cognos which my firend was told me(Cognos8.3) . Following are the few updates i got from the site.


Thanks,
Soma

Tuesday, November 27, 2007

C8 and C7 comparison

C8 and 7 comparison

I am just curious how the XML tag organization was different between the cognos 7 and cognos 8 version. Since my client is in the verge of migrating to Cognos 8 environment. I was just comparing both the XML tags for a simple report. For comparison to be simple, i created a simple list report with 4 to 5 columns both in cognos 7 and 8. First i took the Query section alone, which usually will come before the report layout.

1) Since tabular model concept was not there in Cognos 8 there is no tag named in cognos 8.
2) Cognos 8 report will directly access the data item from query, so Cube, dimension and factlist tags are not present in C8.
3) The hierarchy of Query in C8 is
Queries > Query > Selection > Data Item.

Whereas in Cognos 7
QuerySet > BIQuery > Cube > Factlist and Dimension
> Tabular model > data item
4) There is one tag called Source in the query, i need to explore this. Will do in upcoming blogs if i come to know any.

Thanks and Regards,
Soma

Friday, November 23, 2007

Cognos Java Script Learning I

I am now expanding my knowledge on using Java Script in the Cognos ReportNet. I have gone through the following Cognos help link which describes the code to clear the selections from multiple multi-select boxes with a single click.
We have to use the following Javascript in the HTML Item to deselect the selections of a List Box.
listBox_..._deSelectAll() for all the list boxes.
I am writing a custom function in Java Script called ClearAll() which will clear the all the list boxes referring inside the function.
function clearAll()
{
listBox_Parm_Region.deSelectAll()
listBox_Parm_Product.deSelectAll()
}
In the above function Parm_Region and Parm_Product are the list box name in the Prompt page.
I am calling that function on the click of one button. The following code is used to add a button in the prompt page. When clicking that button, function ClearAll will be executed.

" <button style="" class="clsPromptButton" onmouseover="this.className = 'clsPromptButtonOver'" onmouseout="this.className = 'clsPromptButton'"
onClick="clearAll();">Deselect All "

http://support.cognos.com/knowledgebase/googlesearch?load_kb_document=1&dr=kb1&uniqueid=134543

I didn't triy the above code. I just skimmed and i understand the functionality. I have to try the above code soon.

Friday, November 9, 2007

Creating IQDs through FM

I was just skimming through the questions of Cognos community in Orkut.
I saw a thread where the user asks whether we can create IQD using Framework manager?

Please find below for my response. Yes we can create IQDs from Framework manager.

In the business layer make sure you have included all the columns from different tables to the query subject.Click on the properties of the Query subject in Business layer. You will find a property called Externalize Method: Change it from default to IQD.While publishing the package, the publish package wizard there is a place where you have the local/physical file path where you need your IQDs to be created.

Thanks and Regards,
Soma

Calculated Data Item in Cognos ReportNet

Today i have a requirement in my project. I need to generate a sales report for products which includes grouping at all levels of the product hierarchy. I need have a group footer which will show the corresponding measures summary for the particular level of grouping. As for as the numerical fields from the database are concerned i know the ReportNet column will calculate the sum at the corresponding levels if we give aggregation 'TOTAL' at Cube(Query) Level. I need to calculate the percentage based on 2 columns from Database. There is no problem in the detailed rows as for as the calculation is concerned. but when it comes to show the percentage at the sub group summary. I am not aware of using the aggregation = 'CALCULATED' property at Cube (Query) level. So for i am using the work around, I will calculate the totals for each sub group level in a data item and use it in another data item to calculate the percentage at the corresponding levels. This will definitely affect the performance of the report since the number of Data items and Calculations are more in this kind of approach.

So if we give Aggrgation proprty of a Data Item both at TMOD and Query level, we can use the particular calculations even in the Sub grouping level summaries.

Your feedbacks and Comments are welcome as it will provide a way to improve. May be my insight says my english is not much good. I am working on that, Please excuse.

Master Detail Relationship in Report - Check the Filter condition of the Master query before including the detail query

For last couple of days i am working on the Master Detail Report. I heard Master Detail Reports involve outer joins in the Report which will affect the performance drastically. We have explained this scenario to our customers. We cant achieve the requirement of Customer without the Master Detail Query. Customer has accepted for this, since they compromised on the Prompts they are going to select are few. I have added a in the report. I tried to include a parameterized detail query, It shows a error when i am selecting the parameters for detail query since the filter condition for Master query is not valid. Later i modified the Master Query filter, then i am able to include the detail queries. Now only i know that the parameter filters of Master Query is validated before ReportNet it let us to include the detail query.

Sunday, November 4, 2007

Cognos ReportNet Architecture

Cognos ReportNet

Cognos ReportNet uses Platform Independednt technologies such as
1) XML -Extensible markup Language
2) SOAP - Simple Object Access Protocol
3) WSDL - Web Services Definition Language

ReportNet Architecture:
We have 3 layers in the Cognos ReportNet: Web Server, Application Layer and Data Layer

User Interfaces:
Following are the interfaces through which we can access Cognos ReportNet.
* Cognos Connection
* Report Studio
* Query Studio
* Framework Manager

In the above four except Framework Manager (FM) all are web based whereas FM is windows based.

Cognos Connection:
1) Public Folders:
2) My Folders:
3) Directory:
4) Capabilities:
5) Schedule Management:
6) Server Administration:
7) Deployment:

Cognos Application Firewall and ReportNet Gateway - Tier 1 Web Server layer

Cognos Application Firewall:Cognos Firewall in addtion to the organization Firewall provides high levl secutiry to ReportNet on top of ReportNet Gateway.

ReportNet Gateways:
Following are some of the gateways supported by Cognos ReportNet - CGI, ISAPI, APACHE_MOD and SERVELET.

* CGI Gateway: It is the default gateway supported by all webservers. It delivers slow performance.
* ISAPI: It is used for Microsoft IIS -faster with MS IIS.
* APACHE_MOD: With Apache Web Servers
* Servelet: To use this gateway, Your web servers should support this.

When a ReportNet gateway receives a request, it encrypts passwords to ensure security; extracts information needed to submit the request to a ReportNet server; attaches environment variables.

Tier II - Applications - ReportNet Server
Runs the Reports and Queries forwarded by ReportNet Gateway.
Renders the Cognos Connection Interface.
Content Manager - which manages ReportNet Information.
Dispatcher - operates services and route requests.

Content Manager:
1) It stores all ReportNet information in Relational Database (Content Store).
2) We can install Content Manager any number of times for a ReportNet Installation, But only one is active at any time.
3) Following are the information stored by Content Manager:
Reports - Report Specs, Properties, Security Settings and outputs.
Packages - Metadata, Reports and Folders
Server Configuration - Directory information, Cognos Namespace, Information about contact, Distribution Lists, Data Sources and Printers.
Personal User Information - It consists of My Folders and My Pages.
4) It contains names, descriptions and tool tips in different languages to support Multilingual Capabilities.
5) It also Performs Content Store Management Functions such as Export and Import.

Content Access Manager: Primary Security component of ReportNet.
#) It Provides ReportNet with a consistent set of Security Capabilities and APIs - Including authentication, authorization and encryption.
#) Some security capabilities, such as user authentication, are external to ReportNet but are exposed to ReportNet by Access Manager.
#) Other capabilities, such as authorization, are internal to ReportNet, and are implemented by Access Manager.
#) For many security-related functions, Cognos Access Manager requires certificates and interacts with a Certificate Authority.
Dispatcher:
1) Starts all ReportNet Services configured in the computer, routes the requests, distributes configuration changes.
2) It is a Multi Thread application, which uses one or more thread per request. 3)
3) When a dispatcher starts, it registers itself with the content manager.
4) The Services managed by dispatcher includes the following:
Presentation Service, Batch Report and Report Services. Job and Schedule Monitoring Service and Log Service.
Presentation Service - Used in cognos Connection and Query Studio.
* Accepts the User imformation
* Stores and Retrieves information in content Manager.
* Creates Cognos Connection page in Report Viewer

Batch and Report Services - Used to run reports and retrieve Metadata from Content Manager.
It also includes many components like Metadata Service, Query Engine and PDF engine.

Job and Scheduling Service - It manages the scheduled jobs and reports, which are run y Batch service. It also send e-mail.

Log Service - manages all logs generated by the dispatcher and other services.

TIER III- DATA CONTENT STORE
The ReportNet data tier contains the content store which may be anyone of the RDBMS.

It is used by content manager to store the information that are visible and mabager through cognos Connection. Information stored in the Content Store may include - Packages, Folders, Reports, Saved outputs, Directories, Server Coonfigurations and ReportNet Deployment.
Content Manager user JDBC API to access the content store. ReportNet comes with respective JDBC drivers specific to different Databses available in the market.

Cognos does not publish the content store schema. It periodically updates the schema isolating the changes from the user through stable user interfaces and API.

Much of the information in Content Store, Such as Report Results and XML report specs are stored as Binary Large Object Fields (BLOB). All the report outputs in different formats are compresses and stored in content store. Content Manager uncompresses when it is sending to User.

Friday, October 26, 2007

Master Detail Query

Hi,
Today i got a chance to create/modify one report. I need to add one Master/Detail functionality in that report.

Below are my learnings regarding Master/Detail report.

There are 2 types of Master Detail Query:

1) Filterized Detail Query
2) Parameterized Detail Query

Steps to Create Master Detail Query in Cognos ReportNet:

A master-detail query is an outer join. It is useful when you want to include ALL records in the master query regardless of whether there are matching records in the detail query or not. (These instructions are based on CRN V7 MR3.)
1. On a blank report page, drag in a new list item (called MasterQuery in this example). Populate it as needed.
2. Drag in a new list item (called DetailQuery in this example) and drop it into one of the columns of the MasterQuery list. Populate this list as needed. One of these fields (called ID in this example) must be related to an associated field in the MasterQuery list to link the two queries. This step must be done correctly to allow DetailQuery to be an available selection in Step 5 below.
3. On the Menu Bar, select Data > Master/Detail Relationships...
4. Select MasterQuery in the top listbox.
5. Add DetailQuery as a filtered query and set MasterQuery.ID=DetailQuery.ID. If DetailQuery is not shown as an available detail query selection, then double-check that you performed Step 1 correctly.
6. Run your report.

Some further notes:
1) You can add multiple detail queries to a single master query. You can enhance the appearance of the report by hiding the detail query list headers as desired.
2) When you have Stored Procedures in the back end, Filterized Detail Query won’t work in case of Master Detail Reports.
3) By Default in the window where you choose your detail query. It will list all the queries in the report which uses parameter.

Will meet you soon in my next blog with more learnings.

Bye

Wednesday, October 24, 2007

Master Detail Report - Error

Hi All,

Today i worked on the Master Detail Report. I got some error while creating and running the report. I am confused and validated the report. I got the follwoing error while running the report.

Cognos ReportNet Error:
Master – Detail Report
RSV-SRV-0036
Details: CCLAssertError:0:Fatal: CCL_ASSERT(m_nodeImpl != NULL);

Trace back:
WPBIBusMethod.cpp(201): CCLAssertError: CCL_CAUGHT: WPBIBusMethod::runRequest
WPReportExecutionMethod.cpp(185): CCLAssertError: CCL_RETHROW:WPReportExecutionMethod::checkRequestForExceptions
WPExecuteRequestThread.cpp(169): CCLAssertError: WPExecuteRequestThread::checkException
WPEngine.cpp(1028): CCLAssertError:
WPController.cpp(263): CCLAssertError: CCL_RETHROW: WPController::executeRendering()
LWDataRetrievalEngine.cpp(804): CCLAssertError: CCL_RETHROW: LWDataRetrievalEngine::iterateResultSets
CCLIDOM_Node.cpp(503): CCLAssertError: CCL_THROW:

This is because of not linking the Master and Detail Query properly. Later when i linked those 2 queries properly the error is resolved.

Thanks and Regards,
Soma

Cognos Interview Preparation

Hi All,
I am back. i thought of preparing for some technical interviews. Since i have been into IT field last 2 yrs, Its worth to get thorough in one. So i started of with cognos Reportnet. Following are sone Interview Questions i collected from net.

1) What is the difference between macros and prompt?
Macro No Idea, Prompt is to filter the data.
2) WHAT IS THE DIFFERENCE BETWEEN LIST REPORT AND CROSSTAB REPORT?
List report show data in rows and columns versus a crosstab report show data in grids with dimension in rows and columns and measures in cells or in the intersection points.
3) Give me some examples for Lifecycle reporting, I mean which lifecycle we will use for reporting?
There is no specific reporting lifecycle. We can generate the reports from datawarehouse/data marts or we can generate the reports directly from OLTP systems.
wt i mean generating reports from OLTP systems is Loading data into one system and generating the reports. But this is not recommended.
This will depends on the business.
4) How we check the errors before running the report?
Validate the report icon in the tool bar
5) What is the difference between group and association?
Group - It Eliminates the Duplicate values from the report break the columns it’s having a one to many relationship.
Association- It Eliminates the Duplicate values from the report and its having one-one relationship....
6) What is IQD? What is contained in IQD? How you create IQD in ReportNet Framework?
IQD Is impromptu query definition, the name it self indicating dat , it contains the SQL statement. To create the iqd in Frame work manager, Create a new query subject with required query items .Set the Externalise method property of that Query subject to 'iqd'.
While the publishing the package select the 'Generate the files for Externalized query subjects'. and publish it to the local machine, which can be used as data source for Transfromer model.
7) What is a loop in Framework manager?
Loop is an very dangerous exception in framework manager we can resolve the loop create alias table. loop Dispaly wrong results in the reportnet.
A Loop is a Closed Path Circuit.
Avoid loops:using shortcuts.we have ambiguous relationships types:hierarchical relationships,recursive relationships,multi-valid relationships.to avoid these relationships using shortcuts.
8) How to create cubes in transformer ?
9) How to create users and permissions in cognos?
Users and Permissions can be given in Access manager - Administration.
Individual users can be created using their names or their Ids (if any) in Access manager and then be given permissions.
This tool is loaded when you install Cognos 7.x in your machine.
In content manager--we have one component called cognos process manager.using process manager we can integrate with third party tools like LDAP or NTLM.we can not create users in reportnet directly.in real time we can use LDAP.
10) What s Cognos Visualizer and Cognos Scripting?

Cognos Visualizer is a tool for creating charts(bar, pie, histogram......) & maps using datasources(datafiles like mdc,iqd,csv,excel etc).

Cognos scripting is like a language, with this we will create macros, Macro is a set of instructions to run a report

Sunday, October 21, 2007

Transformer Model files

Hi All,
I am new to Powerplay transformer. Since i have got some experience on the Other OLAP tool SSAS (SQL SERVER ANALYSIS SERVICES), I didnt find this tough enough to learn. I have learnt some primitive steps on how to build the cube in Powerplay but that is not enough for designing big cubes and not well versed on the design considerations. Sure i hope i will gain fluentzy as the day proceeds.
If you are worked in Powerplay Transformer, you may wonder why we need 2 formats of model files (.mdl and .py?) like me. I found out what are the advantages and dis-advantages of 2 model file formats.
If you come across the Cognos Transformer a OLAP tool to model your cubes, you will be familiar with two file types .pyi and .mdl. The base model for the Cube will be saved in these formats. I wonder why we need two formats to save the model? And what is the major difference between these 2 formats.

Today as I browsed through the help files of the cognos documentation, I come across a File named pp_trns_mdl.pdf (Transformer MDL Reference) which explains all about the MDL. I assure you that I not even looked into those files after I install cognos 2 weeks back .lol!

I just skimmed thru the first few pages of that document; I was absorbed by the answer which I was looking for? The first chapter itself explains about the difference between two formats.

Now let’s look at the different features of those two file type (which is in the File I mentioned):

.mdl – Features

1) You can open the Models saved in the .mdl format in the User interface or in the text editor.
2) The .mdl format is the plain text representation of the model that is compatible between the versions of Transformer.
3) It loads more slowly than .py? Format because it creates all of the transformer objects when it loads.
4) Models saved in the .mdl format are machine independent.

.py? – Features

1) The py? Format is the binary representation of the model.
2) It is not compatible between the versions of the Transformer.
3) It loads faster than .mdl format because the Transformer Objects are not recreated when the model reloads.
4) In general .py? Models are larger than .mdl files.
5) As you edit the model, the size of the associated .py? file increases because it maintains the information on the operations performed during model editing.
6) Transformer uses this information in the variety of contexts such as Client-Server Operations and incremental updates.
Tip provided in the same help file: Storing model operations can cause model fragmentation within the binary model. To eliminate this fragmentation save .py? models periodically in .mdl format.
Best practice: It is a best practice to save your model files both in .mdl and .py? formats.
bye..