Date post: | 28-Oct-2015 |
Category: |
Documents |
Upload: | koushik-banerjee |
View: | 253 times |
Download: | 7 times |
User’s Manual July 2012
Version 1.3.0
Kl iqPlan User’s Manual – Vers ion 1.3 Page 2 of 35
Table of Contents What is KliqPlan? ................................................................................................................................ 3
What can you do with KliqPlan? The functional perspective ................................................................. 4
What can you do with KliqPlan? The application perspective ................................................................ 5
How does KliqPlan work? .................................................................................................................... 6
Configuring KliqPlan ............................................................................................................................ 7
Setting the back-end database ......................................................................................................... 7
Setting the audit trail fields .............................................................................................................. 8
Adding KliqPlan to the QlikView document........................................................................................... 9
Settings ........................................................................................................................................ 10
Dimensions ................................................................................................................................... 12
Expressions ................................................................................................................................... 13
Calculated Columns ....................................................................................................................... 15
Server Reload................................................................................................................................ 16
Options......................................................................................................................................... 18
Data-entry with KliqPlan.................................................................................................................... 20
Smart data-entry ........................................................................................................................... 20
Using the toolbar........................................................................................................................... 24
Configuring KliqPlan for spread-back.................................................................................................. 32
Setting the back-end database ....................................................................................................... 32
Managing Users ................................................................................................................................ 33
Examples .......................................................................................................................................... 34
Locking cells based on a planning calendar ..................................................................................... 34
Combining locked actuals with editable budget figures.................................................................... 35
Kl iqPlan User’s Manual – Vers ion 1.3 Page 3 of 35
What is KliqPlan?
If you love QlikView and you ever thought "Wouldn't be great to do data-entry inside QlikView and to be
able to develop budgeting and planning applications?" now you can with KliqPlan.
KliqPlan is the first of a new line of Extension Objects for QlikView called KliqObjects.
It supports data-entry within QlikView with a rich set of features including: data spread&break-back,
blocked totals, cells locking, smart Paste and audit trails.
KliqPlan is available for QlikView version 10 and later.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 4 of 35
What can you do with KliqPlan? The functional perspective
In essence KliqPlan is a data-entry grid for QlikView. Any time you need to enter numbers within QlikView
you can use KliqPlan. If you need also to add data items (like products, versions, etc.) there is a companion
KliqObject (KliqTable) you can use as a table editor.
Although the grid itself is two-dimensional (rows and columns) it works within the QlikView document and
therefore there is no limit to the number of dimensions you can manage for your input data. You can for
example enter sales plan data by Month, Year, Version and Product: the data-entry grid may have products
by row and months by columns. Years and versions may be managed with lists in your QlikView document.
If you have hierarchies (e.g. products-lines-brands), KliqPlan allows you entering data at an aggregate level
(e.g. by brand) and it will automatically spread-back the changes to the lowest level (e.g. by product).
In a very simple way you can lock data (disable the data-entry) on a cell-by-cell basis through a QlikView
expression: you can display actual data for closed month and editable cells for planning months. Being a
QlikView expression the locking logic can be as complex as you need: taking into account for example the
current date versus the planning calendar and the current user versus the hierarchies.
You can manage a distributed planning process with multiple users entering data in a common database
with full control thanks to KliqPlan Audit Trails feature.
The KliqPlan grid is dynamically integrated within the QlikView document and gathers the data from it:
when you are entering your budget figures you can use a QlikView expression to display side by side any
useful info like the previous year sales.
KliqPlan does not come with a predefined model, you can use it to build exactly the application you need.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 5 of 35
What can you do with KliqPlan? The application perspective
Initialize the budget using previous year sales as a reference
Create different budget versions
Manage a distributed data-entry where different actors collaborate, participating to the budgeting
process in a secure and controlled way with audit trails
Manage planning calendars
Explode an aggregate budget to a detailed one in a Top-Down approach
Leverage all the power of QlikView for analyzing performance against the budget
Make the budget figures available for other systems
All this and much more is now possible with amazing speed and simplicity thanks to KliqPlan.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 6 of 35
How does KliqPlan work?
The KliqPlan solution is made of two components: the extension object (KPEO) and the web service (KPWS). The extension object is a data-entry grid which can be used in any QlikView document. When the user hits Save the new/changed data are sent to the web service which takes care of writing them in a buffer table in a relational database. The data are then loaded back into QlikView.
You can use the KPEO in a document opened with the browser (AJAX client) from the QlikView access point or opened with the Desktop client in WebView mode.
KPWS receives from the KPEO the new/changed data together with the QlikView document current selection and the user id: it compares these data with the structure of the buffer table to check that it has all the information (e.g. primary keys) it needs to create/update records in the table. If it does not have all the required information it automatically looks for hierarchy tables (please see chapter “Configuring KliqPlan for spread-back”).
If the buffer table contains some standard audit trail fields (user name, date/time of creation, date/time of last change), the KPWS automatically updates them.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 7 of 35
Configuring KliqPlan
Setting the back-end database The database used to store the entry data can be any kind of OLEDB accessible database (e.g. MS SQL
Server standard or Express, Oracle, DB2, MySQL, etc.). The demo dataset is provided both in SQL Server
and MS Access (.accdb) format.
Important! Make sure you define the primary keys.
The following image illustrates an example where we are entering data with products by row and months by column. The document contains two lists: years and versions. Therefore the KPWS has all the information corresponding to the primary keys of the buffer table budget_month_prod: Year, month, version and product_code.
Important! In this case both Year and version must have one value selected. To avoid wrong selections, use the objects properties (not in web view) and select in the "General" tab the option "Always one value selected".
Kl iqPlan User’s Manual – Vers ion 1.3 Page 8 of 35
Important! The name of the fields in the QlikView document must match exactly the names of the fields in
the buffer table.
Setting the audit trail fields KPWS recognizes and uses automatically the following fields for audit trail:
Field Name Field Type Description
kp_user Nvarchar User name
kp_created datetime2 Date/time of creation
kp_modified datetime2 Date/time of last change
If these fields (one or more) are present in the buffer table KPWS will update them using the user and the
current date/time.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 9 of 35
Adding KliqPlan to the QlikView document Using QlikView Desktop in WebView mode you can add the KPEO by selecting it from the list of installed
extension objects:
Having added the KPEO to the document you can right click on it to set its properties.
Important! You can add only one KPEO in each tab of your document.
Important! Since QlikView will automatically set default values for all the expressions (like the description
for rows and columns, the input, base, etc.) please check them one by one and clear them if you don’t need
them.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 10 of 35
Settings
Important! When you change the properties the grid will be refreshed and therefore any unsaved data will
be lost. This applies only when working with the QlikView Desktop client since properties cannot be
changed when opening the document with the browser from the Access Point.
Server Here you must set the URL of the KliqPlan server. If you installed KliqPlan with the UltiDev web server by
default it will be set on port 2033:
http://myServer:2033/kliqplan
For a local installation the URL will be:
http://localhost:2033/kliqplan
For an installation under MS IIS the default URL will be:
http://myServer /kliqplan
You can check if KliqPlan is properly installed and installed by opening the URL in a browser.
Connection string
Here you set the connection string to be used to connect via OLEDB to the backend database.
You can:
type here the full connection string, like:
Provider=SQLOLEDB;Data Source=(local);Initial Catalog=KliqPlanDemoTennis;User Id=kp;Password=kp;
or
Kl iqPlan User’s Manual – Vers ion 1.3 Page 11 of 35
store the connection string in text file located in the KliqPlan folder on the server in \KliqPlan\App_data\connections and indicate here the name of the file without the extension and preceded by @, e.g. @kpdemo2012 to point to the file kpdemo2012.txt.
Please see the useful web site www.connectionstrings.com for examples of connection strings.
MySQL support
KliqPlan integrates directly with MySQL thanks to Connector/Net, the fully-managed ADO.NET driver for
MySQL. Connector/Net can be downloaded from http://www.mysql.com/downloads/connector/net/ and
must be installed where KliqPlan Server is installed.
KliqPlan has been tested with version 6.5.4 of Connector/Net.
Important!
The connection string must start with MYSQL:
the character set must be set in the connection string in order to manage fields/tables with
characters such as è, é, etc.
E.g. MYSQL:Server=192.168.0.3;Port=3306;Database=DemoTennis;Uid=kp;Pwd=kp;character set=utf8;
Table
Type here the name of the buffer table. E.g. budget_month_prod
Input field
Type here the name of the field of the buffer table corresponding to the input data. E.g. bdgProduct.
If you leave it blank KliqPlan will use the name of the Input field set in the Expressions section of the
properties.
Number mask
This option is not yet active. Planned for release 1.2.1
Totals
Check this option to display row and column totals in the grid.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 12 of 35
Dimensions
By Column
You must choose what you want to display by column. The name must correspond to a field in the buffer
table or in a hierarchy table (see section “Configuring KliqPlan for spread-back”).
You can also set a QlikView expression (by clicking the black squared button) which will be used as a
description of the items by column (e.g. Month by column and =MonthName(monthStart) as description).
You can select with the drop-down if you want to display in the headers the codes, the descriptions or
both. KliqPlan will save always the code to the backend database.
This expression could also be used to display descriptions in different languages based on the user’s
language settings. The user’s language can be obtained with:
=getregistrystring('HKEY_CURRENT_USER\Control Panel\International','sLanguage')
By Row
You must choose what you want to display by row. The name must correspond to a field in the buffer table
or in a hierarchy table (see section “Configuring KliqPlan for spread-back”).
You can also set a QlikView expression (by clicking the black squared button) which will be used as a
description of the items by row (e.g. product_code by row and product as description). You can select with
the drop-down if you want to display in the headers the codes, the descriptions or both. KliqPlan will save
always the code to the backend database.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 13 of 35
This expression could also be used to display descriptions in different languages base d on the user’s
language settings. The user’s language can be obtained with:
=getregistrystring('HKEY_CURRENT_USER\Control Panel\International','sLanguage')
Important! If you use an expression for rows/cols description please make sure that the expression returns
values. You can check it with a separate pivot table. If the expression does not return values the grid will be
empty. E.g. in the DemoTennis the expression =MonthName(monthStart) will not return values if more
than one year is selected.
Expressions
Input
This is the expression determining what will be shown in the entry cells. It may be used to display both the
input value and calculated ones: please see section “Combining locked actuals with editable budget
figures” for more details.
Base
This expression (mandatory) will be used as a base and will be displayed/hidden when you click the Base
button on the toolbar. Please see the section “Difference/Variance” for more details. If you don’t want to
use any base calculated expression simply set it to 0.
You can modify the input values by entering the Difference or the Variance.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 14 of 35
An example of a Base expression to visualize previous year sales could be:
=sum( {$<version=, Year = {$(=Max(Year)-1)}>} sales )
Lock
This expression will determine if a cell is open for input or read-only. The cell will be read-only if the value
of this expression is -1. Example of its usage are:
locking cells based on the user thanks to the QlikView function OSUser or QVUser.
Locking cells based on the current date (using the QlikView function Today) and the start and end planning dates of each version.
Locking cells based on the status of the period (actual or planning).
Please see the sections “Locking cells based on a planning calendar” and “Combining locked actuals with
editable budget figures“ for more details.
Cells
Due to the associative nature of QlikView it may happens that some cells will not appear in the KliqPlan
grid. For example if you have sales data until July 2012 and no other data in the model linked to following
months the KP grid will only display months from January to July for 2012. The Cells expression will force KP
to create the cells for months from August to December if you set an expression which has values for
August to December (for example by using set analysis). We recommend testing the expression using a
normal QlikView pivot table first.
Filter
You can use this expression to determine a filter (based on the row totals) for the rows. It can be:
Top to select the top x rows based on the filter expression. The rows will be sorted in descending order.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 15 of 35
Bottom to select the bottom x rows based on the filter expression. The rows will be sorted in ascending order.
Greater then to select the rows with a total (based on the filter expression) greater than the entered value. The rows will be sorted in descending order.
Smaller than to select the rows with a total (based on the filter expression) smaller than the entered value. The rows will be sorted in ascending order.
Top % to select the rows which makes up to the x% of the total (based on the filter expression). The rows will be sorted in descending order.
If the expression is left blank the Base expression will be used.
Context
This expression can be used to add values to the current selection (which will be used by KPWS while
saving the data). The required syntax is:
[field1 name]:[field1 values]; [field2 name]:[field2 values];
e.g. Channel:OEM;Version:Forecast;
If the same field is present in both the document current selection and in the Context expression, the later
will win.
Calculated Columns You can add calculated columns to the KP grid: the cells are recalculated whenever the user enters data.
The calculated columns will be added to the far right of the grid and the calculation expressions can be set
using the values of the field displayed by column.
If you have for example the measure field by column with the values units, price,discount1, discount2 and
specialPrice, the expression to calculate the Gross Sales will be:
“units”*”price”
The field values used in the calculation should be enclosed in double quotes.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 16 of 35
Server Reload
QlikView provides programmatic control of common management tasks via a web service API (QlikView
Management API). QlikView has also a feature that allows for tasks to be triggered: Event Driven Execution
Kl iqPlan User’s Manual – Vers ion 1.3 Page 17 of 35
(EDX) allows a single reload to be launched. KliqPlan can use the APIs to trigger the reload of the
document.
You will need first to create in QlikView a task to do the reload.
QV Server
Type here the URL of the QlikView API web service.
e.g. http://myserver:4799/QMS/Service
Task PW
Type here the password of the EDX task you created in QlikView to reload the document.
Auto Reload
When this option is checked and the document is opened with the browser from the QlikView Access Point,
KliqPlan will trigger the reload every time the users saves the data.
The reload can also be triggered by clicking on the related icon in the toolbar (it will appear if QlikView
version is 11 or later and if the URL is set).
Kl iqPlan User’s Manual – Vers ion 1.3 Page 18 of 35
Options
Administrator
If this option is selected and the user is an administrator the Debug button will appear in the toolbar.
Please see section “Debug On/Off” for more details.
Please see section “Managing Users” for details on how to configure administrator users.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 19 of 35
Language
You can set here the language for the KliqPlan object. The option Auto will detect automatically the user’s
system language. This means that if you have an application used by people from different countries you
need only one QlikView document, KliqPlan inside will automatically localize its interface based on the
language of each user.
The localization is based on xml files located in the server folder :
\KliqObjects\KliqPlan\App_Files\localizations
You can check the user’s language by opening the page ielocalecheck.htm.
E.g http://localhost:2033/kliqplan/ielocalecheck.htm
Kl iqPlan User’s Manual – Vers ion 1.3 Page 20 of 35
Data-entry with KliqPlan
Smart data-entry
In an input cell you can input:
- numbers (xyz) : totals are recalculated. - =xyz : the xyz value is copied in row cells on the right. - +xyz : every row cell on the right is set to the previous cell’s value +xyz. The value +xyz is not
accepted in a cell of the first input column. - %xyz: every row cell on the right is set to the previous cell’s value*(1+xyz/100). The value +xyz is
not accepted in a cell of the first input column.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 21 of 35
Totals
A total cell can be: the Row total, the Column Total and the Grand Total.
In a total cell you can input:
- numbers (xyz) : corresponding cells are changed proportionally. If the previous value was 0 then the totally is spread in proportion to the value of the base, otherwise the spread is based on the previous value of each single cell. If the Base expression is set to “0”, then the total is spread evenly to all cells = Total / number of cells (eg : if there are 12 columns, each cell = Total/12).
- = : related cells are set equal to the Base. - %xyz : related cells are set equal to Base*(1+xyz/100).
Difference and Variance
If you click the View/Hide Base, you make the Base, the Difference and the Variance for each column
visible. The Base is read-only, but you can modify the input values by entering the Difference or the
Variance.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 22 of 35
In a Difference cell you can input:
- numbers (xyz) : the input cell to which the difference cell relates is set equal to the base +xyz. Variance and totals are recalculated.
- +xyz : the difference cell is set equal to the previous value +xyz. The input cell to which the difference cell relates is set equal to the base + the difference. Variance and totals are recalculated.
- %xyz : the difference cell is set equal to the previous value + (xyz/100)*the previous. The input cell to which the difference relates is set equal to the base + the difference and variance and totals are recalculated.
In a Variance cell you can input:
- numbers (xyz) : the input cell to which the variance cell relates is set equal to the base + (1+xyz/100). Difference and totals are recalculated.
- +xyz : the variance cell is set equal to the previous value +xyz. The input cell to which the difference cell relates is set equal to the base *{1+previous/100 +[(xyz/100*previous)/100]}. Difference and totals are recalculated.
- %xyz : the variance cell is set equal to the previous value + (xyz/100)* previous. The input cell to which the variance cell relates is set equal to the base *{1+previous/100 +[(xyz/100*previous)/100]}. Difference and totals are recalculated.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 23 of 35
Percentage data-entry
If you need to enter percentage va lues (e.g. margins or discounts) now you can: when in 'percentage mode' all the totals (not
editable) are recalculated as weighted averages using the base which is mandatory. You could for example fi rst enter a sales
budget in dollars and then, in a second KliqPlan, enter % margins using the sales budget as a base.
To switch on the 'percentage mode' you simply need to enter a % format (e.g. 0.00%) in the Number Mask property.
KliqPlan now detects when you have unsaved data, also when moving from one tab to another in the
QlikView document, and allows saving them.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 24 of 35
Using the toolbar
Save
Click here to save the new/changed data to the backend buffer table.
A message with green background on the toolbar will display the number of cells sent to the KPWS and the
number of records created/modified in the buffer table. The 2 numbers may be different (eg : if the Row
field is an aggregated level of the product hierarchy, KliqPlan will break-down the value along the
hierarchy). When using the QlikView Desktop client a message inviting to reload the document will appear
above the toolbar.
Server Reload
If QlikView version is 11 or later and if the QlikView URL is set in the properties, this button will trigger the reload of the document on the server as set in the properties. The document must be in the server root folder. A message is now shown on the toolbar when the reload is in progress and the reload launch is disabled when it is already in progress.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 25 of 35
Copy Row
Once a row is selected by clicking it, click here to copy the row’s cells values to the KP clipboard.
Paste Row
Once a row is selected by clicking it, click here to paste the row’s cells values from the KP clipboard.
Paste Distribution
Once a row with values is selected by clicking it, click here to paste the row’s weights (% of the total) from
the KP clipboard.
Synch
When you have a row selected and click this button KP will look in the QlikView document for a list object
with the objectID equal to the field set by row in the KliqPlan grid (e.g. product_code) and filter it with the
value of the row (e.g. P04). If this list belongs, with other objects, to an alternate state (QlikView version 11
or later) you can use this way to use a section of the document to display detailed information (tables,
charts, etc.) about the item (e.g. product P04) you are entering data for.
Copy Grid
Click here to copy the cells of the entire grid to the KP clipboard.
Paste Grid
Click here to paste the cells of the entire grid from the KP clipboard.
View/Hide Base
Click here to toggle the viewing of the Base.
View/Hide Totals
Click here to toggle the viewing of the row and column totals.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 26 of 35
Lock Row Totals
Click this icon, when the totals are displayed, to toggle the locking of row totals. When the row total is
locked and you enter/modify a cell value all the other editable cells on the same row will be changed in
order to maintain the same row total.
Lock Col Totals
Click this icon, when the totals are displayed, to toggle the locking of column totals. When the column total
is locked and you enter/modify a cell value all the other editable cells on the same column will be changed
in order to maintain the same column total.
SmartPaste
Click this icon to paste values from an external spreadsheet.
Important! The first row must contain headers with the first cell empty. The first column must contain
headers.
KP will past the cells by mapping the values to rows and columns and by detecti ng automatically codes and
descriptions. If there is no match it will paste by position. KP will automatically ignore any subtotal
row/column.
KP will automatically detect, when there is a match, if a transposition of rows and columns is required.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 27 of 35
You can paste into a grid without affecting un-matched cells: the pasted data will be shown in italic.
SmartPaste will automatically detect if you have unsaved data in the grid and display a message:
Kl iqPlan User’s Manual – Vers ion 1.3 Page 28 of 35
SmartPaste is disabled when the Base is displayed:
SmartPaste aggregation & Consolidation
SmartPaste aggregation
SmartPaste now adds up automatically source cells corresponding to the same target cell.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 29 of 35
In the example above the grid cell for product B01 and month Jan 2012 will receive the sum of 4 cells: C5, C6, D5 and D6. When selecting the area to be copied proceed as usual (from cell B3).
Consolidation: SmartPaste Plus
The new SmartPaste Plus (new icon in the toolbar) adds pasted values to the KliqPlan grid existing data so
you can, for example, consolidate multiple sheets from Excel in few clicks.
In the next screenshot: if you use SmartPaste Plus and paste in sequence the data for the channels Stores
and Web you will end up in KliqPlan with the sum of the two.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 30 of 35
A confirmation request message will appear when you use SmartPaste Plus:
Kl iqPlan User’s Manual – Vers ion 1.3 Page 31 of 35
Help
Click here to visualize the online help. The tooltip displays both the extension object and the server module
version.
Debug On/Off
If the option Administrator is checked in the Properties/Options and this button is clicked, when you save a
new browser window with detailed information about the insert/update actions executed on the backend
buffer table.
Please see section “Managing Users” for details on how to configure administrator users.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 32 of 35
Configuring KliqPlan for spread-back
When you save data KPWS will check if it has all the information (all the primary keys) to write in the buffer
table. If you set the back-end database with views which will tell KPWS what is the data structure, it will
automatically use data hierarchies to spread-back the values in a top-down approach when you are
entering data at an aggregate level.
This may be clearer with an example: in the buffer table you have the product_code field and you have a
product hierarchy table where the product_code is the primary key and you have other fields such as line
and brand. You will then be able to set Brand by row in the KPEO grid and KPWS will automatically spread-
back the inputted brand values to the product_code level using the product hierarchy table.
Setting the back-end database
You will need to:
Have hierarchy tables where the primary key corresponds to a primary key of the buffer table . For each hierarchy table (e.g. products) define a view containing all the fields and name it
kp_h_[hierarchy table] (e.g. kp_h_products).
Define a view joining the buffer table (e.g. budget_month_prod) with the hierarchy table(s) and named it kp_v_[buffer table] (e.g. kp_v_ budget_month_prod). This view must contains all the fields from the joined tables.
KPWS will parse all the views with prefix kp_v_ and kp_h_ to automatically detect hierarchies.
Please refer to the DemoTennis dataset for an example.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 33 of 35
Managing Users
Users are managed with the text file LicUsers.txt located on the server in \KliqObjects\Users. Every time a
user uses a KliqObjects in a QlikView document the server will check if it is already in the text file and if not
will add it to the list up to the number of installed CALs.
In order to qualify a user as an administrator it has to be present in the list contained in the file
LicAdmins.txt located in the same folder. Users must be added manually to this file.
Kl iqPlan User’s Manual – Vers ion 1.3 Page 34 of 35
Examples
Locking cells based on a planning calendar
The lock expression, determining if a cell is editable, compares the current date [using the function
Today()], to the version starting and ending planning dates.
=if( Today() <=planningEndDate,if(Today() >= planningStartDate,1,-1),-1)
Kl iqPlan User’s Manual – Vers ion 1.3 Page 35 of 35
Combining locked actuals with editable budget figures
Using the Input expression you can determine, on a cell by cell basis, what is displayed in the input column.
It could be different from the input field provided that you set the name of the input field of the buffer
table in the properties (Settings/Input Field).
In this example the field monthClosed , used to flag a month as actual, is true until July 2012.
This Input expression visualizes actual data for closed month [until July 2012] and the Budget for others
months:
=if(monthClosed,sum( {$<version=>} sales ), Sum([bdgProduct]))
The input field [bdgProduct] is set in the "Settings" section of the properties.
The Lock expression:
=if(monthClosed,-1,0)
makes the cell non-editable for closed months.