Distinct Records Selection in Crystal 11

Need to select Distinct Records only, but the drop down under 'Database' shows the 'Select Distinct Records' option grayed out.  Why does Crystal do that, and how may I eliminate duplicate records?  Thanks!

Hi Brian,
This issue normally comes when there are multiple datasources being used. For example if you are using two databases, like Oracle and MS Access to fetch data, the "Select Dictinct Records" will be greyed out.
In this case, you might want to write a query in the Add Command option which select distinct records.
If you are using only one database, then check if you are able to select "Select Dinstinct Records" in the Database menu.
Please let us know if this helps.
Regards,
Abhishek.

Similar Messages

  • Variable selection criteria in the record selection

    Variable selection criteria in the record selection with Crystal Report with SQL 2005 Server tables.
    In the record selection I would like to use the value of the field u201CsSQL1u201D as part of the selection criteria instead the field name {tblReportAccessAutority.sSQL1}
    The value of the field {tblReportAccessAutority.sSQL1} is {tblSalesReporting.sJEDivisionCode} = 'I'
    I tried with formulas, SQL expressions, but nothing works.
    Record selection of the report:
    {tblReportAccessAutority.sUserID} = CurrentCEUserName
    and {tblSalesReporting.sLegalEntity} = {?Legal Entity}
    and {tblSalesReporting.sJEPeriod} = {?PARAM_PERIOD}
    and {tblSalesReporting.sIG3rd} =  {?PARAM_IG3RD}
    and {tblReportAccessAutority.sSQL1}                           <---this is the problem line
    The field {tblReportAccessAutority.sSQL1} is not converted in the value:
    {tblSalesReporting.sJEDivisionCode} = 'I'     
    The tables tblSalesReporting and tblReportAccessAutority are joined in this report.
    Many thanks for your help.
    Roger

    How is the syntax for the selection criteria in the record selection?
    {tblReportAccessAutority.sUserID} = 'ch1scro2'
    and {tblSalesReporting.sLegalEntity} = {?Legal Entity}
    and {tblSalesReporting.sJEPeriod} = {?PARAM_PERIOD}
    and {tblSalesReporting.sIG3rd} = {?PARAM_IG3RD}
    and SELECT {@sSQL_Condition} ???????? or
    and  {@sSQL_Condition} ??????? or how?
    The expression fir the formula {@sSQL_Condition} is:
    TOTEXT({tblReportAccessAutority.sSQL1})
    The field definition for {tblReportAccessAutority.sSQL1} is nvarchar(50).
    Thanks Roger

  • "Select Distinct Records" Option Not Available

    Hello Experts.
    I am working on a new report in CR XI, and noticed that I had many duplicate records.  I went to the File; Report Options; and expected to click on "Select Distinct Records", but that choice was grayed-out.  What would have caused me to lose this option, and how do I fix it?
    Thanks in advance for your help.

    Not sure if this covers it or not, but....
    The Select Distinct Records command is only available for ODBC, OLE DB, and SQL native drivers; it is not available for Stored Procedures. Note also that your server may automatically sort returned values if no sort is specified in Crystal Reports.

  • Distinct records with conditional select formula

    Post Author: nelsonchris
    CA Forum: Data Connectivity and SQL
    Hello,
    I have a simple report pulling data from two tables. I want
    only distinct records. I am selecting records based on
    parameters; here is the select formula:
    ({?Service Name} = "*" or {selsvc.ServiceName} like
    {?Service Name})and
    ({?Program Name} = "*" or {selsvc.Selected Service Entry 
    Program Name} like {?Program Name}) and
    ({?Agency Name}  = "*" or {selsvc.Selected Service Entry 
    Agency Name} like {?Agency Name})
    The problem comes from the fact that Crystal will add the
    selsvc fields to the reports SQL select code, which has the
    effect of duplicating some records that do not have the same
    values for the selsvc fields. The select formula above is
    the only place in the report where values from the selsvc
    field are used, and as you can see they are only used when
    the user has submitted a matching parameter for them. I can
    not figure out how to get rid of the duplicates, please
    help!
    Thanks for your time,
    Chris

    Post Author: yangster
    CA Forum: Data Connectivity and SQL
    I don't follow why you are getting duplicates with your selectionare you getting duplicates without the selection criteria?if you are then they really are not duplicates and there could be issues with your joins between the 2 tables

  • Crystal 2008 problem with Record Select Expert

    I had a Crystal 10 report that worked fine where the Record Select Expert had a database table ID equal to a parameter... it was only supposed to report on 1 record.  After using Crystal 2008 on the same report it completely ignores this Select Record Expert setting.  I have tried deleting and re-adding the parameter.  It acts like there is no record select setting.
    Here is the formula that it shows me it is using:    {Components.ID} = {?@ID}
    If I go to the application opening the same record on a different machine using the old crystal, it works fine.
    This used to only show me the 1 record, now it shows me the report on every record in the table.  I tried upgrading the report to a 2008 report and it still does the same thing.  The report filter no longer works.   Do I need to do something different to select only 1 record in 2008 ?
    After installing Crystal 2008 on my computer none of my reports work correctly anymore - all of them are ignoring my Record Select ...they worked fine before I installed 2008.  The reports are older reports... they worked fine when I had Crystal XI R2 installed.  This all started after installing Crystal 2008
    Thanks,
    Jeff
    Edited by: Jeff Dressing on Aug 27, 2008 12:06 PM

    Hello, Jeff;
    I noticed the Record Selection Formula uses a Stored Procedure parameter:
    {Components.ID} = {?@ID}
    A parameter created in the report (not by a stored procedure) would be:
    {Components.ID} = {?ID}
    A report based on a Stored Procedure does not need a Selection formula for the Stored Procedure parameter. Connecting to the Stored Procedure automatically creates the parameter in the report and the value is passed automatically when the report is run.
    Does the report work in the Crystal Reports 2008 designer?
    Open the report in the designer. Go to Database Set Datasource location. Are the properties of the database at runtime still the same as what is saved in the report.
    If the database is different at runtime, just as a test, change to the new database in a copy of your original report. Do a Database|Verify Database. Does it come back the "Database is uptodate" or are there changes?
    Elaine

  • Select distinct records in Mapping with no Key field (all fields can vary)

    Hi Experts,
    Let me take an example (not the actual requirement but same scenario) to explain the problem where I need your help to get best possible way to resolve. This has to be achieved in mapping, don't have other options as its part of complex end 2 end scenario.
    I have following input XML:
    <Employee>
       <Details>
          <Id>123</Id>
          <Name>ABC</Name>
         <Role>Manager</Role>
          <Area>Bangalore</Area>
        </Details>
        <Details>
           <Id>123</Id>
           <Name>ABC</Name>
            <Role>Manager</Role>
             <Area>Pune</Area>
         </Details>
          <Details>
           <Id>123</Id>
           <Name>ABC</Name>
            <Role>Advisor</Role>
             <Area>Bangalore</Area>
         </Details>
          <Details>
           <Id>123</Id>
           <Name>ABC</Name>
            <Role>Manager</Role>
             <Area>Bangalore</Area>
           <Details>
           <Id>143</Id>
           <Name>ABC</Name>
            <Role>Manager</Role>
             <Area>Bangalore</Area>
         </Details>
    </Employee>
    The output XML is:
    <Employee>
       <MainRec>
           <Id>123</Id>
            <Name>ABC</Name>
             <table name = 'Roles'>
                   <record>
                          <Id>123</Id>
                           <Role>Manager</Role>
                            <Area>Bangalore</Area>
                      </record>
                      <record>
                          <Id>123</Id>
                           <Role>Manager</Role>
                            <Area>Pune</Area>
                      </record>
                      <record>
                          <Id>123</Id>
                           <Role>Advisor</Role>
                            <Area>Bangalore</Area>
                      </record>
                  </table>
          </MainRec>
          <MainRec>
            <Id>123</Id>
            <Name>ABC</Name>
             <table name = 'Roles'>
                   <record>
                          <Id>143</Id>
                           <Role>Manager</Role>
                            <Area>Bangalore</Area>
                      </record>
                </table>
            </MainRec>
    </Employee>
    As you can see from the example above, here I want to populate only distinct records under table, but there is no key fiield to ditunguish. Any of the 3 fields (Id, Role,Area) can vary and between 2 records if all of these fields are same then its duplicate else select it. So in above XML just discard the 4th record from the source XML and populate all others. Each record has to be checked against all other records all 3 values (ID, Role, Area). Only when none of the records have exactly the same values, populate it.
    Also records with different ID come under different table node. Hope my requirement is clear, if not please let me know, i will try to explain better.
    I thought of creating a UDF to achieve this but not able to decide how to match it to the output message here.
    Best Regards,
    Pratik

    Hi,
    For the main record, I think you only need to check for each unique ID, e.g
    Id --> removeContext --> sort:ascending --> splitByValue:valueChanged --> collapseContext --> MainRec
    For the record, however, you need to create a UDF that will filter out the duplicate values. For this, the UDF sample mentioned here contained multipleResult lists
    Id --> removeContext --> concat: : --> concat: : --> UDF --> splitByValue:ValueChanged --> record
    role --> removeContext --> /          /                \ --> Id
    area --> removContext -------------> /                  \ --> role
                                                             \ --> area
    Context type UDF
    Arguments: input
    Result: IdResult
    Result: roleResult
    Result: areaResult
    Vector temp = new Vector();
    for(int a=0;a<input.length;a++){
       if(!temp.contains(input[a])
             temp.add(input[a]);
    for(int a=0;a<temp.size();a++){
       String tmp = (String) temp.get(a);
       /*split according to field */
       IdResult.addValue(tmp.substring(0,tmp.indexOf(":")));
       roleResult.addValue(tmp.substring(tmp.indexOf(":")+1,tmp.lastIndexOf(":")));
       areaResult.addValue(tmp.substring(tmp.lastIndexOf(":")+1,tmp.length()));
    note: Id and record will both be using the IdResult list.
    Hope this helps,
    Mark

  • Record Selection happening on Database or Crystal Server?

    I am learning about the benefits of SQL commands, in terms of efficiency.
    My database is a SQL databse.  Crystal 10 runs off of a connected server.   My reports connect to the database using Microsoft OLE DB Provider for SQL Server.
    I do not use explicitly defined SQL commands in my report.  Rather, I have specificed my record selection criteria in the record selection formula.  However, The Complete Reference to Crystal Reports XI indicates that if your record selection formula is coded within the underlying SQL Query in the WHERE statement, that record selection occurs on the database server (as opposed to the Crystal server). 
    When I go to Database | Show SQL Query, I DO have a WHERE statement that corresponds to my Record Selection formula.  Does this mean that my record selection is occuring on the database server?  If so, why is this the case?  Would I get the same level of performance by putting this code into a SQL Command explicitly?

    I'm pretty sure that Crystal can not always push the record selection to the database.  I think you really have to check each report query.  (I know it can't if the report is based off of a stored procedure, for example...)  If record selection is done by Crystal (and not the DBMS), you could be pumping huge volumes of data over the network.
    Also, another huge performance gainer with SQL Commands is if you can do aggregation (sum, max, etc.) in them and only return summary data.  I'm not sure how good Crystal is at pushing this kind of logic to the DBMS (if it can do it at all).
    Personally, I'm a big fan of basing reports off of SQL Commands due to the efficiencies that can be gained.
    HTH,
    Carl

  • Fiscal week offset in crystal report record selection when using BW

    Hello:
    I have a report that is based on BEX Query.
    The data model has 52 weeks (fiscal week) worth of information.
    I would like to limit the results sets to pull back the last 12 fiscal weeks.
    Is there a way to setup in crystal record selection and "OFFSET" to evaluate on execution time?
    CR2008 SP3
    BOE XI 3.1 SP3
    SAP IK 3.1 Sp3
    BW 7.0

    Hi Dwayne,
    that is something that can be done as part of the BEx query using EXIT variables.
    Ingo

  • Resetting Record Selection Formula on report on Crystal Reports XI Server

    We have Crystal reports with recurring schedules running on Crystal Reports XI Server. If I change the Record Selection criteria in Crystal Reports Designer and do a "Save As" to overwrite the previous version of the report on the server, it does not reset the Filter -> Record Selection on each scheduled instance of the report. This means that the new criteria I've added to the base report is effectively ignored.
    I understand why this would be the default behaviour but given that we have a condition that must be added to a large number of reports which are scheduled many times, I need a way to be able to force a reset of the Record Selection to that of the Crystal Report.
    Any ideas how to do this?
    Thanks

    Hello Alan,
    There's no way to alter parameters for an already-created report schedule, as you've noted. 
    As implied in your message, this is so that no updates on a report would affect, and potentially break, already existing scheduled report instances.
    It's recommended to make changes and reschedule.  As you indicate, this may be effort intensive if there are many such scheduled.
    If such changes have to be done regularly, then report redesign to parameterize the filter would be recommended - but I'm assuming this is not your situation.
    Sincerely,
    Ted Ueda

  • Record Selection doesn't work with VS 2005 & CR 2008

    Hi all,
    Recently I installed CR 2008 with Service Pack 1 and integrate with Visual Studio 2005. I converted all the CR reports to CR 2008 while opening the VS project which was created earlier.
    My problem is when I load the Crystal report via created application, record selection formula doesn't work instead it shows all records. But in designing time it works fine. Reports which designed with SQL Server Stored Procedure working fine. But reports which designed by adding Tables don't work. It shows all the records without record selection.
    I used simple Record selection formula without using any parameter fields. like this
    tTransactionDetails.acid} = 1
    . still it didn't work.
    When I put break point and see assigned values in Report Document object. It shows
    Function evaluation timeout
    . and then run, it do the record selection. I did this several times, all the time if I see assigned values in Report Document object then the report showed the selected records only otherwise it shows all the records.
    I tried this just running the application exe, still the problem remaining.
    I have saved the reports without the data, so that it will always load the data from the SQL database.
    Please help me to solve this problem.

    Sorry i couldn't do search before I posted the thread. After posted, I just did a search and found the solution by reading [this thread|https://forums.sdn.sap.com/click.jspa?searchID=20348355&messageID=6774564|https://forums.sdn.sap.com/click.jspa?searchID=20348355&messageID=6774564].
    As it has suggested, I just delete the existing Crystal Report Viewer Control from the form and add it again by clicking on CrystalReportViewer version 12.0.2000.0. It worked.

  • Date Format in Record Selection

    Hello,
    I have a problem where the Crystal Report is not returning all the rows that meet the record selection criteria because I believe there is a problem with the date format.
    My record selection criteria is:
    ( {EMPOS.POS_STARTC} <= {@EB_EDATE} and {EMPOS.POS_ENDD} >= {@EB_SDATE} ) or
        IsNull({EMPOS.POS_ENDD} )
    where EB_EDATE and EB_SDATE are formula fields with the values Date(2011, 12, 31) and Date(2011, 01, 01) respectively which returns the format of DD/MM/YYYY used by the FinanceOne (F1) ERP application that we run the report from.  Both formula fields are overriden by the run parameters in the same date format in F1.
    If I were to run the SQL below in a query tool like Toad, it returns a row where pos_startc is 1/01/2011 and pos_endd is null, that is not included in the report.
    select * from empos where det_numbera = '01285'
                          and ( (pos_startc <= '20111231' and pos_endd >= '20110101') or pos_endd is null )
    1. Why is Crystal Reports excluding this row when the date format is different?
    2. How can I change the criteria (or format) to include the one of many other rows missing?

    Hello,
    Crystal Reports is now returning all rows where pos_endd is null in the database with the record selection criteria of:
    {CHRIS_EmpSal.pos_endd} = date(0, 0, 0)
    However, when I run it in Finance One, it doesn't like this date format   Is there another way to get both Crystal and Finance One (i.e., SQL Server DB) to recognise the same syntax for null dates?

  • Parsing an input parameter for the where clause or record select value

    In my limited CR experience, I've always used a command database connection so that I can write my own SQL.  However, now I have to parse a  pipe delimited parameter to get my value for the where clause, so I'm selecting several tables and joining them through the Database Expert Links tab.  All works fine, but after doing that and then parsing the parameter with the below formula in the Select Expert, I notice that there is no where clause in the SQL query, and although the report eventually displays the proper values, it runs through thousands of records first.  Here is my Select Expert - Record formula:
    StringVar array Parm1;
    Parm1 := Split({?DATA_AREA}, "|");
    {SO_ORDERS.CASE_ID} = Parm1[2]
    If I change "Parm1[2]" on the last line to a valid Case ID, then there is a where clause in the SQL and the report generates immediately. 
    It seems like the record select formula is applied AFTER all of the records (without a where clause) are searched when I use the parsed parameter value, but when I hard code a valid value, it places that into the where clause BEFORE the sql is executed.  Is there a way to get the parameter parsed first and then use that parsed value in the SQL where clause?
    Thanks.
    Bill

    Yes crystal will run the query first to get 100% data and then applies record selection condition. To increase the performance you need to pass the where condition at the command level instead of report level. So you need to create a report using add command like this
    select * from tablename where field={?Parameter}
    {?Parameter} is a command level parameter.
    Now insert this report as a subreport in another report which has no connection but has a parameter
    {?DATA_AREA} and create a formula like this in the main report
    Split({?DATA_AREA}, "|")[2]
    Now right click on the subreport and go to change subreport links and add this formula from main report and link this to sub report parameter {?Parameter} without linking any database field from the subreport.
    Now your subreport runs with the where clause to get the data.
    Regards,
    Raghavendra

  • Database DLL error on editing the record selection formula?

    Post Author: Aravind
    CA Forum: Older Products
    Hi All,I recently edited the record selection formula of an old report and since then the report is issuing me an "Error detected by database DLL" error.The report was running fine earlier and still continues to run fine if I undo the changes. Earlier, the records were selected based on a 'date' field and I edited the formula to select records based on another date field, but the report doesn't work.The report runs fine on my local PC using Crystal Reports, but web based reporting fails with the error message. The data is selected from a view and the date parameters I talked about are the fields in the same view.This view has around five date parameters and the report runs fine for all of them, except one date field.Any pointers are appreciated.Crystal reports version is 8.5. Regards,Aravind.

    Post Author: DPowell
    CA Forum: Older Products
    Ah, yes, the good old generic date error.
    The problem is likely an invalid date value in one (or all) of your records with that field.  You don't say what database engine you are connected to or which driver you are using for the report, but I'll give you some "pointers".
    Basically, the SQL fetch has encountered an error in your date field and the driver you are using in the report can't handle it.
    A null date could cause that problem.  Also a date-time field with an invalid value or truncated time value.  A robust ODBC driver, like one of the Microsoft drivers might be able to overcome it.  Likewise, vendors frequently release updated drivers to improve error handling just like this.
    1.  Analyze your data, specifically the contents of the "new" date field you are using for some kind of invalid date.
    2.  Experiment with different ODBC drivers by creating alternate ODBC connections to the same database using different ODBC drivers.
    3.  Browse and experiment with options in Crystal Reports Properties that allow you to specify data conversions for NULLs and Dates.
    Good luck !

  • How to  create a Select in Formula Workshop - Record selection editor

    In the Formula Workshop u2013 Record Selection Formula Editor I am trying to write a formula to exclude certain customer ids. Iu2019m getting errors when I click the Check formula button. The statement is below, any suggestions?
    I dont think I can use the Select statement in crystal as you would in SQL but how should I write it in crystal format?
    not in (select { STATISTICS.custid} from  
        where { STATISTICS.date_reg} >= '27-may-2011' and { STATISTICS.date_reg} < '30-sep-2011')

    Hi,
    You can try the below logic:
    STATISTICS.date_reg} >= '27-may-2011' and { STATISTICS.date_reg} < ' 27-June-2011'
    I guess you are trying to apply this condition.
    Here in selection formula you need not to give select and from.
    Cheers,
    Kiran

  • Issue using a parameter twice in record selection

    Setup:
    1) Crystal Report: (Client, Start Date, End Date) parameters linked to the Sub reports
    2) Four sub-reports: (All open issues), (Oldest issue), (Average age of open issues), (Average age of closed issues)
    I need to report on issues based on Customer types of "Company" and "Customer."  All of the records I'm reporting on are in the same table (Subset), but the "Client" parameter I'm using exists in two different columns depending on the Customer type.
    ie. My paramter for "Client" is "ABC"
    "ABC" is found in Subset.Sitename for (Company records)
    "ABC" is found in Subset.Companyname for (Customer Records)
    My record selection formula is:
    {Subset.Companyname}={?Pm-?Client} or {Subset.Sitename}={?Pm-?Client}
    Showing the SQL query shows both values filled in correctly, and if I paste the query in SQL, I get the correct result set.  But if I use any kind of "Running total", "Average", "Maximum", etc... functions, Crystal doesn't include my Company records in its evaluations.  It only evaluates Customer records.
    Does anyone have a work-around for this?  Is this is a limitation?

    All Open Issues -- My work-around was:
    1) Running total (count) of open Customer issues
    2) Running total (count) of open Company issues
    3) Formula (sum) function of 1 and 2
    Oldest Issue -- No workaround yet; Parameters listed above are in the Record selection
    1) Datediff between Received date and Current date
    2) Maximum of the Datediff results
    Average Open - No workaround yet; Parameters listed above are in the Record selection
    1) Datediff between Received and Current Date
    2) Average of Datediff results
    Average Closed - No workaround yet; Parameters listed above are in the Record selection
    1) Datediff between Received Date and Closed Date
    2) Average of Datediff results

Maybe you are looking for

  • Beginner Has Problem With Loading JDBC Driver Using MySQL

    Hi, I am having problem with loading JDBC driver, and need your diagnotic help. 1. I have installed MySQL (C:\mysql), created a databse (soup), and created a littel table (VIDEOS). I am able to see the table in the console: sql> select * from videos

  • Connecting from oracle on windows 2008 64 bit to sql server.

    Hi, Oracle Server name: oraxyz Database: 11.2.0.4 on windows 64 Bit. Database home: d:\app\product\11.2.0\db_1 SQL server: sqlabc I have a oracle database 11.2.0.4 on widows 2008 64 Bit on host oraxyz. I have to connect to SQL server sqlabc from this

  • Can't contact apple support

    Whenever i click get started for apple support on any device it is just coming up with a error. Hwo do i contact them then if  i cant let thtem know the page is broken? This is the error i'm receiving An error occurred while processing your request.

  • Trouble shooting for work flow not getting triggered

    Hi everyone, I am doin a work flow for which the zfipp-> created event is the trigeering event. I parked a document using FB03,but still the workflow is not geeting trigered. I checked SWEL ,i see that the event is trigered. Also whe i simulate the e

  • Change previous apple i.d owner in order to update apps from apple store

    I'm now the new owner for apple mac pro (mid 2012). i bought this computer from my friend last week. there are a few apps that need to be updated. when try to update the apps, a pop up massage came out requesting password from the previous owner i.d.