Solved

adding another column head to cross tab query

Posted on 2014-12-15
22
117 Views
Last Modified: 2014-12-26
i have sales transactions by store / date
i already did cross tab query like this :
TRANSFORM Sum(WeekAvg.DayAvg) AS SumOfDayAvg
SELECT WeekAvg.Store, Sum(WeekAvg.DayAvg) AS [Total Of DayAvg]
FROM WeekAvg
GROUP BY WeekAvg.Store
PIVOT WeekAvg.WekNo;

Open in new window

this will show store as row heading , WeekNumberOf The Year
and sales amount as row values
i woulk like to add also 2 cloumns under the week values to display the firstdayof week and last day of the week
i have the function already , but i want help in adding it to the cross tab query
0
Comment
Question by:NiceMan331
  • 10
  • 5
  • 3
  • +2
22 Comments
 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40500167
I don't know exactly what you mean, but suspect it cannot be done easily.

In Microsoft Access' crosstab queries, you can only have one Column Heading and one Value option.
0
 

Author Comment

by:NiceMan331
ID: 40500173
ok , in conclusion , my cross tab gives week numbers at comun heading
any other way to select or to display the starting data and ending date of the week number ?
0
 
LVL 47

Expert Comment

by:Dale Fye (Access MVP)
ID: 40500200
can you provide an example, perhaps an screenshot of what you would like it to look like in Excel?  and maybe some sample data as it is configured in your table.
0
Simplifying Server Workload Migrations

This use case outlines the migration challenges that organizations face and how the Acronis AnyData Engine supports physical-to-physical (P2P), physical-to-virtual (P2V), virtual to physical (V2P), and cross-virtual (V2V) migration scenarios to address these challenges.

 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40500207
I would suggest using some functions in a form, i.e. not part of the query itself, but as Text Boxes.

It would help if you could provide what Dale has asked for, and also what is the start of Week 1 of this year is for your calculations.
0
 

Author Comment

by:NiceMan331
ID: 40500225
here are the data as now  ,
before.png
0
 

Author Comment

by:NiceMan331
ID: 40500231
and here as what i wish to add
After.png
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40500248
You can't do that in a query.

But you can create a report or form. Insert the week data in the header and the query data in the details section.
Or you can create an empty form and just drag-and-drop the query to create a subform with datasheetview of your data. Then insert the week data in the header.

/gustav
0
 
LVL 24

Expert Comment

by:Phillip Burton
ID: 40500270
The above would make your Week 1 start on Sunday 29 December 2013 - is this correct?
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40500313
this is doable, if you will export the crosstab query to excel and manipulate the Excel file using VBA codes.
0
 

Author Comment

by:NiceMan331
ID: 40500749
gustav
But you can create a report or form
may be this is the best solution , but the problem is if i have 52 weeks , i can't image that access report may be fit in one page

philip
The above would make your Week 1 start on Sunday 29 December 2013 - is this correct?
i have no problem about the value of the starting date , the function i use return correct value for me

rey
this is doable, if you will export the crosstab query to excel and manipulate the Excel file using VBA codes.
good suggestion , because i have to do chart in excell based on that query , but i have no experiance in how to make the manipulation in excell
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40500780
>  the problem is if i have 52 weeks , i can't image that access report may be fit in one page ...

No, it won't. In fact, nothing will. But with a form having the crosstab as a subform, you can scroll horisontally and/or hide columns of little or no interest.

/gustav
0
 

Author Comment

by:NiceMan331
ID: 40500837
but any how i have to export it to excell to do chart analyse
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 40500846
Then you would export the crosstab to Excel, either a worksheet or a Named Range.

Look up the on-line help for:

    DoCmd.OutputTo
    DoCmd.TransferSpreadsheet

/gustav
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40500855
<good suggestion , because i have to do chart in excell based on that query , but i have no experiance in how to make the manipulation in excell >

how much do you know about VBA codes ?
0
 

Author Comment

by:NiceMan331
ID: 40500924
how much do you know about VBA codes ?
i have a lot in VBA for access
but for excell and itc cells , i didn't do it before
0
 

Author Comment

by:NiceMan331
ID: 40516327
rey
i tried to upload the file here but it not accepted
here is sql for query weeklyavg
SELECT Accepted_Trans.Store, Accepted_Trans.WekNo, Sum(Accepted_Trans.Sales_Amt) AS SumOfSales_Amt, Count(Accepted_Trans.Trans_Date) AS CountOfTrans_Date, Sum(Accepted_Trans.Sales_Amt)/Count(Accepted_Trans.Trans_Date) AS DayAvg, First(Accepted_Trans.FrstDayWeek) AS FirstOfFrstDayWeek, Last(Accepted_Trans.LstDayWeek) AS LastOfLstDayWeek
FROM Accepted_Trans
GROUP BY Accepted_Trans.Store, Accepted_Trans.WekNo;

Open in new window

0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40516360
@NiceMan

zip the db and upload.
0
 

Author Comment

by:NiceMan331
ID: 40516368
0
 
LVL 120

Accepted Solution

by:
Rey Obrero (Capricorn1) earned 500 total points
ID: 40516389
test this
Anal---rev.zip
0
 

Author Comment

by:NiceMan331
ID: 40517340
Excellent
Thanx
by the way , i just have small question in exporting to Excell
what is the code if i want to open a query , select specific data , and copy it to a specific cell in excell
for example if i want in same our example to only copy value of store number 135 where weeks in (5 to 10)
0
 
LVL 120

Expert Comment

by:Rey Obrero (Capricorn1)
ID: 40517703
just create another query with this statement and save as "myQuery"

TRANSFORM Sum(WeekAvg.DayAvg) AS SumOfDayAvg
SELECT WeekAvg.Store
FROM WeekAvg
WHERE (((WeekAvg.Store)=135))
GROUP BY WeekAvg.Store
PIVOT WeekAvg.WekNo In(5,6,7,8,9,10)

then in the code to export to excel, change

Set rs = CurrentDb.OpenRecordset("WeekAvgByStore")

with

Set rs = CurrentDb.OpenRecordset("myQuery")
0
 

Author Comment

by:NiceMan331
ID: 40518235
ok , thanx rey
0

Featured Post

Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

Question has a verified solution.

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

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
QuickBooks® has a great invoice interface that we were happy with for a while but that changed in 2001 through no fault of Intuit®. Our industry's unit names are dictated by RUS: the Rural Utilities Services division of USDA. Contracts contain un…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

777 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