Solved

What is the differance between a SQL expression field and a formula field

Posted on 2011-02-21
3
537 Views
Last Modified: 2012-06-21
What is the difference between a sql expression and a formula field you can use a sql expression to hold a formula but is that the best way to do something, I think I am missing the big picture
George
0
Comment
Question by:GeorgeSalet
3 Comments
 
LVL 26

Accepted Solution

by:
Kurt Reinhardt earned 63 total points
ID: 34947657
At a high level, they're conceptually the same.  Basically, each can create a derived field.  You can concatenate objects together, perform calculations, etc..  One major difference, however, is that most formulas cannot be passed to the database for processing. If you include them in your record selection criteria then you run the risk of them not being passed, all possible records being brought down from the database, across the network, and then filtering out extraneous records on the client.  A SQL Expression field, however, is ALWAYS processed on the database.

As an example, I recently had a client who wrote record selection along the lines of {@value} = {?param} where the value was a huge string field with 6 numeric values in the middle of the field that needed to be stripped out and converted to a number (an account number).  The idea of the report is that the user will enter an account number and pull back only those records that match.  The problem is the formula can't be evaluated until all possible results are returned.  In other words, the query pulled back records for all accounts (100k plus records) first, then filtered them out in Crystal after they were returned.

I wrote a SQL Expression that was the equivalent of the formula and changed the criteria to {%value} = {?param}.  This resulted in the report returning data in seconds, not several minutes, and much smaller recordset (<100) being returned from the database.

SQL expressions can be full-fledged SELECT statements (with a result of a single, distinct value) or can be as simple as performing an UPPERCASE function against a string field.

Here are some presentations I've given that include information on SQL Expression:

The Power and Possibilities of SQL Expressions: https://www.box.net/shared/i2jk8yohku

Pro Tips for Common Reporting Scenarios: https://www.box.net/shared/ysqmn7eov5

Example of a complex SQL Expression for a client (DB2 SQL): https://www.box.net/shared/cn5lstmcjc

~Kurt
0
 
LVL 4

Assisted Solution

by:msd1305
msd1305 earned 62 total points
ID: 34949281
Summary of differences:
1)
- Formula field follows Crystal Syntax to write and evaluate the expressions
-SQL Expressions are written and evaluated in SQL syntaxes.

2)
- You can not call Database functions using formula field
- You can call database functions using SQL expressions.

3)
- You can not have running total on SQL expression fields.
- You can define running totals on Formula fields.

These are basic three differences.  The links rhinok provides are quite good and provide detailed information about the same.
0
 

Author Closing Comment

by:GeorgeSalet
ID: 34958055
Both explanations are Great
Thank You
0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
Hello everyone, Hope you find this as helpful as we did. We have on the company I work for an application built in Delphi V with Crystal Reports 8. We all know that Crystal & Delphi can be temperamental sometimes and the worst thing is, nearly…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question