<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://spotfire.tibco.com/community/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>TIBCO Spotfire Community</title><link>http://spotfire.tibco.com/community/blogs/</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>Adding a Filter Control into a Text Area</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2012/01/25/adding-a-filter-control-into-a-text-area.aspx</link><pubDate>Thu, 26 Jan 2012 01:21:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:9270</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>2</slash:comments><description>&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;Many times authors will want to
allow a user to filter out values in a given column, but they do not want to
expose the Filter Panel, as it can add confusion and complexity for a consumer.
The workaround has been to use a Property Control to provide this capability
from within a Text Area. This solution had a series of unwanted side effects if
it was not setup properly.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;In 4.0, we now have the ability to
embed a Filter for a specific Column directly into a Text Area. &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;This also allows authors to make efficient use
of space and hide the Filter Panel. In addition, all the controls for a
consumer are located in the same place, making it easier for them to control
the dashboard.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;To add a Filter to the Text Area, select
the new ‘Filter Control’ icon from the edit Ribbon inside a Text Area.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;mso-no-proof:yes;"&gt;&lt;img height="112" width="624" alt="" /&gt;&lt;/span&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/filterInText1.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/filterInText1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;You are then presented with a
dialog box which allows you to specify which filtering scheme to use and then
which filter you wish to add to the Text Area.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;mso-no-proof:yes;"&gt;&lt;img height="294" width="431" alt="" /&gt;&lt;/span&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;a href="http://spotfire.tibco.com/community/blogs/tips/filterInText2.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/filterInText2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;Once you do that, the Filter
Control will show up in the Text Area.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/filterInText3.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/filterInText3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;mso-no-proof:yes;"&gt;&lt;img height="174" width="218" alt="" /&gt;&lt;/span&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;While in Edit mode for the Text
Area you can move the Filter around.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;You
cannot alter the Filter Text (ie. List Box, Radio Button, Checkbox, etc…)
however.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11.0pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-latin;"&gt;The Filter is a copy of the Filter
instance from the Panel, so if you want to update the Filter Type, you need to
do it from within the Filter Panel inside Spotfire Professional. That will then
automatically update the Filter Type from within the Text Area.&lt;br style="mso-special-character:line-break;" /&gt;
&lt;br style="mso-special-character:line-break;" /&gt;
&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;The use of the Filter should be
identical to the Filter in the Filter Panel, with a few minor exceptions. When
dragging a range slider in the Filter Panel, the visualizations are updated
immediately while the dragging is still going on. The Text Area version will
only update the visualizations when the dragging is finished.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Interested in learning more about the new features of TIBCO Spotfire for version 4.0? If so, attend our live training webinar on February 29th. Click &lt;a href="http://inter.viewcentral.com/reg/TIBCO/40delta"&gt;here &lt;/a&gt;for details. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBodyText"&gt;&lt;span style="font-size:11pt;line-height:125%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=9270" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Filter+Control/default.aspx">Filter Control</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Text+Area/default.aspx">Text Area</category></item><item><title>Adding a Filter Control into a Text Area</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2012/01/25/adding-a-filter-control-into-a-text-area.aspx</link><pubDate>Thu, 26 Jan 2012 01:21:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:9305</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>Many times authors will want to allow a user to filter out values in a given column, but they do not want to expose the Filter Panel, as it can add confusion and complexity for a consumer. The workaround has been to use a Property Control to provide this capability from within a Text Area. This solution had a series of unwanted side effects if it was not setup properly. In 4.0, we now have the ability to embed a Filter for a specific Column directly into a Text Area. This also allows authors to make...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2012/01/25/adding-a-filter-control-into-a-text-area.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=9305" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Filter+Control/default.aspx">Filter Control</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Text+Area/default.aspx">Text Area</category></item><item><title>Guiding the User Through an Analysis Without Showing all Pages Available</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2012/01/07/guiding-the-user-through-an-analysis-without-showing-all-pages-available.aspx</link><pubDate>Sat, 07 Jan 2012 07:48:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:9095</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;When setting up an analysis file, there are times when you want the consumer to be guided through the analysis&lt;br /&gt;and not be distracted by the different pages available to click through. In version 4.0, this can be accomplished&lt;br /&gt;by setting the Page Navigation mode to ‘None’.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/noPage1.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/noPage1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you do this, you will then need to use an Action Control or Script Control to navigate between pages.&lt;br /&gt;&lt;br /&gt;NOTE: Users inside Spotfire Professional can simply switch the Page Navigation mode, but consumers using&lt;br /&gt;the Web Player will be forced to use the mode saved for the given Analysis file.&lt;br /&gt;&lt;br /&gt;Below is an example of an Action Control being configured in a Text Area to go to the ‘Solutions 1’ page when it&lt;br /&gt;is executed.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/nopage2.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/nopage2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;In addition to Action Controls, you can also use Script Controls to redirect users. You also have the ability with,&lt;br /&gt;with Script Controls, to leverage the APIs to perform various tasks and do additional checks. For example, if your&lt;br /&gt;workflow requires you to mark some data on the first page before proceeding, you can have the script check if&lt;br /&gt;there is any data marked. If there is the user is navigated to the correct page and if there is not, you can output a&lt;br /&gt;message via a Label Property Control to the user that they need to mark data to continue. Another possible&lt;br /&gt;example using Script Controls for navigation could be that the script checks the value of a document property or&lt;br /&gt;similar which is previously set, and based off that value, it navigates the user to the appropriate page. This will&lt;br /&gt;allow the creation of branched analysis files which are less confusing for users to navigate.&lt;br /&gt;&lt;br /&gt;In addition to Action Controls and Script Controls, the page navigation will also work from the ‘Actions’ capability&lt;br /&gt;of a Graphical Table. We will discuss Actions in a Graphical Table in a future tip. Currently, Actions are only&lt;br /&gt;supported inside the Graphical Table and not other Visualizations.&lt;br /&gt;&lt;br /&gt;Another related new feature in version 4.0 is the concept of historical navigation. This is a method using back and&lt;br /&gt;forward arrows, available on the navigation toolbar, to go back to previous pages to support exploration.&lt;br /&gt;&lt;br /&gt;The navigation is specific to the user logged in and the history only is valid for the user’s session. To start with&lt;br /&gt;the back and forward arrow buttons are disabled when the analysis is first loaded.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/nopage3.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/nopage3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;As the user traverses the Analysis file, the back and forward buttons become enabled.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/nopage4.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/nopage4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;In 4.0 the historical navigation buttons exist as a separate navigation mode that is always enabled in addition to&lt;br /&gt;one of the other navigation modes (Tiled, Step-by-Step, or None). If an author wants to setup a purely historical&lt;br /&gt;navigation mode, then they should set the Page navigation option to None.&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=9095" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/4.0/default.aspx">4.0</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Action+Controls/default.aspx">Action Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Hiding+Pages/default.aspx">Hiding Pages</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Page+Navigation/default.aspx">Page Navigation</category></item><item><title>Guiding the User Through an Analysis Without Showing all Pages Available</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2012/01/07/guiding-the-user-through-an-analysis-without-showing-all-pages-available.aspx</link><pubDate>Sat, 07 Jan 2012 07:48:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:9096</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>When setting up an analysis file, there are times when you want the consumer to be guided through the analysis and not be distracted by the different pages available to click through. In version 4.0, this can be accomplished by setting the Page Navigation mode to ‘None’. Once you do this, you will then need to use an Action Control or Script Control to navigate between pages. NOTE: Users inside Spotfire Professional can simply switch the Page Navigation mode, but consumers using the Web Player will...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2012/01/07/guiding-the-user-through-an-analysis-without-showing-all-pages-available.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=9096" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/4.0/default.aspx">4.0</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Action+Controls/default.aspx">Action Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Hiding+Pages/default.aspx">Hiding Pages</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Page+Navigation/default.aspx">Page Navigation</category></item><item><title>Executing Scripts within other Scripts</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/12/26/executing-scripts-within-other-scripts.aspx</link><pubDate>Mon, 26 Dec 2011 15:54:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8696</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;There are some situations where you will want to execute a script from within another script. This could be to combine multiple scripts into one single action call (from a button, link, or image inside a Text Area), or it could be to enable the execution of various scripts based off some logic checks inside a master script.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The following script will execute another script (name ‘secondScript’ that already exists and is stored inside the same Spotfire Analysis file):&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;from System.Collections.Generic import Dictionary&lt;br /&gt;from Spotfire.Dxp.Application.Scripting import ScriptDefinition&lt;br /&gt;import clr&lt;br /&gt;scriptDef = clr.Reference[ScriptDefinition]()&lt;br /&gt;#The ExecuteScript method takes in the script code as a string parameter, so we must look the script up and output its code using the ScriptCode property &lt;br /&gt;Document.ScriptManager.TryGetScript(&amp;quot;secondScript&amp;quot;, scriptDef)&lt;br /&gt;params = Dictionary[str, object]()&lt;br /&gt;Document.ScriptManager.ExecuteScript(scriptDef.ScriptCode, params)&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The code above assumes that the script, secondScript, has no parameters being passed into it. Let’s assume that we have another script, called thirdScript, which takes in one string parameter, named “phrase”. We will need to update our code to pass in that parameter, as shown below:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;from System.Collections.Generic import Dictionary&lt;br /&gt;from Spotfire.Dxp.Application.Scripting import ScriptDefinition&lt;br /&gt;import clr&lt;br /&gt;scriptDef = clr.Reference[ScriptDefinition]()&lt;br /&gt;Document.ScriptManager.TryGetScript(&amp;quot;thirdScript&amp;quot;, scriptDef)&lt;br /&gt;paramDict = {&amp;quot;phrase&amp;quot;:&amp;quot;Hey there&amp;quot;} &lt;br /&gt;params = Dictionary[str, object](paramDict)&lt;br /&gt;Document.ScriptManager.ExecuteScript(scriptDef.ScriptCode, params)&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8696" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Executing+Scripts/default.aspx">Executing Scripts</category></item><item><title>Executing Scripts within other Scripts</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/12/26/executing-scripts-within-other-scripts.aspx</link><pubDate>Mon, 26 Dec 2011 15:54:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8698</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>There are some situations where you will want to execute a script from within another script. This could be to combine multiple scripts into one single action call (from a button, link, or image inside a Text Area), or it could be to enable the execution of various scripts based off some logic checks inside a master script. The following script will execute another script (name ‘secondScript’ that already exists and is stored inside the same Spotfire Analysis file): from System.Collections.Generic...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/12/26/executing-scripts-within-other-scripts.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8698" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Executing+Scripts/default.aspx">Executing Scripts</category></item><item><title>Information At a Glance with Graphics Tables</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/12/10/information-at-a-glance-with-graphics-tables.aspx</link><pubDate>Sat, 10 Dec 2011 23:46:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8556</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Many managers and consumers need methods to quickly see the state of their business, including Key Performance Indictors (KPI). In addition, they may need to quickly spot changes in these values over time and also whether the values are trending up or down.&lt;br /&gt;This can be done in TIBCO Spotfire 4.0 using the new Graphical Table visualization. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Graphical Tables are a new visualization provided in TIBCO Spotfire 4.0 which is designed to provide information at a glance. The Graphics Table is a table-based visualization that has a categorical row axis which defines the rows and a collection of &amp;#39;miniature Visualizations&amp;#39; that defines the columns of the table. Supported miniature visualizations are Sparklines, Icons, and Calculated Values.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;To see this in action, let’s assume we are managing a weight loss program which measures the participants’ weights over time. Below shows the data in a Line Chart:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now let’s see what we can do with the new Graphical Table. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/gtable.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/gtable.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;First we need to add the ‘Participant’ column to the Row’s Axis.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable1.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;Then on the Columns’ Axis, we start by adding a Sparkline.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable2a.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable2a.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;The Sparkline can be configured by clicking on the ‘Settings’ button with the Sparkline column highlighted. In our example, we put Months on the X-Axis and then we put the &lt;i&gt;Sum(Weight in kg) &lt;/i&gt;expression on the Y-Axis.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable3.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;The resulting Sparkline column is shown below:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable4.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Next we may want to display whether or not participants in the study are trending up or down, or whether there has been no change.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;We can add another miniature visualization into the Graphical Table using the ’Icon’ option:&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable9.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable9.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;To specify which Icons show up, we can use unique values in a column, or an expression. In this case, we will need to use a custom expression.&amp;nbsp; We will enter the following expression in the ’Calculate icons using’ field.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;(ValueForMin([Date],[Weight in kg]) - ValueForMax([Date],[Weight in kg]))&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;We will then add rules, which are similar to the conditional coloring rules, to set specific icons&amp;nbsp; and colors for Greater than 0, Equal to 0, and Less than 0.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable10.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable10.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable11.png"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable11.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable11.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;Next we may want to display each participant’s percent change. For this, we will use the ‘Calculated Value’ option.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable2.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;After we add the Calculated Value, we can set the value’s expression using the ‘Settings’ button.&amp;nbsp; The expression used is :&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;(ValueForMin([Date],[Weight in kg]) - ValueForMax([Date],[Weight in kg])) / ValueForMin([Date],[Weight in kg])&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Finally, we can then set the formatting for this to be a Percentage. We will also add a Rule to set the color all values that are Less than 0 to be red.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable12.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable12.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/graphicsTable13.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/graphicsTable13.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8556" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/4.0/default.aspx">4.0</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Information+At+a+Glance/default.aspx">Information At a Glance</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Graphics+Table/default.aspx">Graphics Table</category></item><item><title>Information At a Glance with Graphics Tables</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/12/10/information-at-a-glance-with-graphics-tables.aspx</link><pubDate>Sat, 10 Dec 2011 23:46:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8557</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>Many managers and consumers need methods to quickly see the state of their business, including Key Performance Indictors (KPI). In addition, they may need to quickly spot changes in these values over time and also whether the values are trending up or down. This can be done in TIBCO Spotfire 4.0 using the new Graphical Table visualization. Graphical Tables are a new visualization provided in TIBCO Spotfire 4.0 which is designed to provide information at a glance. The Graphics Table is a table-based...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/12/10/information-at-a-glance-with-graphics-tables.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8557" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/4.0/default.aspx">4.0</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Information+At+a+Glance/default.aspx">Information At a Glance</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Graphics+Table/default.aspx">Graphics Table</category></item><item><title>Limiting Data to Display in Visualizations in TIBCO Spotfire 4.0</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/11/21/limiting-data-to-display-in-visualizations-in-tibco-spotfire-4-0.aspx</link><pubDate>Tue, 22 Nov 2011 01:45:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8360</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;There are often scenarios where you will need to limit the data to display in a given visualization.&amp;nbsp; In most of the approaches, the solution is to filter data. However, this filtering is not directly tied to a visualization.&amp;nbsp; Rather, it is tied&amp;nbsp; to a&amp;nbsp; Filtering Scheme, which affects an entire page or pages.&amp;nbsp; In TIBCO Spotfire 4.0, there are two new features that allow you to easily filter data in a specific visualization, without affecting the data to display in other visualizations.&lt;/p&gt;
&lt;p&gt;Suppose we are looking at sales across four regions: East, Central, and West.&amp;nbsp; For each location, you may want to show a visualization like the following:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter1.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter1.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;If you trellis, you can show a the data split by region, but you do not get the ideal user interface you are looking for. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter2.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter2.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;You can setup Filtering Schemes for each region:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter3.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter3.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;But you are not able to see your information at a glance on the same page as you can only apply one Filtering Scheme per page.&lt;/p&gt;
&lt;p&gt;There are a couple options in Spotfire 4.0 which allow you to display the visualizations for each region on the same page. &lt;/p&gt;
&lt;p&gt;First, you can now apply a Filtering Scheme to a specific visualization (as opposed to just a page).&lt;/p&gt;
&lt;p&gt;In the properties dialog of the visualization, in the ‘Data’ section, you can choose which Filtering Scheme(s) to apply specific to that visualization.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter4.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter4.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;You can also select the ‘Use the current filtering from the page’ option so the visualization will update with the Filter Panel interactions as well (or you can uncheck all checkboxes for limiting data, and create a visualization that does not get affected by filtering changes at all).&lt;/p&gt;
&lt;p&gt;With this we can now create 3 duplicate visualizations, each with the setting to only display data from the East, West, and Central Filtering Schemes respectively.&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter4a.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter4a.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, this does still require us to manually create 3 Filtering Schemes: East, Central, and APJ, and then, set the correct filtering for each scheme.&amp;nbsp; So, the second option for setting this up is to use the new ‘Limit data using Expression’ feature that is built into each visualization.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter5.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter5.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;This allows you to create an expression which evaluates to True or False, to limit what data is being shown. In our example we want to use an expression like the following:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/4.0Filter6.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/4.0Filter6.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;em&gt;if ([Region] = “East” , True, False)&lt;br /&gt;&lt;/em&gt;&amp;nbsp;&lt;br /&gt;This will limit the data shown in the visualization to be data where the ‘Region’ is East, and will not show any other data. &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8360" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Filtering+Schemes/default.aspx">Filtering Schemes</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Limit+Data/default.aspx">Limit Data</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/4.0/default.aspx">4.0</category></item><item><title>Limiting Data to Display in Visualizations in TIBCO Spotfire 4.0</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/11/21/limiting-data-to-display-in-visualizations-in-tibco-spotfire-4-0.aspx</link><pubDate>Tue, 22 Nov 2011 01:45:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8362</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>There are often scenarios where you will need to limit the data to display in a given visualization. In most of the approaches, the solution is to filter data. However, this filtering is not directly tied to a visualization. Rather, it is tied to a Filtering Scheme, which affects an entire page or pages. In TIBCO Spotfire 4.0, there are two new features that allow you to easily filter data in a specific visualization, without affecting the data to display in other visualizations. Suppose we are looking...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/11/21/limiting-data-to-display-in-visualizations-in-tibco-spotfire-4-0.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8362" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Filtering+Schemes/default.aspx">Filtering Schemes</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Limit+Data/default.aspx">Limit Data</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/4.0/default.aspx">4.0</category></item><item><title>Creating Property Control Groups that do not automatically update Expressions and Calculations</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/11/13/creating-property-controls-which-will-not-trigger-updates-to-an-expression.aspx</link><pubDate>Mon, 14 Nov 2011 01:54:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8256</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>7</slash:comments><description>&lt;p&gt;In certain scenarios, there is a requirement to have multiple Property Controls that drive a given analysis file. The values behind these Property Controls will all be used in a series of expressions and calculations.&amp;nbsp; However, the way these expressions and calculations works means that they will be recalculated each time the property values change.&amp;nbsp; This is OK in some situations, but in many scenarios you want to trigger the update after all Property Control values have been updated (or at least allow the user to define when to update).&lt;br /&gt;&lt;br /&gt;This can be accomplished by making two sets of properties: the first set will be attached to the Property Controls in the User Interface and the second will be attached to the expressions and calculations. We then use a Script Control to allow the user to click on a button, and pass the values from the UI properties to the properties which are driving the expression. This would create a flow similar to a user filling out and submitting a form on a Web page. Once the Script is executed, the expressions and calculations are updated.&amp;nbsp; &lt;/p&gt;&lt;p&gt;To highlight this use case, we will use the Spotfire Educational Services online Training Needs Assessment calculator.&amp;nbsp; This calculator can be found at&amp;nbsp; &lt;a href="http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=kevin/TNA"&gt;http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=kevin/TNA&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;The calculator uses a series of Property Controls to query the user about the number of users they have for each role.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://spotfire.tibco.com/community/blogs/tips/fakeProperties1.png" border="0" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We then use a calculation which takes into account all the values from the first page to calculate the total number of passports a customer should purchase to cover their training needs.&amp;nbsp;&lt;/p&gt;&lt;p&gt;The expression used for the calculation is shown below:&lt;/p&gt;&lt;p&gt;&lt;i&gt;case [Role]&lt;br /&gt;when &amp;quot;Administrator&amp;quot; then ([Pathway Days]*${&lt;/i&gt;&lt;i&gt;intNbrAdminsUI&lt;/i&gt;&lt;i&gt;})&lt;br /&gt;when &amp;quot;DBA&amp;quot; then ([Pathway Days]*${i&lt;/i&gt;&lt;i&gt;ntNbrDbasUI&lt;/i&gt;&lt;i&gt;})&lt;br /&gt;when &amp;quot;Developer Basic&amp;quot; then ([Pathway Days]*${intNbrBasicDevsUI})&lt;br /&gt;when &amp;quot;Developer Advanced&amp;quot; then ([Pathway Days]*${intNbrAdvDevsUI})&lt;br /&gt;when &amp;quot;Analyst&amp;quot; then if (&amp;quot;${nbrNeedExpressions}&amp;quot;=&amp;quot;Yes&amp;quot;,(([Pathway Days]+1)*${intNbrAnalystsUI}), (([Pathway Days])*${intNbrAnalystsUI}))&lt;br /&gt;when &amp;quot;Author&amp;quot; then ([Pathway Days]*${intNbrAuthorsUI})&lt;br /&gt;when &amp;quot;Business User&amp;quot; then ([Pathway Days]*${intNbrConsumersUI})&lt;br /&gt;else 0&lt;br /&gt;end&lt;/i&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;All of the variables in the expression above, like ${intNbrAdminsUI}, are attached to the Property Controls on the first page.&amp;nbsp; The output is then displayed on the second page: &lt;br /&gt;&lt;/p&gt;&lt;p&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://spotfire.tibco.com/community/blogs/tips/fakeProperties2.png" border="0" alt="" /&gt;&lt;/p&gt;&lt;p&gt;In this scenario, the expression will re-calculate everytime a user changes a value in one of the Property Controls on the first page. If this was an analysis with a lot of data, this could become inefficient.&amp;nbsp;&amp;nbsp; A similar issue would happen if the values from the Property Control were not being used in an expression, rather they were being passed to a Data Function to perform calculations outside Spotfire.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;One solution to have the expression or function only update once is to have the expression use a separate set of properties than what are exposed via the Property Controls.&amp;nbsp; We then add a Script Control, and have the script go through the properties used in the expression and update them with the values from the properties used in the Property Controls.&amp;nbsp; The script we used to do this for the Needs Assessment example is shown below:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Document.Properties[&amp;quot;intNbrAdminsExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrAdminsUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrDbasExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrDbasUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrConsumersExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrConsumersUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrAnalystsExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrAnalystsUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrAuthorsExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrAuthorsUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrBasicDevsExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrBasicDevsUI&amp;quot;]&lt;br /&gt;
Document.Properties[&amp;quot;intNbrAdvDevsExpr&amp;quot;] = Document.Properties[&amp;quot;intNbrAdvDevsUI&amp;quot;]&lt;/i&gt;&lt;br /&gt;
&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8256" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category></item><item><title>Creating Property Control Groups that do not automatically update Expressions and Calculations</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/11/13/creating-property-control-groups-that-do-not-automatically-update-expressions-and-calculations.aspx</link><pubDate>Mon, 14 Nov 2011 01:54:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:8257</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>In certain scenarios, there is a requirement to have multiple Property Controls that drive a given analysis file. The values behind these Property Controls will all be used in a series of expressions and calculations. However, the way these expressions and calculations works means that they will be recalculated each time the property values change. This is OK in some situations, but in many scenarios you want to trigger the update after all Property Control values have been updated (or at least allow...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/11/13/creating-property-control-groups-that-do-not-automatically-update-expressions-and-calculations.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=8257" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category></item><item><title>Displaying Property Controls inside HTML Tables</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/10/16/displaying-property-controls-inside-html-tables.aspx</link><pubDate>Mon, 17 Oct 2011 01:03:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7880</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>23</slash:comments><description>&lt;p&gt;In &lt;a href="http://spotfire.tibco.com/community/blogs/tips/archive/2010/05/15/creating-a-html-editor-for-your-text-areas.aspx" target="_blank"&gt;previous tips&lt;/a&gt;, we have discussed how you can add HTML directly into a Text Area.&amp;nbsp; To take this one step further, you may want to take Property Controls that you have already created and then add them into a HTML table or CSS positioning element to provide a more exact and better looking layout.&amp;nbsp; This tip will explain how that can be accomplished.&lt;br /&gt;&lt;br /&gt;First, you should start by building the Property Controls which you wish to use.&amp;nbsp; This can include any combinations of the built-in Property Controls and Action Controls.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp1.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;Then, using what you learned in the &lt;a href="http://spotfire.tibco.com/community/blogs/tips/archive/2010/05/15/creating-a-html-editor-for-your-text-areas.aspx" target="_blank"&gt;previous tip&lt;/a&gt; we mentioned, you will need to retrieve the HTML code that was generated for this Text Area, using a Script Control.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;from Spotfire.Dxp.Application.Visuals import HtmlTextArea&lt;br /&gt;vis = ta.As[HtmlTextArea]()&lt;br /&gt;Document.Properties[&amp;quot;display&amp;quot;] = vis.HtmlContent&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;This will store the HTML Content in a input field (multiple line) Property Control:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp2.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Once you have the HTML content, you can now update it as you see fit: adding Tables, DIV tags, and styles. When you have the HTML content rewritten , you can now re-apply it back to the original text area.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;This is done using another script, which takes the same input field Property Control as input and then rights the code back into the original Text Area to be rendered.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;from Spotfire.Dxp.Application.Visuals import HtmlTextArea&lt;br /&gt;vis = ta.As[HtmlTextArea]()&lt;br /&gt;vis.HtmlContent = Document.Properties[&amp;quot;display&amp;quot;]&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp3.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;Once you do this, you will see the output includes the Property Controls inside an HTML table. &lt;br /&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp4.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/dynamicHTMLProp4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Intersted in learning more about Property Controls and other authoring features? Sign up for our &lt;a href="https://inter.viewcentral.com/Events/cust/search_results.aspx?app_id=3&amp;amp;postingForm=default.aspx&amp;amp;cid=tibco&amp;amp;pid=1&amp;amp;lid=4&amp;amp;bu_id=1&amp;amp;event_id=592" target="_blank"&gt;Authoring Bootcamp&lt;/a&gt;. Sessions in both EMEA and North America are scheduled to start this week. &lt;br /&gt;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7880" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Display+Property+Controls+in+HTML+Tables/default.aspx">Display Property Controls in HTML Tables</category></item><item><title>Displaying Property Controls inside HTML Tables</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/10/16/displaying-property-controls-inside-html-tables.aspx</link><pubDate>Mon, 17 Oct 2011 01:03:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7884</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>In previous tips , we have discussed how you can add HTML directly into a Text Area. To take this one step further, you may want to take Property Controls that you have already created and then add them into a HTML table or CSS positioning element to provide a more exact and better looking layout. This tip will explain how that can be accomplished. First, you should start by building the Property Controls which you wish to use. This can include any combinations of the built-in Property Controls and...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/10/16/displaying-property-controls-inside-html-tables.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7884" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Display+Property+Controls+in+HTML+Tables/default.aspx">Display Property Controls in HTML Tables</category></item><item><title>Formatting Values in Tooltips</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/10/02/formatting-values-in-tooltips.aspx</link><pubDate>Sun, 02 Oct 2011 23:55:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7737</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>In this tip we will discuss how to update the formatting on a Visualization&amp;#39;s tooltips. Assume we have a Bar Chart which displays the sum of sales for each year in our data table. What if we then want to change the y-axis to show the Percentage of Total Sales for each year. This would require changing the y-axis to a custom expression using the OVER function: Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X])) The formatting will still stay as a currency type (as that is what it was when we started...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/10/02/formatting-values-in-tooltips.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7737" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Tooltips/default.aspx">Tooltips</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Formatting/default.aspx">Formatting</category></item><item><title>Formatting Values in Tooltips</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/10/02/formatting-values-in-tooltips.aspx</link><pubDate>Sun, 02 Oct 2011 23:55:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7736</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;In this tip we will discuss how to update the formatting on a Visualization&amp;#39;s tooltips. Assume&amp;nbsp; we have a Bar Chart which displays the sum of sales for each year in our data table. &lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip1.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip1.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What if we then want to change the y-axis to show the Percentage of Total Sales for each year. This would require changing the y-axis to a custom expression using the OVER function:&lt;/p&gt;&lt;p&gt;&lt;i&gt;Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X]))&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip2.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip2.png" border="0" alt="" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;The formatting will still stay as a currency type (as that is what it was when we started), so we will need to update the formatting to percentage on the y-axis:&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip3.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip3.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;That will fix the formatting on the axis and the Bar Chart labels, but will not update the tooltip:&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip4.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip4.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;To update the tooltip, we will have to add another tooltip entry with a custom expression:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;i&gt;Concatenate((Sum([Sales]) / Sum([Sales]) OVER (All([Axis.X]))) * 100,&amp;quot; %&amp;quot;)&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip5.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip5.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In this expressoin we take the original expression, multiply it by 100 to get to a percentage and then actually output a string with is that resulting value concatendated with a % character. &lt;/p&gt;&lt;p&gt;In addition, we will have to update the original ‘Sales’ column data type from ‘Currency’ to ‘Number’. When this is done, you will see the tooltip (shown below), will be updated with the proper formatting.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/tooltip6.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/tooltip6.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;To learn more about TIBCO Spotfire Professional features, watch our newly updated &lt;a href="http://spottrain.tibco.com/sln/course/view.php?id=85"&gt;TIBCO Spotfire Professional Jumpstart&lt;/a&gt;. This is a free eLearning course which covers the breadth of capabilities available in TIBCO Spotfire. Follow the link below to watch and when prompted, login as a guest.&lt;/p&gt;&lt;p&gt;&lt;a href="http://spottrain.tibco.com/sln/course/view.php?id=85"&gt;http://spottrain.tibco.com/sln/course/view.php?id=85&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7736" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Tooltips/default.aspx">Tooltips</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Formatting/default.aspx">Formatting</category></item><item><title>Dynamically Updating Fixed Values in a Drop-down list Property Control</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/25/dynamically-updating-fixed-values-in-a-drop-down-list-property-control.aspx</link><pubDate>Sun, 25 Sep 2011 20:19:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7530</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>There are some situations where you will want to have a Drop-down list Property Control display fixed values. This is easily accomplished by using the ‘Fixed values’ option for setting the property value, and then entering your fixed values and their display names. In other situations, you may want those fixed values to update depending on certain conditions. It could be that you only want to show some of them at any given point in time, or it could be that you want the values to completely change...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/25/dynamically-updating-fixed-values-in-a-drop-down-list-property-control.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7530" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Fixed+values/default.aspx">Fixed values</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Dynamic+Drop-down+lists/default.aspx">Dynamic Drop-down lists</category></item><item><title>Dynamically Updating Fixed Values in a Drop-down list Property Control</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/09/25/dynamically-updating-fixed-values-in-a-drop-down-property-control.aspx</link><pubDate>Sun, 25 Sep 2011 20:19:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7528</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;There are some situations where you will want to have a Drop-down list Property Control display fixed values. This is easily accomplished by using the ‘Fixed values’ option for setting the property value, and then entering your fixed values and their display names. &lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown1.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown1.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In other situations, you may want those fixed values to update depending on certain conditions.&amp;nbsp; It could be that you only want to show some of them at any given point in time, or it could be that you want the values to completely change based off some other logic in your analysis file.&amp;nbsp; This can also be accomplished. It does require more work, but does not necessarily require a Script Control. We will learn how to do this in this tip.&amp;nbsp; NOTE: If you want the Property Control values to update dynamically but show values in a column (as opposed to fixed values), this can be accomplished another way. Please see &lt;a href="http://spotfire.tibco.com/community/blogs/tips/archive/2010/06/06/cascading-property-control-drop-downs.aspx"&gt;this tip&lt;/a&gt; for how to do that.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Let’s assume for this example you will want to update fixed values displayed in one Property Control based off a selection in another Property Control. The first Property Control will display the following fixed values:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;&amp;nbsp;“All time”, “Year”, “Quarter” and “Month”&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;We then want to create a second Property Control. In that Property Control, the values should also be fixed values, but if the first Property Control has “All time” selected, the second Property Control should show all possible values. If the first Property Control&amp;nbsp; has “Year” selected, the second Property Control should show “Year”,”Quarter”, and “Month”. If the first Property Control has “Quarter” selected, the second Property Control should show “Quarter” and “Month”. Finally, if the first Property Control has “Month” selected, the second Property Control should only show “Month”. This type of scenario is good when you are trying to do complex calculations, like Year over Year or Year over Month, when only certain combinations are valid.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;To setup this second Property Control, we need to first create a calculated column. Ideally we would do this in a new data table, but it can be in the existing data table. Call the column PropertyControlValues, and use the following calculation, assuming ${dd1} is the name of the Property attached to your first Property Control you just created. &lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Case when &amp;quot;${dd1}&amp;quot; = &amp;quot;All time&amp;quot; and RowId() = 1 then &amp;quot;All Time&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;All time&amp;quot; and RowId() = 2 then &amp;quot;Year&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;All time&amp;quot; and RowId() = 3 then &amp;quot;Quarter&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;All time&amp;quot; and RowId() = 4 then &amp;quot;Month&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Year&amp;quot; and RowId() = 1 then &amp;quot;Year&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Year&amp;quot; and RowId() = 2 then &amp;quot;Quarter&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Year&amp;quot; and RowId() = 3 then &amp;quot;Month&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Quarter&amp;quot; and RowId() = 2 then &amp;quot;Quarter&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Quarter&amp;quot; and RowId() = 3 then &amp;quot;Month&amp;quot;&lt;br /&gt;when &amp;quot;${dd1}&amp;quot; = &amp;quot;Month&amp;quot; and RowId() = 3 then &amp;quot;Month&amp;quot;&lt;br /&gt;else&lt;br /&gt;null&lt;br /&gt;end&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;When this is created, the calculated column will update when the Property Control is updated.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown2.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown2.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Then you can create another Drop-down list Property Control. This one should display values using the ‘Unique values in column’ option and point to the calculated column that we just created.&lt;br /&gt;The end result is that the second Property Control will only display values that are valid based off the first Property Control.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown3.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown3.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;As another example suppose as part of our Guided Analysis, we want to update some attributes like what unit of measurement to use.&amp;nbsp; By changing the unit of measurement, we will have to apply a calculation to all our relevant data.&amp;nbsp; Suppose you have many different attributes you need to measure, like Temperature, Weight, Time, Distance, etc…&amp;nbsp; Rather than creating a unique drop down combination for each, you can use the approach in this tip to create one group of drop downs and then update the values accordingly.&lt;/p&gt;&lt;p&gt;In the image below, the user has selected to update the temperature, so the second property control shows both ‘Fahrenheit’ and ‘Celsius’.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown4.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown4.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;br /&gt;If the user has selected to update the weight, the second Property Control will show ‘Kilograms’ and ‘Pounds’.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown5.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/dynamicDropDown5.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The expression used for this calculated column, assuming the first Property Control is called “whichMeasurement” is:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Case when &amp;quot;${whichMeasurement}&amp;quot; = &amp;quot;temperature&amp;quot; and RowId() = 1 then &amp;quot;Celsius&amp;quot;&lt;br /&gt;when &amp;quot;${whichMeasurement}&amp;quot; = &amp;quot;temperature&amp;quot; and RowId() = 2 then &amp;quot;Fahrenheit&amp;quot;&lt;br /&gt;when &amp;quot;${whichMeasurement}&amp;quot; = &amp;quot;weight&amp;quot; and RowId() = 1 then &amp;quot;Pounds&amp;quot;&lt;br /&gt;when &amp;quot;${whichMeasurement}&amp;quot; = &amp;quot;weight&amp;quot; and RowId() = 2 then &amp;quot;Kilograms&amp;quot;&lt;br /&gt;else&lt;br /&gt;null&lt;br /&gt;end&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;For more information on&amp;nbsp;using Property Controls and other advanced techniques such as these, please consider&amp;nbsp;registering for&amp;nbsp;our &lt;a href="https://inter.viewcentral.com/Events/cust/search_results.aspx?app_id=3&amp;amp;postingForm=default.aspx&amp;amp;cid=tibco&amp;amp;pid=1&amp;amp;lid=4&amp;amp;bu_id=1&amp;amp;event_id=592"&gt;Author Bootcamp&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7528" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Fixed+values/default.aspx">Fixed values</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Dynamic+Drop-down+lists/default.aspx">Dynamic Drop-down lists</category></item><item><title>Displaying Images in a Label Property Control</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/12/displaying-images-in-a-label-property-control.aspx</link><pubDate>Tue, 13 Sep 2011 02:30:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7391</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>In last week’s post, we learned how to create custom Property Controls in the form of Radio Buttons and Checkboxes. As it turns out, this solution works well using the Web Player from Internet Explorer, but the wingdings fonts do not display as they should in Firefox or Chrome. To correct this, and to learn another nice feature, we will replace the wingding fonts with a graphic in the Label Property Control. This can be accomplished out of the box using a Data Function, but that requires S+ or R...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/12/displaying-images-in-a-label-property-control.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7391" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Images/default.aspx">Images</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Labels/default.aspx">Labels</category></item><item><title>Displaying Images in a Label Property Control</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/09/12/displaying-images-in-a-label-property-control.aspx</link><pubDate>Tue, 13 Sep 2011 02:30:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:7390</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>6</slash:comments><description>&lt;p&gt;In last week’s post, we learned how to create custom Property Controls in the form of Radio Buttons and Checkboxes.&amp;nbsp; As it turns out, this solution works well using the Web Player from Internet Explorer, but the wingdings fonts do not display as they should in Firefox or Chrome.&amp;nbsp; To correct this, and to learn another nice feature, we will replace the wingding fonts with a graphic in the Label Property Control.&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;This can be&amp;nbsp;accomplished out of the box using a Data Function, but that requires S+ or R and the TIBCO Spotfire Statistics Server. If you do not have those, or you just want to use something more lightweight, a script can be used. The code below can be used in a script control. It will take an image,&amp;nbsp;specified&amp;nbsp;via a &amp;nbsp;URL, and will place it in a Binary Document Property.&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;from System.Drawing import Image&lt;br /&gt;from System import Uri &lt;br /&gt;from System.Net import HttpWebRequest&lt;br /&gt;from Spotfire.Dxp.Data&amp;nbsp; import BinaryLargeObject&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;uri = Uri(&amp;quot;&lt;/em&gt;&lt;em&gt;&lt;a href="http://spotfire.tibco.com/community/Downloads/radioOn.png"&gt;http://spotfire.tibco.com/community/Downloads/radioOn.png&lt;/a&gt;&lt;/em&gt;&lt;em&gt;&amp;quot;)&lt;br /&gt;request = HttpWebRequest.Create(uri)&lt;br /&gt;response = request.GetResponse()&lt;br /&gt;stream = response.GetResponseStream()&lt;br /&gt;blob = BinaryLargeObject.Create(stream)&lt;br /&gt;Document.Properties[&amp;quot;testImage&amp;quot;] = blob&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;If you then attach this Binary Property to a Label Property Control, the image will appear, and will work in the Web Player as well in all supported browsers. To see the same example as last week updated to work using this new approach, take a look at: &lt;a href="http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=/kevin/TNA"&gt;http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=/kevin/TNA&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;This opens the door for a new set of features, where you can rotate through images based off some logic. This can lead to a custom-traffic light visualization, Radio Button and Checkbox Property Controls, and other solutions where you need to rotate or display different images based off of data.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=7390" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Labels/default.aspx">Labels</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Images/default.aspx">Images</category></item><item><title>Creating Radio Button and Checkbox Property Controls</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/05/creating-radio-button-and-checkbox-property-controls.aspx</link><pubDate>Tue, 06 Sep 2011 01:31:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:6949</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>This is the first post after the Tip of the Week blog’s summer hiatus. We are back now and will start out with a series of tips related to using Text Areas to create Guided Analysis files. In this first tip back we will discuss how to create new Property Control types (radio buttons and check boxes) using a combination of Document Properties, Labels, and Scripts. While these are not truly built-in Property Controls, they do work and function properly. In this first example we will look at building...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/09/05/creating-radio-button-and-checkbox-property-controls.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=6949" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Properties/default.aspx">Properties</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Custom+Property+Controls/default.aspx">Custom Property Controls</category></item><item><title>Creating Radio Button and Checkbox Property Controls</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/09/05/creating-radio-button-and-checkbox-property-controls.aspx</link><pubDate>Tue, 06 Sep 2011 01:31:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:6948</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>13</slash:comments><description>&lt;p&gt;This is the first post after the Tip of the Week blog’s summer hiatus.&amp;nbsp; We are back now and will start out with a series of tips related to using Text Areas to create Guided Analysis files. In this first tip back we will discuss how to create new Property Control types (radio buttons and check boxes) using a combination of Document Properties, Labels, and Scripts. While these are not truly built-in Property Controls, they do work and function properly.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;In this first example we will look at building a radio button. The first thing we need to do is create two new Document Properties. One will store the value of a radio button checked and one will store the value of a radio button unchecked.&amp;nbsp; The easiest way to accomplish this is to use the Wingdings 2 font and the following symbols as the values for the property: &lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioOn.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioOn.png" border="0" alt="" /&gt;&lt;/a&gt;and&amp;nbsp;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioOff.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioOff.png" border="0" alt="" /&gt;&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioChecked.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioChecked.png" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;NOTE:&lt;/b&gt; you will not see the symbol right away when you enter it in the value section, this is OK.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;After you add the property for the radio button checked, add a similar one called radioUnchecked which shows the symbol of an unchecked radio button.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The next step occurs in the Text Area where you want to use the radio buttons. In the location where you want each radio button displayed, you should add a Label Property Control.&amp;nbsp; In our example we will display two radio buttons in the group. One with the value yes, and one with the value no.&amp;nbsp; Each one will be on its own line, one after the other.&amp;nbsp; The screen shot below shows the Label Property Control we will add for the &amp;#39;Yes&amp;#39; part of the radio group. The Label Property Control is attached to a new Document Property, called radioYes, which is of type string. We can leave the default value empty or we can use the unchecked radio symbol from before, &lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioOff.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioOff.png" border="0" alt="" /&gt;&lt;/a&gt; :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioYes.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioYes.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;We then add another Label on the following line in the Text Area which will show the &amp;#39;No&amp;#39; part of the radio button group.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/radioNo.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radioNo.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Finally we will add a script next to each label. For the first script, it will go next to the label for the &amp;#39;Yes&amp;#39; part, and will display as a link with the display name ‘Yes’. The code is shown below:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Document.Properties[&amp;quot;radioYes&amp;quot;] = Document.Properties[&amp;quot;radioChecked&amp;quot;]&lt;br /&gt;Document.Properties[&amp;quot;radioNo&amp;quot;] = Document.Properties[&amp;quot;radioUnchecked&amp;quot;]&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;What this is doing is setting the&amp;nbsp; radioYes property (which is attached to the &amp;#39;Yes&amp;#39; button’s Label) to be equal to the radioChecked property (which is where the radio checked symbol is stored). Then the code sets the radioNo property (which is attached to the &amp;#39;No&amp;#39; button’s Label) to be equal to the radioUnchecked document property (which is where the radio unchecked symbol is stored).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/yesScript.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/yesScript.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;We can then add a second script with the display name No next to the No label.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/noScript.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/noScript.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;When this is all done, you have a working radio button group in your Text Area.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/radio.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/radio.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Want to see it in action? Try it in our Training Needs Assessment Application at &lt;a href="http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=kevin/TNA"&gt;http://spottrain.tibco.com/SpotfireWeb/ViewAnalysis.aspx?file=kevin/TNA&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Using a similar approach, you can also create a checkbox group:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/checkbox.png"&gt;&lt;img src="http://spotfire.tibco.com/community/blogs/tips/checkbox.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=6948" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Properties/default.aspx">Properties</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Script+Controls/default.aspx">Script Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Custom+Property+Controls/default.aspx">Custom Property Controls</category></item><item><title>Insert As Text vs Insert As Value</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/07/10/insert-as-text-vs-insert-as-value.aspx</link><pubDate>Mon, 11 Jul 2011 03:02:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:6060</guid><dc:creator>Tip of the Week</dc:creator><slash:comments>0</slash:comments><description>The concept of Document Properties has existed in TIBCO Spotfire for quite some time. In version 3.1, the concept of properties was extended and included the ability to expose controls to allow consumers to change property values. When this update happened, Spotfire continued to support the old mechanism for adding properties into expressions as well as supported a newer , pre-processor approach. The default mechanism, from version 3.1 and later, for adding properties into an expression is to use...(&lt;a href="http://spotfire.tibco.com/community/blogs/stn/archive/2011/07/10/insert-as-text-vs-insert-as-value.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=6060" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Document+Properties/default.aspx">Document Properties</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Insert+As+Text/default.aspx">Insert As Text</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Insert+As+Value/default.aspx">Insert As Value</category></item><item><title>Insert As Text vs Insert As Value</title><link>http://spotfire.tibco.com/community/blogs/tips/archive/2011/07/10/insert-as-text-vs-insert-as-value.aspx</link><pubDate>Mon, 11 Jul 2011 03:02:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:6058</guid><dc:creator>Kevin Hanegan</dc:creator><slash:comments>8</slash:comments><description>&lt;p&gt;The concept of Document Properties has existed in TIBCO Spotfire for quite some time.&amp;nbsp; In version 3.1, the concept of properties was extended and included the ability to expose controls&amp;nbsp; to allow consumers to change property values.&amp;nbsp; When this update happened, Spotfire continued to support the old mechanism for adding properties into expressions as well as supported a newer , pre-processor approach. &lt;/p&gt;
&lt;p&gt;The default mechanism, from version 3.1 and later,&amp;nbsp; for adding properties into an expression is to use the ‘Insert Properties’ button. This will add the property using a pre-processor variable. This will get replaced with the value of the property before the expression is interpreted.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/IAV1.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/IAV1.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In addition, there is a right-click menu over the properties pane which allows you the choice to ‘Insert as Value’ or ‘Insert as Text’. The ‘Insert as Text’ is the same as the default ‘Insert Properties’ button.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;The older method for adding a property into an expression is still supported also. This done using the ‘Insert as Value’ method.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/IAV2.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/IAV2.png" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This approach is not a pre-processor, rather a function used to insert the property value.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Why would you want to use this older approach? There are a few situations, specifically when you need to use a specific data type.&amp;nbsp;&amp;nbsp; We will provide an example below.&lt;/p&gt;
&lt;p&gt;Suppose we want to have a set of property controls that will allow a consumer to specify a minimum data and a maximum date and then have a Spotfire visualization update to only show values within that date range. (I realize this can easily be done with a range filter, but suppose you want to hide the filter panel and expose this capabilities via a property control)?&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/tips/IAV3.png"&gt;&lt;img border="0" src="http://spotfire.tibco.com/community/blogs/tips/IAV3.png" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;We will use a technique we introduced in an &lt;a href="http://spotfire.tibco.com/community/blogs/tips/archive/2010/04/24/using-property-controls-to-filter-data.aspx" target="_blank"&gt;earlier tip&lt;/a&gt;, to have a calculated column update based off the Property control values and then filter the visualization.&amp;nbsp; To set this up , we have the following expression in our calculated column.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;if((DateDiff(&amp;quot;day&amp;quot;,[Date],DocumentProperty(&amp;quot;maxDate&amp;quot;))&amp;gt;=0) and (DateDiff(&amp;quot;day&amp;quot;,DocumentProperty(&amp;quot;minDate&amp;quot;),[Date])&amp;gt;=0),&amp;quot;in range&amp;quot;,&amp;quot;out of range&amp;quot;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;where maxDate is the name of the property used for the max date slider control and minDate is the name of the property used for the min date slider control. It is important to use DocumentProperty(&amp;quot;maxDate&amp;quot;) instead of ${maxDate} as the typecasting will be incorrect with the latter.&amp;nbsp; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;This will create a new column with values of either &amp;#39;in range&amp;#39; or &amp;#39;out of range&amp;#39;. You can then use the filter panel to uncheck &amp;#39;out of range&amp;#39; so only the data in range will be shown. Then you can hide the filter panel for displaying in the Web Player.&lt;/p&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=6058" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Document+Properties/default.aspx">Document Properties</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Property+Controls/default.aspx">Property Controls</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Insert+As+Text/default.aspx">Insert As Text</category><category domain="http://spotfire.tibco.com/community/blogs/tips/archive/tags/Insert+As+Value/default.aspx">Insert As Value</category></item><item><title>Share insights on tibbr with TIBCO Spotfire 3.3</title><link>http://spotfire.tibco.com/community/blogs/stn/archive/2011/07/07/Share-insights-on-tibbr-with-TIBCO-Spotfire-3-3.aspx</link><pubDate>Thu, 07 Jul 2011 11:54:00 GMT</pubDate><guid isPermaLink="false">affde357-0bb3-4331-9204-9726b0672618:6037</guid><dc:creator>Anna Lundberg</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;This article targets: TIBCO Spotfire 3.3 and forward&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a title="TibbrTool_v1.3.zip" href="http://spotfire.tibco.com/community/blogs/stn/Knowledge%20Base/tibbr_tool/TibbrTool_v1.3.zip"&gt;TibbrTool_1.3.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This article describes a tool that integrates TIBCO Spotfire with tibbr in order to share and discuss an insight or visualization with others. We use the improved Bookmarks functionality in TIBCO Spotfire 3.3 to create a snapshot of a visualization and then display it later on. The tool makes it possible to post a message together with a visualization to tibbr. The tool can be used from inside TIBCO Spotfire Professional or TIBCO Spotfire Web Player. All the source code needed for the tool is available in the attached zip file. The zip file also contains spk files ready for distribution.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Launching the tool&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using Spotfire Professional you will find the tool in the context menu for any of the visualizations. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/stn/image_2BBD2740.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://spotfire.tibco.com/community/blogs/stn/image_thumb_1CA64866.png" width="420" height="288" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In the TIBCO Spotfire Web Player you will find the tool among the export tools to the left. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/stn/image_2933F582.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://spotfire.tibco.com/community/blogs/stn/image_thumb_1A89499D.png" width="187" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tool dialog&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The tool will bring up the Post to tibbr dialog (TIBCO Spotfire Professional version).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/stn/image_4EBD72E3.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://spotfire.tibco.com/community/blogs/stn/image_thumb_1F8B874C.png" width="418" height="401" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;The TIBCO Spotfire Web Player version of the same dialog is shown below. It is the currently active visualization that will be used in the tool.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://spotfire.tibco.com/community/blogs/stn/image_333870E0.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="image" border="0" alt="image" src="http://spotfire.tibco.com/community/blogs/stn/image_thumb_35FE25D3.png" width="321" height="338" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;You can provide a message and a link to the analysis file together with the visualization. The link will be attached to the message and makes it possible to open the analysis file in the TIBCO Spotfire Web Player from the tibbr flow. Linking is only available when the analysis is opened from the library.&lt;/p&gt;
&lt;p&gt;Posting to Subjects&lt;/p&gt;
&lt;p&gt;By default the tib (message) is posted to your tibbr wall. You can direct your tib to any tibbr subject by simply providing the subject string before the message. &lt;br /&gt;For example entering the message &lt;strong&gt;@johndoe Hello&lt;/strong&gt; would post “Hello” to John Doe’s wall. &lt;br /&gt;You can also supply multiple subjects like this: &lt;strong&gt;@spotfire @tibbr Hey you two, play nice now&lt;/strong&gt; posts the message to both the Spotfire and the tibbr subjects.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Implementation Details&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The code is divided into three different parts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;TibbrTool – contains the code for doing the actual “work” in the tool, together with utility classes for preferences, bookmarks, images and tibbr. &lt;/li&gt;
&lt;li&gt;TibbrToolForms – contains the UI parts for TIBCO Spotfire Professional. &lt;/li&gt;
&lt;li&gt;TibbrToolWeb – contains the UI parts for the TIBCO Spotfire Web Player. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This is the recommended way of organizing the code when doing an extension for a tool that have user interface elements for both Professional and Web Player. For more information, see &lt;a href="http://stn.spotfire.com/stn/Tasks/Extensions.aspx"&gt;Creating Extensions to the Spotfire Platform&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some API:s used in the tool that are worth special mentioning:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stn.spotfire.com/stn/API.aspx?API=dxp%2fhtml%2fM_Spotfire_Dxp_Application_Visual_Render.htm"&gt;Visual.Render&lt;/a&gt; – used to render a visualization to a Graphics context. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://stn.spotfire.com/stn/API.aspx?API=dxp%2fhtml%2fAllMembers_T_Spotfire_Dxp_Application_Extension_CustomPreference.htm"&gt;CustomPreference&lt;/a&gt; – used for saving information related to the tibbr server and your user name. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://stn.spotfire.com/stn/API.aspx?API=dxp%2fhtml%2fM_Spotfire_Dxp_Framework_ApplicationModel_NotificationService_AddErrorNotification.htm"&gt;NotificationService.AddErrorNotification&lt;/a&gt; – used for notifying the user if something went wrong while posting to tibbr. This is displayed in the status bar. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://stn.spotfire.com/stn/Stints/HowToAddAndModifyBookmarks.aspx"&gt;BookmarkManager&lt;/a&gt; – used for handling bookmarks. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://stn.spotfire.com/stn/API.aspx?API=dxp%2fhtml%2fAllMembers_T_Spotfire_Dxp_Web_Forms_CustomWizardPromptControl.htm"&gt;CustomWizardPromptControl&lt;/a&gt; and &lt;a href="http://stn.spotfire.com/stn/API.aspx?API=dxp%2fhtml%2fT_Spotfire_Dxp_Web_Forms_CustomWizardPromptControlPage.htm"&gt;CustomWizardPromptControlPage&lt;/a&gt; – used for building the dialog/HTML form for the Web Player client. &lt;/li&gt;&lt;/ul&gt;&lt;img src="http://spotfire.tibco.com/community/aggbug.aspx?PostID=6037" width="1" height="1"&gt;</description><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Professional/default.aspx">Professional</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Web+Player/default.aspx">Web Player</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Integration/default.aspx">Integration</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/Sharing+Analysis/default.aspx">Sharing Analysis</category><category domain="http://spotfire.tibco.com/community/blogs/stn/archive/tags/3.3/default.aspx">3.3</category></item></channel></rss>
