hi Siva,
there is a way to do this but if you're new to crystal it may not be something that you want to do yourself.
as Sastry mentioned above there is an option to add a Command object to use as your datasource. creating a Command like the following, where there are a bunch of parameters can create a dynamic field report. so if you're good with sql then writing out the command should be no problem.
SELECT
{?Field1} AS Field1,
{?Field2} AS Field2,
{?Field3} AS Field3,
{?Field4} AS Field4,
{?Group1} AS Group1,
{?Group2} AS Group2,
{?Summary} AS Summary
FROM
((((`Customer` `Customer` INNER JOIN `Orders` `Orders` ON `Customer`.`Customer ID`=`Orders`.`Customer ID`)
INNER JOIN `Employee` `Employee` ON `Orders`.`Employee ID`=`Employee`.`Employee ID`)
INNER JOIN `Orders Detail` `Orders_Detail` ON `Orders`.`Order ID`=`Orders_Detail`.`Order ID`)
INNER JOIN `Product` `Product` ON `Orders_Detail`.`Product ID`=`Product`.`Product ID`)
INNER JOIN `Product Type` `Product_Type` ON `Product`.`Product Type ID`=`Product_Type`.`Product Type ID`
i had originally written something like this out, i.e. an ad hoc report, in the webelements library but it is a very old sample and will probably no longer work. it uses the above syntax with a dynamic filter passed from a main report to a subreport. if you go to the above blog there's a sample report you can download. you'll be on your own to get it to work though as i mentioned it is quite old.
and attached is an example of a report where the end user can quickly switch up the fields that are on a report. it does not use dynamic sql though, but is an example of formatting a report to switch the fields. if you want to view it extract the contents and change the .txt extension to .rpt.
so, if you create a Command object that dynamically assigns the schema.table.fields then you can use the attached sample report as a guide on how to do the formatting piece.
-jamie