Excel Query with Case ...else end; and Date conversion.

KARPURSHRIKANT
Member Posts: 35
I m trying to retrive data in excel with the following query thru NODBC, Please advice how can i use Case ..else... Case or If then else in the query, also convert date in the format of (mm-yyyy)
SELECT
"Item Ledger Entry".InvtPostGrp,
"Item Ledger Entry".PostingDate,
"Item Ledger Entry"."Customer Name",
"Item Ledger Entry"."Source No_" as CustomerNo,
"Item Ledger Entry"."Guage","Item Ledger Entry"."Item Name",
"Item Ledger Entry".Weight as KG_Pc,
"Item Ledger Entry".PCs_Per_Bundles as Pcs_Bundle,
"Item Ledger Entry"."Sales Amount (Actual)" as Amount,
-"Item Ledger Entry"."Invoiced Quantity" as QTY_PCS,
case "Item Ledger Entry".PCs_Per_Bundles
of 0 :
0 ;
else -"Item Ledger Entry"."Invoiced Quantity"/"Item Ledger Entry".PCs_Per_Bundles
end; as Total_Bundles,
-"Item Ledger Entry"."Invoiced Quantity"*"Item Ledger Entry".Weight/1000 as Tonage
FROM "Item Ledger Entry" "Item Ledger Entry"
where
("Item Ledger Entry"."Posting Date" Between ? And ?) AND
"Item Ledger Entry"."Global Dimension 1 Code"=? and
("Item Ledger Entry"."Entry Type"='Sale') AND
(("Item Ledger Entry"."No_ Series" Like '%INV%') OR
("Item Ledger Entry"."No_ Series"='POSTEDRCPT'))
in the above query i m trying to compute the Total Bundles and the divisior cannot be '0'
P.S The query is executed sucessfully without the case statement........
Also Please advice where can i get a list of valid functions and statements relating to above excersie...
Thanks
Shrikant K.
SELECT
"Item Ledger Entry".InvtPostGrp,
"Item Ledger Entry".PostingDate,
"Item Ledger Entry"."Customer Name",
"Item Ledger Entry"."Source No_" as CustomerNo,
"Item Ledger Entry"."Guage","Item Ledger Entry"."Item Name",
"Item Ledger Entry".Weight as KG_Pc,
"Item Ledger Entry".PCs_Per_Bundles as Pcs_Bundle,
"Item Ledger Entry"."Sales Amount (Actual)" as Amount,
-"Item Ledger Entry"."Invoiced Quantity" as QTY_PCS,
case "Item Ledger Entry".PCs_Per_Bundles
of 0 :
0 ;
else -"Item Ledger Entry"."Invoiced Quantity"/"Item Ledger Entry".PCs_Per_Bundles
end; as Total_Bundles,
-"Item Ledger Entry"."Invoiced Quantity"*"Item Ledger Entry".Weight/1000 as Tonage
FROM "Item Ledger Entry" "Item Ledger Entry"
where
("Item Ledger Entry"."Posting Date" Between ? And ?) AND
"Item Ledger Entry"."Global Dimension 1 Code"=? and
("Item Ledger Entry"."Entry Type"='Sale') AND
(("Item Ledger Entry"."No_ Series" Like '%INV%') OR
("Item Ledger Entry"."No_ Series"='POSTEDRCPT'))
in the above query i m trying to compute the Total Bundles and the divisior cannot be '0'
P.S The query is executed sucessfully without the case statement........
Also Please advice where can i get a list of valid functions and statements relating to above excersie...
Thanks
Shrikant K.
0
Answers
-
you can use the following trick in sql
ISNULL(ROUND("Item Ledger Entry"."Invoiced Quantity"/NULLIF("Item Ledger Entry".PCs_Per_Bundles ,0),2),0)0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions