tag:blogger.com,1999:blog-16759387743118050622024-02-06T19:39:53.559-08:00Mathematica consultingMathematica consulting in Australia. Mathematica is an ideal tool for prototyping and development of applications. Mathematica or Java/.NET interfaces with Mathematica high level calculations on the back end.
Interfaces limited by your imagination.
IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-1675938774311805062.post-27541582896844664552014-10-05T23:09:00.001-07:002014-11-26T14:20:54.026-08:00A Dynamic Accounting ApplicationBelow is a short video demonstrating a dynamic interface for doing basic accounting. The objective was/is to categorise line items to make them easier to display and work with based on classification. This can be done manually or the system can be trained to automatically classify items. You can dynamically choose the level of line items you want to display and similarly choose what items are to have notes in a printed report. In addition to this level of automation you can generate automated reports and save the key ingredients of the displays as a CDF.
<br />
<br />
If you encounter any problems with the embedded link below -- which is best viewed in full screen mode -- then <a href="http://www.screencast.com/t/Cx7ojbivu" target="blank">click here for full video</a>
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/66f9a987-4bd9-484c-9659-076963b1d431/tscplayer.swf" height="307" id="tscPlayer" name="tscplayer" type="application/x-shockwave-flash" width="550">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/66f9a987-4bd9-484c-9659-076963b1d431/tscplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="flashVars" value="poster=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/66f9a987-4bd9-484c-9659-076963b1d431/FirstFrame.jpg&xmp=sc.xmp&enableQuizzing=false&src=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/66f9a987-4bd9-484c-9659-076963b1d431/2014-10-08_10-06-59.mp4" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/66f9a987-4bd9-484c-9659-076963b1d431/" />
<param name="wmode" value="direct">
<param name="allowNetworking" value="all">
Unable to display content. Adobe Flash is required.
</object>
<br />
<br />
The classification of line items can be done manually, and must be initially, but after initial classification machine learning code can automatically classify line items and assign a probability -- with colour code for easy identification and inspection. The combination of line item classification and the dynamic interface means items can move automatically based on their balance. For example if a bank balance becomes negative, rather than remain as a negative asset the line item automatically moves to the liabilities section of the balance sheet where it appears as an overdraft. Ditto movement of payables/receivable line items.<br />
<br />
If you encounter any problems with the embedded link below -- which is best viewed in full screen mode -- then <a href="http://www.screencast.com/t/0ZuFHALKII" target="blank">click here for full video</a>
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object id="tscPlayer" name="tscplayer" width="550" height="397" type="application/x-shockwave-flash" data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/2a57b7bc-b6ac-4741-8a17-6595ca417f71/tscplayer.swf" >
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/2a57b7bc-b6ac-4741-8a17-6595ca417f71/tscplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="flashVars" value="poster=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/2a57b7bc-b6ac-4741-8a17-6595ca417f71/FirstFrame.jpg&xmp=sc.xmp&enableQuizzing=false&src=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/2a57b7bc-b6ac-4741-8a17-6595ca417f71/2014-10-08_10-00-56.mp4" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/2a57b7bc-b6ac-4741-8a17-6595ca417f71/" />
<param name="wmode" value="direct">
<param name="allowNetworking" value="all">
Unable to display content. Adobe Flash is required.
</object>
<br />
<br />
A full transaction record is kept along with notes for each transaction which are shown as tooltips for easy access.
<br />
<br />
If you encounter any problems with the embedded link below -- which is best viewed in full screen mode -- then <a href="http://www.screencast.com/t/62aA2mSKZ" target="blank">click here for full video</a>
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object id="tscPlayer" name="tscplayer" width="550" height="371" type="application/x-shockwave-flash" data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1c347139-f7db-4012-a719-a76046496b47/tscplayer.swf" >
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1c347139-f7db-4012-a719-a76046496b47/tscplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#000000" />
<param name="flashVars" value="poster=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1c347139-f7db-4012-a719-a76046496b47/FirstFrame.jpg&xmp=sc.xmp&enableQuizzing=false&src=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1c347139-f7db-4012-a719-a76046496b47/2014-10-06_16-19-14.mp4" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1c347139-f7db-4012-a719-a76046496b47/" />
<param name="wmode" value="direct">
<param name="allowNetworking" value="all">
Unable to display content. Adobe Flash is required.
</object>
IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com1tag:blogger.com,1999:blog-1675938774311805062.post-72015943237552171242013-04-06T22:24:00.000-07:002014-01-07T22:25:01.104-08:00Interfaces in Mathematica<br />
<br />
An example of a flexible interface with tab buttons in the docked cell at the top of the notebook.<br />
<br />
Opening display<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-TlXMRFy4LOfUG5bMVabNZXSQND8Kso_E25aI8hZMr30UdnRldi0HVpJSgl8xAGZDRoI76Mgiapg-Q7QDa1zmm7ZnasODimAk6aDePORsL7EWYD_p0xo8uFHJja8yXvIMrA1RxYAe9zhq/s1600/grab-1311283.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-TlXMRFy4LOfUG5bMVabNZXSQND8Kso_E25aI8hZMr30UdnRldi0HVpJSgl8xAGZDRoI76Mgiapg-Q7QDa1zmm7ZnasODimAk6aDePORsL7EWYD_p0xo8uFHJja8yXvIMrA1RxYAe9zhq/s1600/grab-1311283.png" height="253" width="320" /></a></div>
<br />
<br />
Import some data using the import wizard. Selected columns chosen for importing are highlighted:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJJhPK29ktJ3EGeoQfpM6bUBtxqKF2DO-TUyPA-ip-1pr_qCXzz8GczSCNCjMNpjxEUqErZxz0CfhoP529tR8f6YRry6H98d7qPDm9LK3bySaIZTIb3NEnxQEJknV9eryV4ymekIKqnhXd/s1600/grab-1311281.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJJhPK29ktJ3EGeoQfpM6bUBtxqKF2DO-TUyPA-ip-1pr_qCXzz8GczSCNCjMNpjxEUqErZxz0CfhoP529tR8f6YRry6H98d7qPDm9LK3bySaIZTIb3NEnxQEJknV9eryV4ymekIKqnhXd/s1600/grab-1311281.png" height="253" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Display the data:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg19vn5B9dSRxgnLMlqV465yNfZ56f3CUNK8u8GteceHAYvhJIjo-dTb_2C41cKw_LGmRtkpe9rdE3hRVtRk6yVLuvPGIFeJViVqx8Lrva0UBK2m_YJjatVoLOrLc9A9IRhgdBFNpdFdZAK/s1600/grab-1311282.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg19vn5B9dSRxgnLMlqV465yNfZ56f3CUNK8u8GteceHAYvhJIjo-dTb_2C41cKw_LGmRtkpe9rdE3hRVtRk6yVLuvPGIFeJViVqx8Lrva0UBK2m_YJjatVoLOrLc9A9IRhgdBFNpdFdZAK/s1600/grab-1311282.png" height="253" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Style the data:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzAvz66ri1QvyLeDh5hw-FbEXCcpPMaqBmtsFrl63Fqm2-rlpZzEanHXNSC3TR-6sL5E8OYmt6hg1XSbh5Iaipb_oIx1ObS9tQm5IOz10zTy6rNndTaRGgAgpXPsgng-344-EtPTDlocFH/s1600/grab-1311132.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzAvz66ri1QvyLeDh5hw-FbEXCcpPMaqBmtsFrl63Fqm2-rlpZzEanHXNSC3TR-6sL5E8OYmt6hg1XSbh5Iaipb_oIx1ObS9tQm5IOz10zTy6rNndTaRGgAgpXPsgng-344-EtPTDlocFH/s1600/grab-1311132.png" height="251" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-91219426558281157912013-02-07T14:18:00.003-08:002013-02-07T14:18:37.460-08:00Automatic report generation: part 4<br />
This is the fourth of three posts (!) that show how Mathematica can automate the processing of data -- an addendum that shows some newly created features.<br />
<br />
The new feature added is a function to compare various periods: month vs month, quarter vs quarter, calendar/financial year vs calendar/financial year, and year-to-date vs year-to-date.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
The key take home message I'd like viewers to get from both these posts and the rail freight post is that mundane data processing tasks can be automated. It doesn't matter what format your data is in, as long as the format is coming consistently your data processing can be automated. Additionally this could be taken a step further can all be done in the background and scheduled to run as given times -- but there would be no video to show in that case!<br />
<br />
This video is best viewed in full screen mode.<br />
<br />
<br />
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/scplayer.swf" height="337" id="scPlayer" type="application/x-shockwave-flash" width="525">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/FirstFrame.jpg&containerwidth=1050&containerheight=674&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/2013-02-08_09-11-28.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/1a9e4f94-de45-46e6-a796-f4339bde9fe7/embed" height="337" width="525" ></iframe>
</object>IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-12257457094061867072013-02-06T23:29:00.002-08:002013-02-07T14:20:15.839-08:00Point and click "Tableau-like" visuals in Mathematica: Part 2This video shows an interactive application that displays Excel data -- although the source could be any of a wide variety of formats. Some dummy data on house sales activity is imported and displayed. The user chooses the locality they want to focus on and can adjust the viewing period. The bubble chart shows fraction of pending sales over the viewable period.<br />
<br />
A more advanced version would link to e.g. Google Maps to display the location data automatically.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
The key take home message I'd like viewers to get from this and other similar posts is that mundane data processing tasks can be automated. It doesn't matter what format your data is in, as long as the format is coming consistently your data processing can be automated.<br />
<br />
This video is best viewed in full screen mode.<br />
<br />
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/scplayer.swf" height="308" id="scPlayer" type="application/x-shockwave-flash" width="361">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/FirstFrame.jpg&containerwidth=722&containerheight=616&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/2013-02-07_13-42-44.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/0534f514-0c7f-4757-bfb8-ea94d4d49580/embed" height="308" width="361" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-33149486795807026742013-01-23T14:30:00.002-08:002013-01-23T19:12:46.702-08:00Automatic report generation: part 3<br />
This is the third of three posts that show how Mathematica can automate the processing of data.<br />
<br />
1. This video shows the presentation of the data as bar charts.<br />
<br />
2. Some styling options are shown.<br />
<br />
3. Bar charts can be toggled to show, for example, monthly, quarterly, and annual data.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
The key take home message I'd like viewers to get from both these posts and the rail freight post is that mundane data processing tasks can be automated. It doesn't matter what format your data is in, as long as the format is coming consistently your data processing can be automated. Additionally this could be taken a step further can all be done in the background and scheduled to run as given times -- but there would be no video to show in that case!<br />
<br />
This video is best viewed in full screen mode.<br />
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/scplayer.swf" height="362" id="scPlayer" type="application/x-shockwave-flash" width="525">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/FirstFrame.jpg&containerwidth=1050&containerheight=724&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/2013-01-23_13-07-41.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/5fe0e4e8-fb2b-4980-9021-8477ea49877f/embed" height="362" width="525" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-76161093801544094702013-01-23T14:23:00.002-08:002013-01-23T14:37:52.882-08:00Automatic report generation: part 2This is the second of three posts that show how Mathematica can automate the processing of data. This video shows some of the plotting features that are possible once the data has been processed.<br />
<br />
1. Plots can be toggled to show, for example, monthly, quarterly, annual, and seasonal data.<br />
<br />
2. Where a category that is plotted has nested line items a drill down button allows the break down of the line item to be shown.<br />
<br />
3. Notes can be added to plots.<br />
<br />
4. Underneath the plot the category being plotted is tabulated as a percentage of other categories/line items.<br />
<br />
5. Plots, tables, and notes can be saved as PDFs for distribution among colleagues.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
The key take home message I'd like viewers to get from both these posts and the rail freight post is that mundane data processing tasks can be automated. It doesn't matter what format your data is in, as long as the format is coming consistently your data processing can be automated. Additionally this could be taken a step further can all be done in the background and scheduled to run as given times -- but there would be no video to show in that case!<br />
<br />
This video is best viewed in full screen mode.<br />
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/scplayer.swf" height="362" id="scPlayer" type="application/x-shockwave-flash" width="525">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/FirstFrame.jpg&containerwidth=1050&containerheight=724&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/2013-01-24_09-00-11.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/4df6d9fc-f733-448b-ac8b-f40475fc0126/embed" height="362" width="525" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-15510853404615738072013-01-23T13:50:00.002-08:002013-01-23T14:38:01.915-08:00Automatic report generation: part 1This is the first of three posts that show how Mathematica can automate the processing of data. In this example the data is in the form of Excel spreadsheets. A <a href="http://ibnhconsulting.blogspot.com.au/2011/11/railfreight-analysis.html" target="_blank">previous example</a> showed importing data from a PDF.<br />
<br />
I haven't added a voice over so a few points to note:<br />
<br />
1. The Excel files are generic balance sheets and P&Ls. Each file containing a separate worksheet for a given month.<br />
<br />
2. The display objective is to nest different categories. So the first step is to establish a parent-child relationship. For example <i>current assets</i> is a child of <i>assets</i>. This relationship is stored so it only has to be done once.<br />
<br />
3. The nesting allows the user to determine the level of drill down they want to display in the accounts.<br />
<br />
4. The raw data for this example was monthly data. Once imported and processed the user can toggle between monthly, quarterly, calendar year, financial year, and year-to-date for presentation purposes.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
The key take home message I'd like viewers to get from both these posts and the rail freight post is that mundane data processing tasks can be automated. It doesn't matter what format your data is in, as long as the format is coming consistently your data processing can be automated. Additionally this could be taken a step further can all be done in the background and scheduled to run as given times -- but there would be no video to show in that case!<br />
<br />
This video is best viewed in full screen mode.<br />
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/scplayer.swf" height="362" id="scPlayer" type="application/x-shockwave-flash" width="525">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/FirstFrame.jpg&containerwidth=1050&containerheight=724&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/2013-01-24_08-15-54.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/00e9dc33-fe16-4b10-872b-aa9172cb7419/embed" height="362" width="525" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-12047388017139615552012-12-03T15:38:00.000-08:002012-12-06T23:29:32.568-08:00Point and click "Tableau-like" visuals in MathematicaTableau is a dominant software for data visualisation. Since about 2009 I have been suggesting Wolfram Research offer a Tableau-like interface for data visualisation. Tableau comes in many forms but includes a web plug-in and an iPad version. Some examples of the visuals can be found <a href="http://www.tableausoftware.com/learn/gallery">here</a>.<br />
<br />
As nice as the visuals are there doesn't seem to be anything that couldn't be built with Mathematica. The point lost on many seems to be that commercial users are time poor and do not want to be spending enormous time creating these things -- particularly when an off-the-shelf alternative like Tableau or Spotfire exists. Nevertheless, for the curious, some crude "Tableau-like" functionality can be put together fairly quickly.<br />
<br />
Below is a video showing one such feature. The user (left) clicks on a point and a navigation box appears from which they can exclude the point, keep only the point or open a window showing all the data. This window with the data is very crude-- for this exercise I didn't see any point in styling it. Right clicking anywhere in the plot reverts to the original set of data. This sort of feature could be applied to bars, columns, lines and so on.<br />
<br />
I didn't take any time to adjust the color function so you will see that as points are excluded the colours change. These sorts of things can easily be corrected. Additionally the navigation box can include functions which link to other coupled plots but for now that is as far as I have gone. I might have a go at making a complete Mathematica version of one of the Tableau examples one of these days.<br />
<br />
The video is best viewed as full screen.<br />
<br />
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/scplayer.swf" height="552" id="scPlayer" type="application/x-shockwave-flash" width="588">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/FirstFrame.jpg&containerwidth=588&containerheight=552&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/2012-12-04_10-22-42.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/fbe39422-a198-4cb5-9f4b-c067bf53a651/embed" height="552" width="588" ></iframe>
</object>
And another video:
<!-- copy and paste. Modify height and width if desired. -->
<object id="scPlayer" width="540" height="374" type="application/x-shockwave-flash" data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/scplayer.swf" >
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/FirstFrame.jpg&containerwidth=540&containerheight=374&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/2012-12-07_18-24-46.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/796ee92c-9719-46dc-98c6-2f0bf8b68d0a/embed" height="374" width="540" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com1tag:blogger.com,1999:blog-1675938774311805062.post-23075419828624762212012-11-24T02:54:00.000-08:002013-02-24T13:57:31.275-08:00Railfreight analysisA slightly better quality video of my interface to my North American rail freight (MySQL) database described <a href="http://ibnhconsulting.blogspot.com/2011/06/data-processing-with-mathematica-and.html" target="_blank">here</a>. I have since changed the graphics and now use <b><span style="font-family: "Courier New",Courier,monospace;">interactiveDateListPlot</span></b>.<br />
<br />
Note that the recording was made on a 7 year old 32 bit computer (running Mathematica V8) and some of the operations shown were slowed down by having to run the recording.<br />
<br />
Best viewed in full screen mode.<br />
<br />
<br />
<!-- copy and paste. Modify height and width if desired. -->
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/scplayer.swf" height="381" id="scPlayer" type="application/x-shockwave-flash" width="394">
<param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/FirstFrame.jpg&containerwidth=394&containerheight=381&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/2012-12-17_16-21-37.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/544fd9a2-7953-4053-8d3e-c629440b498f/embed" height="381" width="394" ></iframe>
</object> IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-63816666235478807872012-11-07T13:05:00.000-08:002012-11-20T13:51:47.395-08:00Dynamic GridsI've been developing some grids that have some dynamic features that make them more useful than static grids. In the video below you will see a grid that behaves similarly to an Excel spreadsheet with frozen panes. The main difference is the use of openers to nest line item categories. In the video I have replaced actual data with random line item names and random numbers. The actual usage is for each nested child category to add to its parents total. The parent totals are displayed and when you click on the openers the child line items are displayed.<br />
<br />
Best viewed in full screen mode.
<br />
<br />
<object data="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/scplayer.swf" height="287" id="scPlayer" type="application/x-shockwave-flash" width="486"><param name="movie" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/scplayer.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="thumb=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/FirstFrame.jpg&containerwidth=486&containerheight=287&xmp=sc.xmp&content=http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/2012-11-04_17-18-22.mp4&blurover=false" /><param name="allowFullScreen" value="true" /><param name="scale" value="showall" /><param name="allowScriptAccess" value="always" /><param name="base" value="http://content.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/" /><iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/IBNHConsulting/folders/Snagit/media/83742a3e-c374-445e-a6ec-9843a36993a3/embed" height="287" width="486" ></iframe></object>IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com3tag:blogger.com,1999:blog-1675938774311805062.post-63377391200144765722012-06-27T16:19:00.000-07:002012-06-27T16:19:28.079-07:00Easy button to switch between `Working` and `SlideShow` Screen EnvironmentsThere was a question <a href="http://mathematica.stackexchange.com/questions/7458/easy-button-or-hot-key-to-switch-between-working-and-slideshow-screen-enviro" target="_blank">here</a> about having a button in a docked cell to switch between the <span style="font-size: x-small;"><span style="font-family: "Trebuchet MS",sans-serif;">Working</span></span> and <span style="font-size: x-small;"><span style="font-family: "Trebuchet MS",sans-serif;">SlideShow</span></span> environments in Mathematica. In the notebook linked at the bottom there is code to generate a docked cell that allows you to toggle between the <span style="font-size: x-small;"><span style="font-family: "Trebuchet MS",sans-serif;">Working</span></span> and <span style="font-size: x-small;"><span style="font-family: "Trebuchet MS",sans-serif;">SlideShow</span></span> environments and also allows to to run the <span style="font-size: x-small;"><span style="font-family: "Trebuchet MS",sans-serif;">Working</span></span> environments in full screen mode.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhETN0tPGDHrCTW4HLmOraJe00O9M_FBj63ZlNCKJihCDdlrYVIHVVG_sEEK9HrYsrX2H4kSHsZ14OQa-QTqsrq_c4z6otuW7fxmKJNCvywheBCmKMU66XsIZGgGAghny8n8aDZv8_BWkv-/s1600/screen+grab1206287.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhETN0tPGDHrCTW4HLmOraJe00O9M_FBj63ZlNCKJihCDdlrYVIHVVG_sEEK9HrYsrX2H4kSHsZ14OQa-QTqsrq_c4z6otuW7fxmKJNCvywheBCmKMU66XsIZGgGAghny8n8aDZv8_BWkv-/s320/screen+grab1206287.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwk-rlSFeW4bUKi3A7si19nlqeKt6VivgcgA6SGjRdHNupjzCAjdr6qpNDIpPd5nkfPrR9IBh0LzbsK6alpHE3sIkRdzOJRdItrBZz76AxrSbUM9Z7V1DkFl0LrUgORff5YvAFB1uZ0rPz/s1600/screen+grab1206286.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="66" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwk-rlSFeW4bUKi3A7si19nlqeKt6VivgcgA6SGjRdHNupjzCAjdr6qpNDIpPd5nkfPrR9IBh0LzbsK6alpHE3sIkRdzOJRdItrBZz76AxrSbUM9Z7V1DkFl0LrUgORff5YvAFB1uZ0rPz/s320/screen+grab1206286.png" width="320" /></a></div>
<br />
There are instructions on how to turn this into a stylesheet. You can download the Mathematica notebook <a href="https://dl.dropbox.com/u/31372535/docked%20cell.nb" target="_blank">here</a>.<br />
<br />IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-89890248993274565392012-06-27T15:34:00.001-07:002012-06-27T15:46:31.982-07:00Legend positioning<b>Problem</b>: I want to be able to fine tune the positioning of my plot legends.<br />
<br />
<b>Solution</b>: Use the legends as a <b><span style="font-family: "Courier New",Courier,monospace;">Locator</span></b> in Mathematica.<br />
<br />
<b>Second problem</b>: I want to position the legend outside the graphic. It is easier to use scaled points for locator positioning and these work within the plot.<br />
<br />
<b>Solution</b>: Surround your actual plot with an empty graphic that acts as a canvas<br />
<br />
Below is an example using a toy legend. <br />
<br />
<br />
<script src="http://www.wolfram.com/cdf-player/plugin/v2.1/cdfplugin.js" type="text/javascript">
</script>
<script type="text/javascript">
var cdf = new cdfplugin();
cdf.embed('https://dl.dropbox.com/u/31372535/legend.cdf', 428, 433);
</script>
<br />
<br />
The Mathematica notebook can be downloaded <a href="https://dl.dropbox.com/u/31372535/legend.cdf" target="_blank">here</a>.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-47023656752939497172012-06-07T23:01:00.000-07:002012-06-13T20:29:08.317-07:00Tabbed content<b><span style="font-family: "Courier New",Courier,monospace;">TabView</span></b> is good for prototyping interfaces but when deploying you ideally want to make things look a bit better. Here is an example of Mathematica tabs built from the ground up from graphics primitives and event handlers. The application is the creation of a step by step wizard.<br />
<br />
(note that the compression used in the video creation hasn't done the crispness of this interface any favours)<br />
<br />
<br />
<object data="http://content.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/scplayer.swf" height="142.5" id="scPlayer" type="application/x-shockwave-flash" width="520"><param name="movie" value="http://content.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/scplayer.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#FFFFFF" />
<param name="flashVars" value="thumb=http://content.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/FirstFrame.jpg&containerwidth=832&containerheight=228&xmp=sc.xmp&content=http://content.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/2012-06-14_13-20-10.mp4&blurover=false" />
<param name="allowFullScreen" value="true" />
<param name="scale" value="showall" />
<param name="allowScriptAccess" value="always" />
<param name="base" value="http://content.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/" />
<iframe type="text/html" frameborder="0" scrolling="no" style="overflow:hidden;" src="http://www.screencast.com/users/wildebeests/folders/Snagit/media/68e60962-e515-4422-b0c8-ce21baef0de7/embed" height="228" width="832" ></iframe></object>IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-31843436454218575712012-04-05T18:40:00.000-07:002012-06-27T16:22:19.606-07:00Digitizing plotsI recently replied to a question on <a href="http://mathematica.stackexchange.com/questions/3831/how-can-i-extract-data-points-from-a-black-and-white-image/3849#3849">Mathematica Stack Exchange</a> about digitizing plots. I've added a bit more code to that answer and created a tabbed interface for digitizing plots.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP1dp7jUP6KjRegKILXcZsiIcBgVbJ95o2s_3yAlop4GWEQqA3em5F1xfAE-c5A4w01PMkh3t39gs_stbbLe1Ug6hx0pBV9P-NQbrg7HfrVI8fe7Zu9mT9be659AZ8zSagHsEkepNz4wwl/s1600/screen+grab1205221.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiP1dp7jUP6KjRegKILXcZsiIcBgVbJ95o2s_3yAlop4GWEQqA3em5F1xfAE-c5A4w01PMkh3t39gs_stbbLe1Ug6hx0pBV9P-NQbrg7HfrVI8fe7Zu9mT9be659AZ8zSagHsEkepNz4wwl/s320/screen+grab1205221.png" width="256" /></a></div>
<br />
You can download it <a href="http://dl.dropbox.com/u/31372535/scatterPlotDigitizer.nb" target="_blank">here</a>. Feel free to make modifications.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-77248776893583749302011-09-26T18:23:00.000-07:002011-09-26T18:24:53.230-07:00Creating "margin" graphics, custom dingbats, and docked cellsDuring a discussion on LinkedIn: "Anyone writing journal papers and theses using Mathematica?" one of the questions raised was how to have text floating around graphics. I don't have an easy answer for that but one of the other features you often see in textbooks is wide page margins that contain pocket graphics. You can implement this in Mathematica by placing the graphic in the <b style="font-family: "Courier New",Courier,monospace;">CellFrameLabel</b>. Here is an example:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggv0oSzZaBBYPnF_dMFZuhhFWKNiPXVgGhLJSVJHa74omb8gQXxcnjS-535KCsL9exKwZgofrT2EujMFvog5WAL3N6uO2TV-0wYpNKsmd50ZZbgOYO-nWVzyGZSyqeQgROFAeeE_YWuD9X/s1600/screen+grab1109271.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggv0oSzZaBBYPnF_dMFZuhhFWKNiPXVgGhLJSVJHa74omb8gQXxcnjS-535KCsL9exKwZgofrT2EujMFvog5WAL3N6uO2TV-0wYpNKsmd50ZZbgOYO-nWVzyGZSyqeQgROFAeeE_YWuD9X/s400/screen+grab1109271.png" width="400" /></a></div><br />
The notebook describing how to do this can be downloaded <a href="http://dl.dropbox.com/u/31372535/pocketGraphics.nb" target="blank">here</a>.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-54436202003305969812011-09-17T21:19:00.001-07:002011-09-26T23:23:57.317-07:00Interactive Plot Ranges in MathematicaIf you've used things like <a href="http://reference.wolfram.com/mathematica/ref/InteractiveTradingChart.html" rel="nofollow" target="blank"><b style="font-family: "Courier New",Courier,monospace;">InteractiveTradingChart</b></a> in Mathematica you may have wondered why that sort of dynamic interactivity isn't an option for other plot and chart types. I've made a function called <b><span style="font-family: "Courier New",Courier,monospace;">interactiveDateListPlot</span></b> to do this using <a href="http://reference.wolfram.com/mathematica/ref/Slider.html" rel="nofollow" target="blank">sliders</a> and <a href="http://reference.wolfram.com/mathematica/ref/Locator.html" rel="nofollow" target="blank">locators</a>. <br />
<br />
<script src="http://www.wolfram.com/cdf-player/plugin/v2.1/cdfplugin.js" type="text/javascript">
</script><br />
<script type="text/javascript">
var cdf = new cdf_plugin();
cdf.embed("http://dl.dropbox.com/u/31372535/test2.cdf", 490, 380);
</script><br />
<br />
The code for <b style="font-family: "Courier New",Courier,monospace;">interactiveDateListPlot</b> can be downloaded <a href="http://dl.dropbox.com/u/31372535/interactiveDateListPlot.nb" target = "blank">here</a>. This code was for <b style="font-family: "Courier New",Courier,monospace;">DateListPlot</b> but interested Mathematica users will be able to extend this to other plot types.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com6tag:blogger.com,1999:blog-1675938774311805062.post-45268869796772104762011-09-14T22:09:00.001-07:002011-09-26T23:15:59.788-07:00Test postTest post to see if I can embed CDFs without any problems ...as described <a href="http://www.wolfram.com/cdf/adopting-cdf/deploying-cdf/web-delivery.html">here</a>. I've found that this can sometimes take awhile to load even though the file is 4KB.<br />
<br />
<br />
<script src="http://www.wolfram.com/cdf-player/plugin/v2.1/cdfplugin.js" type="text/javascript">
</script><br />
<script type="text/javascript">
var cdf = new cdf_plugin();
cdf.embed("http://dl.dropbox.com/u/31372535/test.cdf", 450, 450);
</script><br />
<br />
The CDF being displayed here is located at my Dropbox. Additional material on embedding CDFs can be found at <a href="http://www.walkingrandomly.com/?p=3323">Walking Randomly</a>.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-68024160787122214012011-07-21T02:07:00.000-07:002011-12-10T15:52:51.507-08:00Example of an Enterprise Level Asset Pricing ToolI recently made an enterprise level asset pricing tool or "dashboard" for a company, that allows users to price assets and obtain other financial metrics without having any Mathematica experience (or even realizing that Mathematica is what they are using). A brief summary of the dashboard:<br />
<br />
<i>GUI for asset pricing and analytics, database management, and workflow management built using a combination of Mathematica and SQL languages. <br />
<br />
Dynamic Monte Carlo (random numbers sampled from a distribution customized for each asset) & probabilistic asset price modeling using data accessed from the MySQL database; Discounting via either fixed rates or spread to the treasuries rate curve.</i><br />
<br />
Here are some screen grabs of the dashboard. Due to the nature of the project there are limits to what I can display so several tabs in the dashboard aren't displayed or are displayed in a limited way with some pixelation to conceal proprietary information.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQNslUQkJI6QGsFtYujLLANyXSDkT1NBfj6corFwePBSFWNWx67p5cw1ZPN7c7H3A8qaI5vOA7GCOSkUB8x5zy0Y9nTlF_3UzmSPtcOaDcxGDoKK54pE5WdLsCmrLyNloELd88jFDrBTB1/s1600/screen+grab1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="584" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQNslUQkJI6QGsFtYujLLANyXSDkT1NBfj6corFwePBSFWNWx67p5cw1ZPN7c7H3A8qaI5vOA7GCOSkUB8x5zy0Y9nTlF_3UzmSPtcOaDcxGDoKK54pE5WdLsCmrLyNloELd88jFDrBTB1/s640/screen+grab1.png" width="640" /></a></div><br />
<br />
Pricing and data retrieval and storage can be scheduled.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbpdhTHBPNvXRmhJ6pZhK0W0mjN89ziBUMSJAFrJd7vtNGNnd6QFnbn-bWtSa6RX9vETLM2h7Twplr1vrG9YSQzILtyiahlqM6ygF52l2so55EShr5A-lrBaPZzVv2mwR6zTU87gcsJF3a/s1600/screen+grab2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="584" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbpdhTHBPNvXRmhJ6pZhK0W0mjN89ziBUMSJAFrJd7vtNGNnd6QFnbn-bWtSa6RX9vETLM2h7Twplr1vrG9YSQzILtyiahlqM6ygF52l2so55EShr5A-lrBaPZzVv2mwR6zTU87gcsJF3a/s640/screen+grab2.png" width="640" /></a></div><br />
<br />
Bond yields are obtained from Bloomberg and stored in the company database and retrieved from within the dashboard.<br />
<br />
<br />
<a name='more'></a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVmiE4lctmQLGEWEi-6OFB4Fm-glVSjn4EVCfBHmfHSqryzhOSaCcjLykXm0j5aIlHtP-YUrC7htj8vUgTOmCTzQsi2HTWvmLE5GJXKrGtromQ3-fbjcfcwCpyUIti4Ushjpe1MnalcrT/s1600/screen+grab3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAVmiE4lctmQLGEWEi-6OFB4Fm-glVSjn4EVCfBHmfHSqryzhOSaCcjLykXm0j5aIlHtP-YUrC7htj8vUgTOmCTzQsi2HTWvmLE5GJXKrGtromQ3-fbjcfcwCpyUIti4Ushjpe1MnalcrT/s640/screen+grab3.png" width="640" /></a></div><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1BFJIng-EJavWhjTagyXqC7r1CAP8L-luxpHV_w4xcdqQKYWrzRTgf4qy1VEW-CIhH7HBddYcukY-X4cr_lbmTCgYAypvROw-w6Y6mhlA3YlbAu14CI3v0xv1fHG6vYHP8ROi-uZy0U1L/s1600/screen+grab4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="584" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1BFJIng-EJavWhjTagyXqC7r1CAP8L-luxpHV_w4xcdqQKYWrzRTgf4qy1VEW-CIhH7HBddYcukY-X4cr_lbmTCgYAypvROw-w6Y6mhlA3YlbAu14CI3v0xv1fHG6vYHP8ROi-uZy0U1L/s640/screen+grab4.png" width="640" /></a></div><br />
A few ways of pricing assets are explored. The pricing parameters for a given asset can be stored in the database and are automatically selected (i.e. fields are populated automatically) when the asset is chosen.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Vvj4JCnzLQ4GnDLo_85zdetqtkbW9aavloeG2r1sqAF1EtJAm1YmrZ43Rd5Sd4mLKuHh1-1xKuvqA8JoJIlp2uqN9rvozZyvQSpM53xoHEpI7qCUbJGwXX8e4jEmYzfOoEoT2hkvt1bA/s1600/screen+grab5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Vvj4JCnzLQ4GnDLo_85zdetqtkbW9aavloeG2r1sqAF1EtJAm1YmrZ43Rd5Sd4mLKuHh1-1xKuvqA8JoJIlp2uqN9rvozZyvQSpM53xoHEpI7qCUbJGwXX8e4jEmYzfOoEoT2hkvt1bA/s640/screen+grab5.png" width="640" /></a></div><br />
Once pricing is complete the information is displayed along with some buttons for saving the information to the database or saving to a notebook (from which you can print to a PDF file).<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhljw08CdrWktVoHo50tUUvsI_dxNQ31X2hDoJqKPBaXr7QZoeya7crrczKgAlhMQGN9NOZJgCgzPAGcluNU09V4zwT6FrjfRK2oT5HSQSvJrOvzVhNlL9YcYSMElFC_a9oL_4FDG_kn0qA/s1600/screen+grab6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhljw08CdrWktVoHo50tUUvsI_dxNQ31X2hDoJqKPBaXr7QZoeya7crrczKgAlhMQGN9NOZJgCgzPAGcluNU09V4zwT6FrjfRK2oT5HSQSvJrOvzVhNlL9YcYSMElFC_a9oL_4FDG_kn0qA/s640/screen+grab6.png" width="640" /></a></div><br />
<br />
Scroll down to view all the results.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHkIeXjzpgZH3oPKr0yZBLrXtCYo0UfpeIaO4qUIvgzciNKqmf5th8dGMW6rMyP8f8RpSokJPlxEZRI6n_m3L0YXsl7VZK9qJiK7QUQwNBG5-smO6s6cuKTGyQDUfMn1zr9b8W0lmd0Bz/s1600/screen+grab7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJHkIeXjzpgZH3oPKr0yZBLrXtCYo0UfpeIaO4qUIvgzciNKqmf5th8dGMW6rMyP8f8RpSokJPlxEZRI6n_m3L0YXsl7VZK9qJiK7QUQwNBG5-smO6s6cuKTGyQDUfMn1zr9b8W0lmd0Bz/s640/screen+grab7.png" width="640" /></a></div><br />
At the bottom of the results table the user has an option to generate histograms to view how the Monte Carlo simulated results are distributed.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj69oLw_65eQa6_kLSFQVu3lkrntQ7vcVe98CZzfCjaFIpg7n_zw1Js7B6N4pgO25vxPZMNxv7g07ItS0WXdjjhuHHP95qyGIKgSUHXeLlmB0LL-v4UfILZRLFKdTfx1UXhf-b_HZgYJwwC/s1600/screen+grab8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="588" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj69oLw_65eQa6_kLSFQVu3lkrntQ7vcVe98CZzfCjaFIpg7n_zw1Js7B6N4pgO25vxPZMNxv7g07ItS0WXdjjhuHHP95qyGIKgSUHXeLlmB0LL-v4UfILZRLFKdTfx1UXhf-b_HZgYJwwC/s640/screen+grab8.png" width="640" /></a></div><br />
Scroll down ...<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxil3200u3LM5egat5AiLFG8eSFv4xOl_8O6hB8AWyb7hYHv_QgKGCpt7B0cxNIS9Zv6ZkGO52RCTNx2wsuIkQ7uOfMPqG-FXktWjBgrHVRPj-OX75Xq5vL74T5o2XSGWp6f2B6PKFBz12/s1600/screen+grab9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="584" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxil3200u3LM5egat5AiLFG8eSFv4xOl_8O6hB8AWyb7hYHv_QgKGCpt7B0cxNIS9Zv6ZkGO52RCTNx2wsuIkQ7uOfMPqG-FXktWjBgrHVRPj-OX75Xq5vL74T5o2XSGWp6f2B6PKFBz12/s640/screen+grab9.png" width="640" /></a></div><br />
Scroll down further ...<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVRa_bHlisJ2RGv2YWdnqBog-imS9XJRUFPlZIKuS4bAmMuIcrdELAcQzCatG-Dz5wm5B46tilReehAZbkVJNYf_BntPUzQvsDOqVYy1C9cV-qbUYbYTIn-wO1mHNY2F9xzFMYjzaGPdN1/s1600/screen+grab10.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="580" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVRa_bHlisJ2RGv2YWdnqBog-imS9XJRUFPlZIKuS4bAmMuIcrdELAcQzCatG-Dz5wm5B46tilReehAZbkVJNYf_BntPUzQvsDOqVYy1C9cV-qbUYbYTIn-wO1mHNY2F9xzFMYjzaGPdN1/s640/screen+grab10.png" width="640" /></a> <br />
<br />
For assets the company didn't own (yet) they could value the asset based on various criteria. Note that the fields and buttons are rendered automatically based on whether or not the asset is currently listed as owned. In other words if the company owns the asset the pricing window (for pricing an individual asset) automatically appears as above whereas if the asset is listed in the database as owned the single asset pricing window appears as below:<br />
<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQzV4tYdKH-xKSN44aQafY2nh6RyB6Tv5QyBcBuuBAcS3h5X7VAnHhud6u2fR2mBdaTTslGHk1T4KaLpk5ifc3_eatJsBF2YwoZjbHCNOmYeADrc_iHmUcsg_4X7Fb0uYrJEjWqRcvQVf/s1600/screen+grab11.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="585" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQzV4tYdKH-xKSN44aQafY2nh6RyB6Tv5QyBcBuuBAcS3h5X7VAnHhud6u2fR2mBdaTTslGHk1T4KaLpk5ifc3_eatJsBF2YwoZjbHCNOmYeADrc_iHmUcsg_4X7Fb0uYrJEjWqRcvQVf/s640/screen+grab11.png" width="640" /></a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIh38oRY0TyYHeO5YiNCmFHUO051rUjx7fNB2hOFss-VbbinV4jbOkICeF1sZgTAYDrZyFnZiF3Nj6imEQ1kdi6DbT_AXtlma618wBk8ZBSzSzqhJdY9yvc5cXMn921QpRn1bQBR1W7LN7/s1600/screen+grab12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="588" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIh38oRY0TyYHeO5YiNCmFHUO051rUjx7fNB2hOFss-VbbinV4jbOkICeF1sZgTAYDrZyFnZiF3Nj6imEQ1kdi6DbT_AXtlma618wBk8ZBSzSzqhJdY9yvc5cXMn921QpRn1bQBR1W7LN7/s640/screen+grab12.png" width="640" /></a></div>IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-12005253984978226722011-06-19T22:02:00.000-07:002011-12-10T15:50:58.069-08:00Styling Tables in MathematicaThe video demonstrates some code I have written to make styling tables a little bit easier.<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/pP4tJMrq-2Q" width="425"></iframe><br />
<br />
Code for styling tables can be downloaded <a href="http://dl.dropbox.com/u/31372535/tables.zip">here</a>. This is "scaled down" code that is not as elegant IMO as that used in the video but probably more straight forward to follow. The video code is primarily based on <b><span style="font-family: "Courier New",Courier,monospace;">TaggingRules</span></b>.IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0tag:blogger.com,1999:blog-1675938774311805062.post-61005892747515556782011-06-18T15:42:00.000-07:002011-12-10T15:43:54.490-08:00Data processing with Mathematica and MySQLExample of a small database driven application. Data, in the form of PDFs, are imported into Mathematica, scraped, and the data displayed. If the scrape was error free the data is saved to a MySQL database. Errors can be edited and then data saved.<br />
<br />
The other part of the application is retrieving data from the database on the fly and displaying it.<br />
<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/qbGBkbKUc_Q" width="425"></iframe>IBNHhttp://www.blogger.com/profile/08794131626443078230noreply@blogger.com0