• Definitely need to provide more details. I would highly recommend that you use aliases in your queries. Your table names are very long and not terribly user friendly. I took a shot in the dark. See if this is somewhat close to what you are looking for.

    SELECT v.openamountusd AS OpenAmtUSD,

    SUM(Case when v.duedate > getdate() then v.openamountusd else 0 end) as OpenPastDue,

    s.siteid,

    s.sitename,

    s.division,

    v.duedate,

    ven.vendorname,

    ven.vendorclass,

    v.weekdue,

    v.yeardue,

    s.sitedescription

    FROM vfact_aptransaction_datepart v

    INNER JOIN dim_site s

    ON v.siteid = s.siteid

    INNER JOIN dim_vendor ven

    ON v.vendorid = ven.vendorid

    group by v.openamountusd,

    s.siteid,

    s.sitename,

    s.division,

    v.duedate,

    ven.vendorname,

    ven.vendorclass,

    v.weekdue,

    v.yeardue,

    s.sitedescription

    _______________________________________________________________

    Need help? Help us help you.

    Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.

    Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.

    Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
    Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
    Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
    Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/