Sunday, November 2, 2008

Citizens have a right to talk about activities

By Brenda Zulu
Telkcom has recognised that democracy requires that citizens have the right to know about activities that affect their lives and the recognition of the importance of their participation within the democratic system to make it work and flourish.
In her welcome address Bintu Petsana, Acting Group Executive: Corporate Communication at the opening of Highway Africa said that it was important to have the right of expression and human rights culture .
Petsan said the precondition was that people could not be regarded as consumers or markets or passive recipients in a multi-directional social dialogue.
“We look at the media to provide the framework for such a discourse and to act as a mechanism that allows citizens to develop their level of awareness,” explained Petsane.
She observed that when one speaks of informed citizens with a heightened level of awareness, one would have to search far to better illustrate the power of the media in the 21st century information society, than the war in Iraq.
Looking at Media Columinist, Stephen glover who writes:
“ As any armchair general will tel l you, the second Gulf war is something else. It is the first media war. This means that we experts, safely ensconced on our sofas, can follow battlefield events almost before they happen. It has never been remotely like this before. The advances of technology allow reporters to stand before a camera in the middle of Iraqi desert an dbring the war into our sitting rooms.”
Petsan observed that since these words were written a few years ago, the proliferation and increasing sophistication of information communication technologies (ICTs) has given the war and other events be it mundane or global importance, an immediacy unparelled in the history of Journalism.
“It is citizen Journalism in action, and it is here to stay. It is driven by ICTs and it will change the way we evaluate information and view the world,” said Petsan

Lookup Cache

Lookup transformation supports 3 types of cache.
Full Cache - This brings the reference table into memory - Its good if you have lots of memory. Partial - It adds rows to the cache as they are used - Good if using less memory or the range of rows looked up could be less.
None - Always queries the Database every time - useful in low memory conditions

Users sometimes run into a puzzling situation when they use caching in the lookup. With caching settings set to Full Cache they get no hits - all the rows flow to the error output. However, with caching set to Partial or none, (memory restriction is enabled), things work as expected. The common reason for this is that they are comparing strings which have leading or trailing spaces, for example: “John” with “John “

When caching is Full (memory restriction is off) SSIS builds a hash table for the cache in order to do the comparisons more quickly. The hash values for the strings quoted are, of course, different.
When memory restriction is on, string compares are used and the two quoted strings match.
You can trim incoming datea in the source query or using an expression.
Trim reference data using a SQL query rather then selecting a table in the lookup. SQL queries are better in lookup anyway because you only cache the columns (and rows) you asked for, rather than the entire table.

Lookup is case sensitive, so you may need to force the case for the test to succeed.
Data types must match exactly. The join columns, between the input or source data and the reference data must be of exactly the same type.Lookup does not support the full range of SSIS data types. The following types cannot be used as join columns.

DT_R4
DT_R8
DT_TEXT
DT_NTEXT
DT_IMAGE

Southern Africa Postal Administrators invest in ICTs

By Brenda Zulu
The call by the Zambian government to urge Postal administrators in the Southern African region to invest in Information Communication technologies for them to provide value added products and services to their countries is valid.
Press reports show that Deputy Minister of Communications and Transport, Mubika Mubika said this in Siavonga on Monday June 17 when he opened the Southern African Postal Operators Association annual general meeting. Mubika urged Postal administration to reform their traditional operation led organizations and adopt customer and service led organizations.
For Zambia it should be noted that, in 1994, Parliament enacted the Telecommunications Act, which resulted in the restructuring of the telecommunications sub sector by separating the Posts and Telecommunications Corporation (PTC) into two commercial entities which are the Zambia Telecommunications Limited (ZAMTEL) and the Zambia Postal Services Corporation (ZAMPOST). In additional this included the removal of regulatory functions from the PTC; thus resulting in the establishment of an autonomous regulatory agency, the Communications Authority of Zambia (CAZ). On the other hand regulation of the postal sub sector was still carried out by the Ministry of Communications and Transport through a Licensing committee comprising various stakeholders.
Postal and courier services are mainly provided by ZAMPOST. The Corporation covers the country through a network of about 116 Post offices, 64 Sub Post Offices and 55 Postal agencies.
A large percentage of the 72 districts have an operational post office. In addition, there are private courier services, which are concentrated along Livingstone Copperbelt corridor for delivery of parcels. However, some private courier operators now service provincial centres as well.
In relation to provision of ICTs, ZAMPOST offers a money transfer service called “SWIFT CASH” which has enabled many people within the country to receive and send money. Many Zambians are happy are please with the services as it is an alternative to Western Union a money transfer service which many Zambians now use to receive and send money to people living out of the country.

Saturday, November 1, 2008

Tips to get optimum performance from large dataset manipulation

Here is a non exhaustive list of ways to get the best performance from large dataset DML.
Depending on system configuration and design, the effect of these recommendations may vary.

1-Do not create more than 16 exact match joins.

2- make sure indexes are created on exact match columns only if necessary for reporting

3- Avoid join on large views use temporary tables instead; Proceed by loading data from the view into a temp table then use the temp table in the join instead.

4- Avoid as much as possible creating indexes on temporary tables as it will impact insert performance

5- Avoid grouping as much as possible, if necessary make sure that the non- aggregated columns actually regroup data.

Most of the times as developement advances more columns are added onto the query. At some point the columns in the 'group by' clause may become candidate key to the dataset causing grouping to be ineffective; on a large query the effect on performance can be very important.

--The classics

6- Avoid table scans

7- Avoid nested Sql queries; join are more effective.

8- Avoid cursors. An effective use of Case statement can replace the use of cursors and deliver much better performance.
This sample query is for illustration only:

SELECT VENDORID, PRODUCTID,

SUM(CASE WHEN MONTH(SALESDATE)=1
THEN SUM(ISNULL(SALESAMOUNT,0))
ELSE 0 END) AS JAN_SALES,

SUM(CASE WHEN MONTH(SALESDATE)=2
THEN SUM(ISNULL(SALESAMOUNT,0))
ELSE 0 END) AS FEB_SALES,

SUM(CASE WHEN MONTH(SALESDATE)=3
THEN SUM(ISNULL(SALESAMOUNT,0))
ELSE 0 END) AS MAR_SALES

--...

FROM SALES S (NOLOCK)
JOIN PRODUCT P (NOLOCK) ON P.PRODUCTID=S.PRODUCTID
JOIN VENDOR V (NOLOCK) ON V.VENDORID=P.VENDORID
WHERE SALESDATE BETWEEN @PERIODSTART AND @PERIODEND
GROUP BY V.VENDORID,P.PRODUCTID

NetXposure' s Advanced Digital Asset Management

NetXposure, Inc., a leader in providing focused Web applications, today announced they have extended their long-standing relationship with Adobe Systems Incorporated by completing a worldwide OEM agreement for Adobe Graphics Server and will simultaneously release Image Portal 2.0. NetXposure' s Image Portal 2.0 is a customized web application that leverages Adobe Graphics Server software to provide businesses with the capabilities of an enterprise digital asset management system at an affordable price point. "Image Portal 2.0 was designed to fill the void in the digital asset management solutions market," said Devin Donnelly, president of NetXposure. "We focused on the specific digital asset management requirements for marketing, IT and creative managers in corporations and agencies. Today we are delivering a product that provides the vital functions of an enterprise digital asset management solution without the heavy price tag."

Until now, enterprise digital asset management solutions have been out of reach for most organizations, offering extensive, yet often unused functionality. Image Portal 2.0 makes dynamic imaging and image management affordable by unlocking the value of digital assets and streamlining workflow in browser-based solution that eliminates the need for special software and frees users from platform limitations.

"Throughout our long-standing relationship with NetXposure, as both a customer and partner, they have demonstrated a deep understanding of our products and capabilities," said Shawn Cadeau, director of product marketing at Adobe Systems Inc. "Image Portal 2.0 leverages the power of Adobe Graphics Server to streamline the process of managing large image libraries."

Image Portal 2.0 provides a layer of management, control, and access functionality to an image repository. Image Portal supports XMP, EXIF and IPTC image metadata that can be searched, viewed and edited with the same interface that is used to browse, process and download images. Individual image control allows administrators to customize fields for expanded flexibility and tailor access to individuals or groups with a simple tiered structure.

NetXposure' s Image Portal 2.0 is available now in English and Japanese versions for both Microsoft Windows and Sun Microsystems Solaris with a base price of $24,995 (US) including a license for Adobe Graphics Server 2.0.

QuickBooks Pro for Mac Financial Management Solutions

QuickBooks Pro for Mac softwareQuickBooks Pro for Mac is a financial management solution for small businesses.

Store and organize your financial and employee data in one place with QuickBooks Pro for Mac. Save time on bookkeeping and stay on top of your finances with a single solution that lets you see the money coming in and going out of your business.

QuickBooks can help you understand how your company is doing, so you can make better business decisions. Track sales and expenses; invoices and purchase orders; inventory and sales tax from a single program. Getting set up and started is easy. The QuickBooks tutorial center offers guided interacted instruction to help you quickly learn key tasks.

With QuickBooks all your data is stored in one place, so you don't have to go through hundreds of files and papers. You can see everything at a glance: employees hours, customer contact information, outstanding and paid invoices, payment histories and future payments.

The data that is belong together is shown together, so you can find what you need when you need it. When you create an invoice - you enter a customer's contact information the first time and QuickBooks stores it and keeps track of how much they owe. When you receive a payment you can review the customer outstanding invoices and apply the payment to the right invoice. If you lock an expense to the customer, the next time you invoice them, you get remind of rebuild the expenses.

QuickBooks makes it easy to keep track the money coming in and money going out. It's great that my financial data works together. QuickBooks organizes your information, so it can be instantly accessed to make everyday accounting task easier.

Pivot Transformation

Pivot transformation converts rows into columns. I see most of the people are not aware of setting the transformation properties.

Here is a small example.

My source data looks like this




Pivot transformation organizes data as below.



To implement this, add a Data flow task. Take OLE DB Source and select the source table. Add a pivot transformation to it. Select all the three columns in the input columns tab. In the Input and Output Properties tab give 1 (setkey) as the pivot usage for customers, 2 (PivotKey) for product and 3 (Pivotvalue) for Qty. Note down the LineageID of customer and Qty.


In the Pivot Default output add a column for customer and give the SourceColumn as the LineageID of the customer in the input column.


Add columns for product. Since there are 6 products add 6 new columns and give them appropriate names. For ChairQty mention Pivotkeyvalue as Chair and the SourceColumn is the LineageID of the qty input column.



Repeat this for the other 5 columns. Add an OLE DB destination to this pivot transformation. When executed rows will be organized into columns.