Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Variable to count distinct number?
Message
 
 
À
17/11/2011 08:46:38
Information générale
Forum:
Visual FoxPro
Catégorie:
Gestionnaire de rapports & Rapports
Versions des environnements
Visual FoxPro:
VFP 9 SP1
Divers
Thread ID:
01529049
Message ID:
01529141
Vues:
67
>>Hi,
>>
>>I need to create a variable in a report that will count the number of distinct values. For example, if the report has a column EMPLOYEE_ID the variable should count how many employees are in the report. How? I tried to enter in the value to store "DISTINCT( EMPLOYEE_ID )" but it gives me error. TIA for any help.
>
>The key to any task like this is using two variables, one to track the changing value and one to do the counting. Typically, you want to set them up with the counter first and the tracker second, along these lines:
>
>Name: nEmployees
>Initial value: 0
>Value to store: IIF(Employee_ID = nLastEmpID, 0, 1)
>Calculate: Sum
>
>Name: nLastEmpID
>Initial value: {some value that can't occur in the data}
>Value to store: Employee_ID
>Calculate: None
>
>Tamar

What I decided to do is set a PRIVATE variable before calling the report. And populate this private variable by selecting count(distinct()) from the base cursor for the report. The reason I made this variable private is so that it would be in the scope of the report. And the code for the sql select is as following:
select count(distinct(EMPLOYEE_ID)) as TOT_NUM from BaseTable into cursor CursorName
I am sure your approach will work too (without testing it, I simply state it based on my trust in your expertise in VFP).

Thank you for your input.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform