I think this is the term for what I want (something that could be generated
in ACCESS using a pivot table, or, maybe Yukon).
We have data for sales by sales people in sales regions. More than one
person sells in a region.
We want to display data as follows:
salesperson's names
----------- ----------- ----------- ----------- ----------
- -----------
region 1
region 2 row/column values are sales amounts for person in
that region
region 3
We will add a WHERE clause for the period of time covered.
I don't want to have to change the query if a new salesperson or new region
is added.
Can this be done in SQL Server 2000, Analysis Services, OLAP, anywhere?
Can someone direct me to examples of how to do this?
I am trying to fill a table from 2 other tables in MS SQL 2000 the structure ::
Table 1 --> Info InfoID Name
Table 2 --> Item InfoID Num Value
TRANSFORM Max(Item.Value) AS MaxValue SELECT Info.Name FROM Info INNER JOIN Item ON Info.InfoID = Item.InfoID WHERE Item.Num In (10,12,15,100) GROUP BY Info.Name PIVOT Item.Num
in ACCESS 2000 it works fine I get a View with 5 columns --> Name,10,12,15,100 but in MS SQL it doesnt work at all
does someone knows how to translate it for MS SQL (the table structures are exactly the same)?
SPs in Access 2000 (SQL) / Crosstab problem / returning dataset I've recently "upsized" from Access97 (Jet) to Access 2000 (SQL) client/server using MS SQL Server 2000. As a result, I'm new to the concept of Stored Procedures. I am trying to work out a general solution to the fact SQL doesn't allow an easy way to create dynamic crosstab queries (from within Access client/server).
I've included the SP code I found (sp_crosstab) to create the crosstab solution. To execute the sp_crosstab, I use another SP (execute_crosstabs) which defines the input parameters.
If I run the SPs in Query Analyzer, the results are returned as a dataset. However, if I run them in MS Access 2000, the following message is returned:
"The stored procedure executed successfully but did not return records." Likewise, if I attach an Access form to the SP, it returns the same message.
I've seen ADO code which could return the records (to Access), but I would prefer an alteration to the SP (sp_crosstab) which would return the records automatically.
For example, if I run the SP below (sp_MyTables which executes sp_tables), a dataset is returned automatically instead of the message "The stored procedure executed successfully but did not return records." If I attach sp_MyTables to an Access form, the records are returned in the form as well.
My question is this: How can I get sp_crosstab to act like sp_tables (executed by sp_MyTables) to return a dataset instead of the infernal message?
I've looked all over the Internet and have not seen this issue addressed directly. Your help would be EXTREMELY appreciated (and will probably make Internet history)!
-- Work variables declare @ReturnSet varchar(255), @sql varchar(8000), -- Hold the dynamically created sql statement @colname varchar(255), -- The current column when building sql statement @i smallint, -- know when we reached the last column (@i = @cols) @cols smallint, -- Number of columns @longest_col smallint, -- the len() of the widest column @CrLf char(2) -- Constants declare @max_cols_in_table smallint, @max_col_name_len smallint, @max_statement_len smallint, -- @sql7 bit, -- 1 when version 7, 0 otherwise. @err_severity int
set nocount on
set @max_cols_in_table = 255 set @max_statement_len = 8000 set @max_col_name_len = 128 set @err_severity = 11 set @CrLf = char(13) + char(10)
-- Check inputs if @tablename is null or @crosscolumn is null or @crossrow is null or @crossvalue is null begin raiserror ('Missing parameter(s)!',@err_severity,1) return @@rowcount end
-- Check for existence of the table. if (not exists(select * from sysobjects where name like @tablename))begin raiserror ('Table/View for crosstab not found!',@err_severity,1) return 0 end
-- Don't check for columns because we may actually get an expression as the column name
-- prepare for future feature of checking database version to validate -- inputs. Default to version 7 --set @sql7 = 1 --if (patindex('%SQL Server 7.%',@@version) = 0) begin -- set @sql7 = 0 --end
-- Extract all values from the rows of the attribute -- we want to use to create the cross column. This table -- will contain one row for each column in the crosstab. create table #crosscol (crosscolumn varchar(255)) set @sql = ' insert #crosscol Select Distinct ' + @crosscolumn + ' From ' + @tablename --+ --' Group By ' + @crosscolumn --print @sql exec (@sql) set @cols = @@rowcount
if @cols > @max_cols_in_table begin raiserror ('Exceeded maximum number of columns in Cross-tab',@err_severity,1) return 0 end else begin if @cols = 0 begin raiserror ('Could not find values to use for columns in Cross-tab',@err_severity,1) return 0 end else begin -- Check if any of the data is too long to make it a name of a column select @longest_col = max(len(convert(varchar(129),crosscolumn))) from #crosscol
if @longest_col > @max_col_name_len begin raiserror ('Value for column name exceeds legal length of column names',@err_severity,1) return 0 end else begin
-- All Validations OK, start building the dynamic sql statement
set @sql = '' -- Use tmp table rows to create the sql statement for the crosstab. -- each row in the table will be a column in the cross-tab set @sql = 'select isnull(convert(varchar(255), ' + @crossrow + '),''Undefined'') As ' + @crossrow + ', ' + @CrLf + space(4)
declare cross_sql cursor for select crosscolumn from #crosscol order by crosscolumn
--print 'Sql cross statment: ' + @sql
open cross_sql fetch next from cross_sql into @colname -- Use "@i" to check for the last column. We need to input commas -- between columns, but not after the last column set @i = 0 while @@FETCH_STATUS = 0 begin set @i = @i + 1 set @colname = isnull(@colname,'Undefined') set @crossvalue = isnull(@crossvalue, 0)
Is there a way to write Crosstab query in SQL 7.0.
I have a Table which has partner, usernames and the city they are from, apart from other fields. I have another table which tracks the user activity on a day by number of visits to the web site. What i want is like this :-
Date Total Visits Atlanta Connecticut .... .... ....
I.E. I wan't the city names to appear as columns. The main catch here is that this data is for a given partner. So the city names could be different for different users from different partners. i.e. city names have to be generated on the fly by looking at the partner table and then by getting all its users and seeing what all are the cities involved.
Currently working on a Attendance System project . Iam storing the data in table against the employee code, date and status (basically a rowwise data).
Would require a query which can generate a cross-tab display with Employee Codes (on X axis), Dates (on Y-Axis) and with the Attendance Status.
The sample data for the same is as follows:
EmpCode Att_Date Att_Status ------- -------- ---------- 001 01/01/2007 P 001 01/02/2007 A .. ... .. 001 01/31/2007 P
002 01/01/2007 P . . . . . . . . .
Would require the output as..
EmpCode 01/01/2007 01/02/2007 ...... 01/31/2007 ------- ---------- ---------- ---------- 001 P A P 002 A P P . . . . . . . . . . . .
Can someone show me how to write a query to convert this:Year, Account, Qtr1, Qtr2, Qtr3, Qtr42004, 12345, 100, 200, 300, 4002005, 23456, 200, 300, 400, 500to this:Year, Account, Quarters, Amount2004, 12345, Qtr1, 1002004, 12345, Qtr2, 2002004, 12345, Qtr3, 3002004, 12345, Qtr4, 4002005, 23456, Qtr1, 2002005, 23456, Qtr2, 3002005, 23456, Qtr3, 4002005, 23456, Qtr4, 500So far I've only found examples which convert values to columns but notfor columns to values. TIA... AL
I have two tables Bill and Location.Bill(location_id int,prod_period datetime,consumption float,demand float)Location(location_id int,location_name varchar(45))I want to create a stored procedure that takes a parameter of @year. Ibasically want the procedure to return results that show locationswhere consumption and/or demand IS NULL or 0 for each month throughouta given year. I would like my results to look something like this:location_id year Jan Feb Mar Apr May Jun Jul Aug Sept OctNov Dec1 2005 0 0 02 2005 0 0 0 03 2005 0 0If data does exist for consumption or demand, I would like to show it,however I am really interested in the locations that have no dataassociated with them.Any ideas of how I can accomplish this?
I cant figure out what is going wrong here. I created this query to be able to show values across periods , and put it inside of a table instead of a matrix, for easier totals and subtotals. but for some reason my subquery is not pullin up the right amounts for "Goal Amount". The fields i have labeled as Period_1 , period_2 and so on work just fine. But the goals are not coming up with the same number as in the Sub query, if i ran it by its self. I dont know if maybe its the join, or what. but for some reason the numbers are way high then they should be. am i doing something wrong. Please let me know if i need to give more information.
This is what the output looks like now: 0.0000 0.0000 0.0000 4516182.0000 5569957.8000 2559169.8000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 3915126.9500 3275922.5500 1598011.0000 4526861.2500 6880829.1000 3078265.6500 629010.4000 589697.2500 353818.3500 2218175.9000 1984683.7000 1517699.3000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
this is what it looks like in the subquery: 150539.4000 2008 1 80 12 150539.4000 2008 2 80 12 150539.4000 2008 3 80 12 39313.1500 2008 1 81 12 39313.1500 2008 2 81 12 39313.1500 2008 3 81 12 181074.4500 2008 1 82 12 181074.4500 2008 2 82 12 181074.4500 2008 3 82 12 116746.1000 2008 1 86 12 116746.1000 2008 2 86 12 116746.1000 2008 3 86 12 79900.5500 2008 1 87 12 79900.5500 2008 2 87 12 79900.5500 2008 3 87 12 the two numbers highlighted should have the same amounts.
Code Snippet
SELECT cusSales.Report_Level_Id AS Report_Level, cusSales.Customer_Sales_Summary_Year AS Year, Goals.Region_Key, Qry_Report_Level_Brand.Report_Level_Description, RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Region_Name, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 1 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_1, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 2 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_2, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 3 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_3, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 4 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_4, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 5 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_5, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 6 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_6, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 7 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_7, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 8 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_8, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 9 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_9, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 10 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_10, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 11 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_11, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 12 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_12, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 13 THEN cusSales.Customer_Sales_Summary_Amount ELSE 0 END) AS Period_13, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 1 THEN Goal_Amount ELSE 0 END) AS GOAL_1, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 2 THEN Goal_Amount ELSE 0 END) AS GOAL_2, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 3 THEN Goal_Amount ELSE 0 END) AS GOAL_3, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 4 THEN Goal_Amount ELSE 0 END) AS GOAL_4, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 5 THEN Goal_Amount ELSE 0 END) AS GOAL_5, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 6 THEN Goal_Amount ELSE 0 END) AS GOAL_6, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 7 THEN Goal_Amount ELSE 0 END) AS GOAL_7, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 8 THEN Goal_Amount ELSE 0 END) AS GOAL_8, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 9 THEN Goal_Amount ELSE 0 END) AS GOAL_9, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 10 THEN Goal_Amount ELSE 0 END) AS GOAL_10, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 11 THEN Goal_Amount ELSE 0 END) AS GOAL_11, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 12 THEN Goal_Amount ELSE 0 END) AS GOAL_12, SUM(CASE cusSales.Customer_Sales_Summary_Period WHEN 13 THEN Goal_Amount ELSE 0 END) AS GOAL_13 FROM RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Customer INNER JOIN RC_DWDB_INSTANCE_1.dbo.Tbl_Customer_Sales_Summary_Fiscal AS cusSales INNER JOIN Qry_Report_Level_Brand ON cusSales.Sub_Brand_Id = Qry_Report_Level_Brand.Sub_Brand_Id ON RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Customer.Customer_Code = cusSales.Customer_Code INNER JOIN RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension ON RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Customer.Territory_Code = RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Territory_Code FULL OUTER JOIN (SELECT SUM(cusSales.Customer_Sales_Summary_Amount) AS Goal_Amount, cusSales.Customer_Sales_Summary_Year AS Year, cusSales.Customer_Sales_Summary_Period AS Period, cusSales.Report_Level_Id, RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Region.Region_Key FROM RC_DWDB_INSTANCE_1.dbo.Tbl_Customer_Sales_Summary_Fiscal AS cusSales INNER JOIN RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Customer AS Tbl_Territory_In_Customer_1 ON cusSales.Customer_Code = Tbl_Territory_In_Customer_1.Customer_Code INNER JOIN RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Region ON Tbl_Territory_In_Customer_1.Territory_Code = RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Region.Territory_Code WHERE (cusSales.Customer_Sales_Summary_Year = 2008) AND (cusSales.Consolidated_Sales_Tables_Id = 8) and region_key=12 GROUP BY cusSales.Customer_Sales_Summary_Year, cusSales.Customer_Sales_Summary_Period, cusSales.Report_Level_Id, RC_DWDB_INSTANCE_1.dbo.Tbl_Territory_In_Region.Region_Key) AS Goals ON RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Region_Key = Goals.Region_Key AND cusSales.Report_Level_Id = Goals.Report_Level_Id AND cusSales.Customer_Sales_Summary_Year = Goals.Year AND cusSales.Customer_Sales_Summary_Period = Goals.Period WHERE (cusSales.Customer_Sales_Summary_Year IN (2007, 2008)) AND (cusSales.Consolidated_Sales_Tables_Id = 6) AND (NOT (cusSales.Bill_Customer_Code IN ('11825', '11990', '11971'))) AND (cusSales.Report_Level_Id IN (78, 80, 81, 82, 86, 87)) AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Group_Name <> 'BREEDER') AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Group_Name <> 'OTHER') AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Group_Name <> 'Vet - Corporate') AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Group_Name <> 'export') AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Group_Name <> 'Vet - Other') AND (RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Region_Key = 12) GROUP BY cusSales.Report_Level_Id, cusSales.Customer_Sales_Summary_Year, Goals.Region_Key, Qry_Report_Level_Brand.Report_Level_Description, RC_DWDB_INSTANCE_1.dbo.Qry_Sales_Group_Dimension.Region_Name
I am trıed to do crosstab in sql server 2005 but I failed. I look all document on the net but they are all static means the column that are crosed are avaliable. but ın my query I do not know the count of the columns... Please help me...
This the my query... Yağmur Duman Türk Masajı 11 Mehtap . Türk Masajı 10 Mehtap . Japon Masajı 3 Yağmur Duman TENİS KORTU1 SAAT 1 Mehtap . TENİS KORTU 1 SAAT 4 Yağmur Duman Kortu Kirası 1 saat 1 Mehtap . Kortu Kirası 1 saat 2 Administrator . BALI MASAJI 1 Yağmur Duman BALI MASAJI 10 Mehtap . BALI MASAJI 11 Mehtap . 6 EL MASAJI 1 Mehtap . COUPLE MASAJ 1 Yağmur Duman PILATES SINGLE 1 Yağmur Duman CİLT BAKIMI 3 Mehtap . CİLT BAKIMI 4 Mehtap . Çikolata Masajı 2 Yağmur Duman BAL BAKIMI 1 Mehtap . BAL BAKIMI 4 Yağmur Duman 4 EL MASAJI 1 Mehtap . 4 EL MASAJI 2 Yağmur Duman YOSUN BAKIMI 1 Mehtap . MASA TENİSİ 1 Mehtap . HAMAM 1 Mehtap . KESE & KÖPÜK 1 Yağmur Duman TRIO 1 Mehtap . TRIO 1 Özge Öztürk TRIO 1 Özge Öztürk 4 EL MASAJI 16 Ozan Çicek ISVEC MASAJI 1 Özge Öztürk ISVEC MASAJI 3 Ozan Çicek 4 EL MASAJI 5 Ozan Çicek BAL BAKIMI 3 Özge Öztürk BAL BAKIMI 10 Özge Öztürk THAI MASAJI 1 Ozan Çicek Çikolata Masajı 24 Özge Öztürk Çikolata Masajı 12 Ozan Çicek SICAK TAŞ 5 Özge Öztürk SICAK TAŞ 14 Özge Öztürk CİLT BAKIMI 17 Ozan Çicek SHATSU MASAJ 1 Özge Öztürk PILATES SINGLE 16 Özge Öztürk SHATSU MASAJ 4 Ozan Çicek CİLT BAKIMI 3 Ozan Çicek PILATES SINGLE 2 Özge Öztürk COUPLE MASAJ 10 Ozan Çicek COUPLE MASAJ 6 Özge Öztürk 6 EL MASAJI 16 Ozan Çicek 6 EL MASAJI 18 Ozan Çicek BALI MASAJI 44 Özge Öztürk BALI MASAJI 59 Ozan Çicek Kortu Kirası 1 saat 5 Özge Öztürk Kortu Kirası 1 saat 5 Ozan Çicek TENİS KORTU 1 SAAT 12 Özge Öztürk TENİS KORTU 1 SAAT 5 Ozan Çicek Japon Masajı 41 Özge Öztürk Japon Masajı 26 Ozan Çicek Türk Masajı 38 Özge Öztürk Türk Masajı 17 Yeşim Yıldırım Türk Masajı 32 Yeşim Yıldırım Japon Masajı 35 Yeşim Yıldırım TENİS KORTU 1 SAAT 3 Yeşim Yıldırım Kortu Kirası 1 saat 4 Yeşim Yıldırım BALI MASAJI 101 Yeşim Yıldırım 6 EL MASAJI 20 Yeşim Yıldırım COUPLE MASAJ 11 Yeşim Yıldırım SHATSU MASAJ 4 Yeşim Yıldırım PILATES SINGLE 3 Yeşim Yıldırım CİLT BAKIMI 10 Yeşim Yıldırım THAI MASAJI 1 Yeşim Yıldırım Çikolata Masajı 18 Yeşim Yıldırım SICAK TAŞ 14 Yeşim Yıldırım BAL BAKIMI 4 Yeşim Yıldırım 4 EL MASAJI 9 Yeşim Yıldırım HAMAM 1 Yeşim Yıldırım KESE & KÖPÜK 1 Yeşim Yıldırım SAUNA TEK GİRİŞ 3 Yeşim Yıldırım YOSUN BAKIMI 1 Yeşim Yıldırım TRIO 2 Funda Güngörür TRIO 3 Funda Güngörür 4 EL MASAJI 5 Funda Güngörür BAL BAKIMI 8 Funda Güngörür THAI MASAJI 4 Funda Güngörür Çikolata Masajı 10 Funda Güngörür SICAK TAŞ 14 Funda Güngörür SHATSU MASAJ 5 Funda Güngörür CİLT BAKIMI 18 Funda Güngörür PILATES SINGLE 9 Funda Güngörür COUPLE MASAJ 11 Funda Güngörür 6 EL MASAJI 15 Funda Güngörür BALI MASAJI 60 Funda Güngörür Kortu Kirası 1 saat 4 Funda Güngörür TENİS KORTU 1 SAAT 6 Funda Güngörür Japon Masajı 41 Funda Güngörür Türk Masajı 58 Ayşegül Duman Türk Masajı 22 Ayşegül Duman TENİS KORTU 1 SAAT 1 Ayşegül Duman Japon Masajı 17 Ayşegül Duman Kortu Kirası 1 saat 1 Ayşegül Duman BALI MASAJI 53 Ayşegül Duman 6 EL MASAJI 2 Ayşegül Duman COUPLE MASAJ 7 Ayşegül Duman SHATSU MASAJ 7 Ayşegül Duman PILATES SINGLE 9 Ayşegül Duman SICAK TAŞ 7 Ayşegül Duman CİLT BAKIMI 10 Ayşegül Duman Çikolata Masajı 5 Ayşegül Duman THAI MASAJI 1 Ayşegül Duman BAL BAKIMI 6 Ayşegül Duman ISVEC MASAJI 2 Ayşegül Duman TRIO 3 Ayşegül Duman KESE & KÖPÜK 1 Ayşegül Duman 4 EL MASAJI 15 Mert Ilgın HAMAM 2 Mert Ilgın YOSUN BAKIMI 2 Mert Ilgın SAUNA TEK GİRİŞ 1 Mert Ilgın MASA TENİSİ 1 Mert Ilgın 4 EL MASAJI 11 Mert Ilgın KESE & KÖPÜK 1 Mert Ilgın TRIO 2 Mert Ilgın ISVEC MASAJI 1 Mert Ilgın BAL BAKIMI 1 Mert Ilgın Çikolata Masajı 6 Mert Ilgın THAI MASAJI 1 Mert Ilgın SICAK TAŞ 11 Mert Ilgın CİLT BAKIMI 7 Mert Ilgın SHATSU MASAJ 3 Mert Ilgın PILATES SINGLE 6 Mert Ilgın 6 EL MASAJI 9 Mert Ilgın COUPLE MASAJ 11 Mert Ilgın BALI MASAJI 28 Mert Ilgın Kortu Kirası 1 saat 2 Mert Ilgın TENİS KORTU 1 SAAT 5 Mert Ilgın Japon Masajı 6 Mert Ilgın Türk Masajı 11 Aslı Öztürk Türk Masajı 14 Aslı Öztürk Japon Masajı 2 Aslı Öztürk TENİS KORTU 1 SAAT 1 Aslı Öztürk BALI MASAJI 31 Aslı Öztürk 6 EL MASAJI 2 Aslı Öztürk COUPLE MASAJ 1 Aslı Öztürk PILATES SINGLE 10 Aslı Öztürk CİLT BAKIMI 5 Aslı Öztürk SICAK TAŞ 4 Aslı Öztürk Çikolata Masajı 1 Aslı Öztürk BAL BAKIMI 2 Aslı Öztürk ISVEC MASAJI 1 Aslı Öztürk TRIO 3 Aslı Öztürk 4 EL MASAJI 2 Aslı Öztürk KESE & KÖPÜK 2 Ahmet Yılmaz TRIO 2 Ahmet Yılmaz Çikolata Masajı 2 Ahmet Yılmaz CİLT BAKIMI 5 Ahmet Yılmaz SICAK TAŞ 4 Ahmet Yılmaz PILATES SINGLE 20 Ahmet Yılmaz SHATSU MASAJ 1 Ahmet Yılmaz COUPLE MASAJ 2 Ahmet Yılmaz BALI MASAJI 22 Ahmet Yılmaz Japon Masajı 2 Ahmet Yılmaz Kortu Kirası 1 saat 1 Ahmet Yılmaz Türk Masajı 10 Ceren Yıldızdoğan Türk Masajı 4 Ceren Yıldızdoğan Japon Masajı 3 Ceren Yıldızdoğan BALI MASAJI 26 Ceren Yıldızdoğan 6 EL MASAJI 4 Ceren Yıldızdoğan SHATSU MASAJ 5 Ceren Yıldızdoğan PILATES SINGLE 12 Ceren Yıldızdoğan SICAK TAŞ 11 Ceren Yıldızdoğan CİLT BAKIMI 3 Ceren Yıldızdoğan Çikolata Masajı 3 Ceren Yıldızdoğan THAI MASAJI 1
this the query result but I want to do this Türk Masajı TENİS KORTU1 SAAT Kortu Kirası 1 saat ............
consider the following table: name , TaskDate john , 01/01/2006 john , 01/03/2005 steve , 01/05/2006 i want to build a select statement that gives result like the following: name , JanuaryTotal , FebruaryTotal john , 150 , 110 steve , 170 , 50 so the result will be total tasks in specific month, is it doable in one select or should i turn around using hash tables ???
create procedure up_CrossTab (@SelectStatement varchar(1000), @PivotColumn varchar(100), @Summary varchar(100), @GroupbyField varchar(100), @OtherColumns varchar(100) = Null) AS /* Inputs are any 1000 character or less valid SELECT sql statement, the name of the column to pivot (transform to rows), the instructions to summarize the data, the field you want to group on, and other fields returned as output. 1 */ set nocount on set ansi_warnings off
declare @Values varchar(8000); set @Values = '';
set @OtherColumns= isNull(', ' + @OtherColumns,'') /* An 8000 varchar variable called @values is created to hold the [potentially filtered] values in the pivot column. @Values is initiated to an empty string. Then, a temporary table is created to hold each unique value. After the table is created, its rows are loaded into the variable @values. It's usefullness completed, the temporary table is destroyed. 2 */ create table #temp (Tempfield varchar(100))
insert into #temp exec ('select distinct convert(varchar(100),' + @PivotColumn + ') as Tempfield FROM (' + @SelectStatement + ') A')
select @Values = @Values + ', ' + replace(replace(@Summary,'(','(CASE WHEN ' + @PivotColumn + '=''' + Tempfield + ''' THEN '),')[', ' END) as [' + Tempfield ) from #Temp order by Tempfield
drop table #Temp /* Finally, a dynamic sql select statement is executed which takes the GroupByField, and OtherColumns, passed into the procedure, and each of the Values from the Pivot Column from the passed in SELECT statement . 3 */ exec ( 'select ' + @GroupbyField + @OtherColumns + @Values + ' from (' + @SelectStatement + ') A GROUP BY ' + @GroupbyField)
set nocount off set ansi_warnings on GO
And then my sql query is as like
EXEC up_CrossTab 'SELECT ProdId, GrnDate,Quantity FROM inteacc..IcGrnD IcGrnD INNER JOIN inteacc..IcProduct IcProduct ON (IcGrnD.ProdId=IcProduct.ProdId) ', 'Year(GrnDate)', 'sum(Quantity)[]', 'ProdId'
error occurring
ambiguous column name ‘ProdId’
But when I compile this query
EXEC up_CrossTab 'SELECT grnNo,GrnDate,Quantity FROM inteacc..IcGrnD IcGrnD INNER JOIN inteacc..IcProduct IcProduct ON (IcGrnD.ProdId=IcProduct.ProdId) ', 'Month(GrnDate)', 'sum(Quantity)[]','GrnNo'
Instead of doing a Count for the Pivot (the count will always be either 0 or 1 due to the design of the table being used), I would like to return an "X" for those records with a count of 1, and return a blank (otherwise null) for those records with a count of 0. So, the result set would look like:
ItemKey Description Aflatoxin Coliform Bacteria E_Coli Fumonisin Melamine Moisture Mold Salmonella Vomitoxin (DON) Yeast 1000 Item1000 X X X X X 1024 Item1024 X X X X X 135 Item135 X X X X X 107 Item107 X X X 106 Item106 X X X X X
I tried using a Case statement within the PIVOT portion, but I either did it incorrectly or it's not possible to do use a Case within the Pivot. Can I easily accomplish this?
In such a case, devising a dynamic cross-tab query, to cover all the items, and result like a pivot like the following to represent the data in a multi-header pivot like following:
Hi all I'm transferring some Access queries to SQL server and the crosstabs don't want to work, can anyone shed any light on the query below.
Thanks.
TRANSFORM Min(tCompany.cCompanyName) AS CompanyName SELECT tProjContacts.ProjectID FROM tCompany INNER JOIN (tProjContacts INNER JOIN tCompanyType ON tProjContacts.CoTypeId = tCompanyType.CoTypeId) ON tCompany.CompanyID = tProjContacts.CompanyID WHERE (((tCompanyType.CoType) Like "*topo*" Or (tCompanyType.CoType) Like "*ground*")) GROUP BY tProjContacts.ProjectID PIVOT tCompanyType.CoType;
Hi,I am studying data mining features of SSAS and for a workshop I'vecreated 2 views derived from vTargetMail view of AdventureWorksDW.Train data consists every record except those in Pacific, and testview consists only records from Pacific area.1. I've created a mining structure based on Decision Tree and selectedBikeBuyer as predictable column.2. According to input column suggestions, I've selected Age,Eng.Education, NumberCarsOwned, YearlyIncome, CommuteDistance,NumberChildsatHome and TotalChildren as input columns,3. I've modified no other setting, and deployed project.I can get training results in decision tree browser and dependencynetwork (and both seem to give rather logical results) however, when Itry to browse lift chart or classification matrix I get an emptyclass.matr. and a lift chart of a single 45 degree line.Am I missing a step, or must I do some fine-tuning on (what)parameters?Thanks...
Hi, I am studying data mining features of SSAS and for a workshop I've created 2 views derived from vTargetMail view of AdventureWorksDW. Train data consists every record except those in Pacific, and test view consists only records from Pacific area.
1. I've created a mining structure based on Decision Tree and selected BikeBuyer as predictable column. 2. According to input column suggestions, I've selected Age, Eng.Education, NumberCarsOwned, YearlyIncome, CommuteDistance, NumberChildsatHome and TotalChildren as input columns, 3. I've modified no other setting, and deployed project.
I can get training results in decision tree browser and dependency network (and both seem to give rather logical results) however, when I try to browse lift chart or classification matrix I get an empty class.matr. and a lift chart of a single 45 degree line.
Am I missing a step, or must I do some fine-tuning on (what) parameters?
managed plug-in framework that's available for download here: http://www.microsoft.com/downloads/details.aspx?familyid=DF0BA5AA-B4BD-4705-AA0A-B477BA72A9CB&displaylang=en#DMAPI.
This package includes the source code for a sample plug-in algorithm written in C#.
in this source code all .cs files are modified for clustering algorithm
if my plugin algorithm is of association or classification type then what modifications are requried in source code???
I am a neewbie to SQL 7 and having previously used Access for some time.. I have a table with a date field in a want to create a table with the values filling columns in another table by month ie April,may ,Jun and so on. Ia m using the Month function to get the month number but I dont know how to crosstab this into the relevant columns in the new table...I thinks DTS is the way and do a transformation on the month field but am struglling at the mo...Any help greatfully appreciated...