Solved

Crystal 10 formula for stock quantities from two tables

Posted on 2013-12-07
2
365 Views
Last Modified: 2013-12-11
Hello.
I have two tables invt.dat and strstk.dat

invt.dat stores information on inventory stock and strstk.dat stores information on which stores hold what stock quantities.

I want to create a report that lists stock and the holdings in each store.

invt.dat has one line in each table for each product line. It simply looks like this
SKU|Desc|Price
With data looking like this
070701|Red Box|2.50
070702|Blue Box|2.50

strstk.dat looks like this
SKU|Store|Qty

The data in strstk looks like this though
070701|01|1.00
070701|02|0.00
070701|03|3.00
070702|01|0.00 ....

So when I link the two tables by SKU the report I print gives me three lines per product when I really want this...

SKU|Desc|Price|QtyStore1|QtyStore2|QtyStore3

070701|Red Box|2.50|1.00|0.00|3.00
070702|Blue Box|2.50|0.00|.....

Can someone help me create a formula or solution that can yield this report?

Thank-you!
0
Comment
Question by:holdsworthbros
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 100

Accepted Solution

by:
mlmcc earned 500 total points
ID: 39704648
I can think of 3 ways to do this

You can do it with a cross tab, in the report through groups and summary formulas or you can do it through a Crystal command.

Crosstab
Insert a cross tab into the report header or footer
Right click the cross tab in the upper left corner
Click CROSSTAB EXPERT
Row - product
Column - store
summary - store qty

Group method
Add a group on the stock item
Add 3 formulas
Name - Store1Qty

If {Store} = 1 then
   {QtyField}
Else
   0

Name - Store2Qty

If {Store} = 2 then
   {QtyField}
Else
   0

Name - Store3Qty

If {Store} = 3 then
   {QtyField}
Else
   0

Insert the 3 formulas into the detail section
Right click each in turn
Click INSERT --> SUMMARY
Type SUM
Put it in the group footer
Click OK
Drag it to the group header

Repeat for each formula
suppress the detail section and the group footer

SQL method
Create a command as

SELECT Inv.SKU, Inv.Desc, ST1.Qty as St1Qty, ST2.Qty as ST2Qty, ST3.Qty as ST3Qty
FROM  ((invt Inv Left Outer Join strstk ST1 ON Inv.SKU = ST1.SKU and  ST1.Store = 1)
Left Outer Join strstk ST2 ON Inv.SKU = ST2.SKU and  ST2.Store = 2)
Left Outer Join strstk ST3 ON Inv.SKU = ST3.SKU and  ST3.Store = 3)

mlmcc
0
 

Author Comment

by:holdsworthbros
ID: 39707580
Gold!

I like the 2nd method, but I want to learn about cross tabs so will try that too.
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

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

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
I hate sub reports and always consider them the last resort in any reporting solution.  The negative effect on performance and maintainability is just not worth the easy ride they give the report writer.  Nine times out of ten reporting requirements…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

756 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