web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Dynamics 365 Community / Blogs / Dynamics GP Essentials / IV Available Quantity Repor...

IV Available Quantity Report - SQL Pivot Function

Mahmoud Saadi Profile Picture Mahmoud Saadi 32,738
I have encountered a case in which a customer requested a certain report to be viewed in a certain format. The essence is that the values stored in Rows should be transferred into Columns, as Shown below:

Comparison between Two views

Fortunately, SQL has the "Pivot" function which serves the need just to the point>

"Pivot Function rotates a table-valued expression by turning the unique values from one column in the expression into multiple columns in the output, and performs aggregations where they are required on any remaining column values that are wanted in the final output" 

The script below enhances the use of "pivot" function in an Inventory Case Study in order to calculate the Quantity on Hand for each item per Location, as shown below;


Quantity on Hand per Item per Site - No Pivot Function



Quantity on Hand per Item per Site - Using Pivot Function


The functionality of pivot function is illustrated through an example on Historical Inventory Trial Balance Table SEE30303, as shown in the screenshots above.

The script is tested on Fabrikam GP2013, after the HITB reset tool has been implemented to populate SEE30303 table.

Tables included;
  • SEE30303 | Historical Inventory Trial Balance

USE TWO
SELECT    ITEMNMBR,
                  ISNULL(WAREHOUSE,0)   AS WAREHOUSE,
                  ISNULL(RETURNS,0)  AS RETURNS,
                  ISNULL(NORTH,0)  AS NORTH,
                  ISNULL(DEPOT,0)   AS DEPOT
                  FROM
(
    SELECT    *
            FROM
            ( 

              SELECT [TRXQTYInBase], [ITEMNMBR], [LOCNCODE] 
              FROM [SEE30303] 
             ) P          
            PIVOT
            (
                SUM([TRXQTYInBase])
                FOR [LOCNCODE] IN
                ([WAREHOUSE],[RETURNS],[NORTH],[DEPOT])
            ) AS PVT
   
) AS AB




Best Regards, 
Mahmoud M. AlSaadi



This was originally posted here.

Comments

*This post is locked for comments