SP To Determine Layout, Population And Sample Data In Table(s)
Nov 1, 2007
Hi! I am new to SQL Server... looking for some veteran assistance.
"Data Integrity Report"
I need a Stored Procedure that takes a table name as a parameter and returns a cursor suitable as a data source for a pre-built Report Services report (I guess Report Services would call the SP?).
The cursor/report needs to have the following columns:
Ordinal_Position (I.E. Column number)
Column_Name
Number Of Blank Rows (how many missing values for this column in this table)
Difference (Between total rowcount and population of this column)
Data_Type
Column_Length (either Character_Maximum_Length or the numeric widths rolled up with COALESCE?)
Sample Data (The contents of the "first" row in the table, based on a TOP(1) and ORDER BY xxx)
The report should look like this (for a table with 100 rows):
Col Num Col Name # Blanks Difference Data Type Col Length Sample Data
1 Name 12 88 varchar 30 Sally Smith
2 Address 34 66 varchar 45 123 Main St Apt 45
3 Acct_ID 0 100 varchar 4 AB12345
Using the "Information_Schema.Columns" I can get everything I need except for #3 (blanks count) and #7 (Sample data).
Is it possible to do this as 1 query, with a CTE or APPLY or something, or do I need to do a table variable based on the Information_Schema and then use dynamic SQL and row-by-row COUNT(*) for each column? And the same for the Sample Data.
Sorry for the long post, and thanks in advance!
John
I have several bcp output files I need to import into tables. I do not have format files for them. As far as I know they are in native format. I do not know the layout of the destination table they would populate.
1) how can I determine from the bcp file itself the schema of the destination table? Once I know that I should be able to import the data into the table.
I have a requirement based on 2 parts to determine a row of data in a table through SSIS :
a. Work out the LEG_SEQ_NBR of the VESSEL, VOYAGE and LEG already stored in table1.
To do this join table1 and join table2 through BL_ID column.
b. Work out the 2ndVESSEL, 2ndVOYAGE and 2ndLEG.
Once we have identified the LEG_SEQ_NBR of the VESSEL,VOYAGE, LEG already stored in table1 we need to add '1' to this value and then find that LEQ_SEQ_NBR in table2.
The DDL of table1 and table2 along with the test data are as below:
Hello, can anyone tell me if it is possible to conditionally join tables? If so, how could it be done?
What I would like to do is create a query similar to the one below but include the rows in the Asset table where the corresponding Alert field is NULL.
Assets AS A ON AL.IndustryId = A.IndustryId AND AL.RegionId = A.RegionId AND AL.RevenueId = A.RevenueId WHERE AlertId = 1
The output I am after would be the first row in the Assets table. But since the RevenueId column is NULL, I get nothing. The only time the above query will work is if all three Id columns are populated. That is not always going to be the case. Please don't suggest changing table structures or adding data. That is not an option.
I dont think we should sample any nested tables for data mining model training? Since I think any nested tables are bound to the case table. Therefore whenever we sample the case table, the nested tables are like any other input attributes within the case table to be rectrieved as inputs accordingly?
Thank you very much for any guidance to clear my confusion.
Can i write a Stored Procedure so as to enter the data in the tables in bulk. Say we have an application through which we can enter the data in some 4-5 tables. For actual testing we need to have a large amount of data being populated in all these tables and its not feasible to do this through the application in a short time. Is there any way out for such a situation so that we can enter the valid data with different confitions in the tables ?
I have a large flat file that comes to me. I first import the flat data in to a SQL table for ease of use. Then i put it into a more permanent table with the proper references to dimension tables. I want to build a dimension table out of information from my flat file. I have a dimension table with columns, [Org Client], and [Client#] where [org client] is the name of the client. Both of these columns appear in my flat file but i want to use only the client# in my permanent table. How extract distinct values of client # and [org client] into a dimension table?
My idea was to select distinct values of client# and use some type of foreach loop to go through each client# and use a query to select the TOP(1) values of [org client] where client# = x. Would this work and if so how do I go about setting this up?
I'm really hoping there is a simpler way than this. Thank you all for your time.
I want to implement population data in sales cube.
Fact table has customer code which is foreign key of Customer master dimension which in turn is linked to census data dimension. Census data dimension have city wise population data having foreign keys of zone and state.
I have used two matrix in one of my reports. One matrix is right above other. Both matrix's columns are allocated for month name. I.e there are 12 columns for each month of the year for each matrix. column name of the second matrix was hidden. so end user can see only first matrix column name and corresponding data in each matrix. But the problem is now, when there is no data for perticular month in first matrix, thats month's column does not appear at all. Lets say there is no data for November in first matrix. so Novem column is missing in first mtrix now. but still Novem column is shown on the second matrix as it has some data, although column name is not shown. I wonder how I can show all the columns of both matrix regardless of population of data.
The scenario is the data comes from various sources and its staged into staging database. From this staging database it goes into data warehouse database. Everyday this staging database is truncated and repopulated from various sources. I've a dimension table called DimCustomers which consists of around 300,000 rows and has lots of different types of SCD columns. It takes around 4-5 hours to load data from staging to this dimension table. Currently I'm using a For Loop container which uses a store proc to extract 15000 rows each time and populate my dimension tables. First couple of loops it goes off quickly but as and when the number reaches half of the count it slows down and hence it takes around 4-5 hours to load data.
What would be the best approach to populate this kind of dimension table.
I have been asked to create a report for one of our clients. The report is pretty basic but I am concerned about the overheads with my planned approach.The report is at a table and field grain to include values for:
* Min column value * Max column value * Number of discrete values * Number of populated values (not NULL)
My current plan is to have a cursor over a limited view of sys.tables and sys.columns that will run a dynamic SQL query to import the results into a table that I can then output.There must be a better way of doing this and I don't have access to any DQS services.
I have got problem of designing a report table. The table is created based on 5 field dataset output, student name, semester, unit name, unit code and exam mark. e.g.
StudentID Semeter UnitName UnitCode Mark ------------------------------------------------------------------------------------------------------------------------------------ 123456 1, 2006 Database IT001 85 123456 1, 2006 XML IT002 82 123456 2, 2006 Web Development IT003 76 123456 2, 2006 ............ etc
and there is supposed to one table for one semester and the student ID and Semester must be in the first 2 rows and all the other data is column based as normal, which is like
StudentID 123456 Semester 1, 2006 ------------------------------------------------------------------------ UnitName UnitCode Mark Database ITN001 85 XML ITN002 82
StudentID 123456 Semester 2, 2006 ------------------------------------------------------------------------ UnitName UnitCode Mark Web Development ITN003 76
I only can create the table using grouping but the layout is column based. Does anybody know how can I design the table to achieve the above table layout.
I designed a report in reporting services 2005. When i look at the view layout for the report everything is aligned correctly but if i go to print preview one matrix is shifted up or down. I have tried to put the matrix inside a rectangle but the issue is still present. Does anyone know why this is happening or any suggestions on what to do to fix it.
Hello to everyoneI am using SQL Server Enterprise Manager and I would like to print thestructure of each table of a database, with the purpose to see the wholerecord layout. (In Access there is Analyzer which does that) butapparently I acnnot find anything similar in EM.Who Could help me?Thank you to everyone!RegardsFabio*** Sent via Developersdex http://www.developersdex.com ***Don't just participate in USENET...get rewarded for it!
I need to have a table type layout of graphs. These various graphs make use of 5 different datasets. Is there a way to use a tablix in the report to do this? I have tried but one requires a dataset and then require all the various fields to be in that table which is not possible.
I require all 5 datasets.
Is there a way of doing this apart from just putting 5 separate tables on the report and the graphs in them, which is not ideal or what I want to do.
Books online mention the existence of sample code for several custom tasks, including the one mentioned in the title. But, when I try to find this code in the location mentioned it is nowhere to be found.
I have run a search on the rest of my drive and come up empty.
I have a table which stores all prices for companies daily trading. Companies ABC & XYZ have information available for what was the high & low values for a DateID.
CREATE TABLE [dbo].[TestGrid] ( [ID] [int] IDENTITY(1,1) NOT NULL, [CompanyName] [varchar](200) NOT NULL, [DateID] [int] NOT NULL, [High] [float] NOT NULL, [Low] [float] NOT NULL
[code]...
What I'm trying to do is turn the DateID into columns and then as a additional change those columns represent the actual day of the Date ID How would i know 20121201 is equal to say Monday and 02 is Tuesday?
END RESULT:
NAME TYPE MONDAY TUESDAY WEDNESDAY ABC HIGH 0.5 0.6 1 ABC LOW 0.1 1.5 0.6
I've inherited a SSRS project from a former employee. I've gotten the reports moved to the Report Server on my local machine (which runs Sql Server 2005 with SSRS), and other users are having no problems viewing reports.
However, when I try to create a new Report Project using the Business Intelligence Project type in VS 2005, I can't view the RDL files in any way except plain-old XML. I have no Data | Layout | Preview tabs. If I create the RDL using the Report Wizard, I can still take the rdl files and deploy them successfully. But I can never edit them in Layout mode. Is something misconfigured or not installed properly? Thanks for your help.
I am using SQL Server 2005 Analysis Services and Reporting Services with Visual studio 2005 Professional Edition. I have developed couple of reports in visual studio 2005 environment using report server project of business intelligence projects. In one of my report I am using MDX query which is created using Query Builder of Report wizard. Once I finished with report wizard a report created and shown with data, layout and preview tabs. I can preview the report. But, when I click on data tab there is no MDX query exists. After that I can't even preview the report.
Im trying to use VB.net 2005 to write a sample app to access a DB. Are there any samples for this and any samples of how I go about making the DB in the first place?
Though this is not directly a SQL related question but I could not think of some other forum to post this request. <y apologies if I should have posted elsewhere...
I need some sample data for a departmental store (like WalMart of KMart) which sell a wide variety of things and probably everything under the sun :)
I need data in such a manner that we have 4-5 levels of data hierarchy. For example we can have a data hierarchy like follows:
Classification Category Sub Category Product Group Item
The above is just an example but I hope that most of you already know what I neeed. An example of data based on the following hierarchy can be as follows (shown in a tabular manner)
Classification | Category | Sub Category | Product Group | Item --------------------------------------------------------------- Household Items| Electronics| Entertainment| Audio| SONY Room entertainment box, 2 speakers 300 W each, .... Household Items| Electronics| Entertainment| Audio| Phillips Boom Box, ...specifications.... Household Items| Electronics| Entertainment| Video| SAMSUNG DVD Player model SG-17X5 ... Household Items| Electronics| Entertainment| T.V | SONG TRINTORN 51" ..... ... ...
I am needing to o exactly what Zippygoose says (with ordered ID numbers). How do yo make an insert statement that will make a loop until let's say the ID reaches 8000??
Thanks in advanced,
Edit: User needs to fill his tables with sample data. (Sorry for the edit, but I prefer to split this thread instead of continuing an old one (2003!!)).
We have 4 regions, currently we only have 3 servers in the field, and therefore only 3 regional id’s are being used to store the actual data of the pbx. The central server (RegionalID = 0) is holding the data for itself and the 4th region until the new server is deployed. It now has to be deployed and therefore the data migration for this region has to take place. I am trying to extract all the data for this 4th region (RegionalID= 1) from the central server database from all the relevant tables. When doing this I will firstly, have to check that the CallerID is valid, if it is, send that entry along with the result set, if it is not valid, Check that the dongle area code is valid, if dongle area is valid select with the result set, and if it is not valid, then check that RegionalDialup = ‘0800003554’ which is the dialup number for this 4th region (RegionalID = 1).
I have a table named lnkPBXUser which contains the following:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[lnkPBXUser]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[lnkPBXUser] GO
DDL: CREATE TABLE [dbo].[lnkPBXUser] ( [RegionalID] [int] NOT NULL , [pbxID] [decimal](18, 0) NOT NULL , [userID] [decimal](18, 0) NOT NULL ) ON [PRIMARY] GO
Sample data: INSERT INTO lnkPBXUser(RegionalID, pbxID, userID) SELECT 0, 543, 2 UNION ALL SELECT 0, 10961, 6 UNION ALL SELECT 0, 1012, 17 UNION ALL SELECT 0, 16499, 26 UNION ALL SELECT 0, 14061, 36 UNION ALL SELECT 0, 16499, 2
I have a table named tblDialupLog which has 20 columns, I have selected only the columns I am interested in (below):
PBXID DailupDT DongleAccessNum CLI RegionalID RegionalDialup 83 8/8/2006 8:58:11 AM T2 UQ 28924 0132493700 0 0800003554 543 8/8/2006 8:55:44 AM T0 UA 33902 0123623500 0 0800003554 1219 8/8/2006 8:59:03 AM T3 ZD 02031 0152958095 0 0800003554 1012 8/8/2006 9:02:54 AM T0 UA 41261 0173011050 0 0800003554 1331 8/8/2006 8:59:57 AM T0 UA 01938 0124604627 0 0800003554 1979 8/8/2006 9:02:52 AM T0 UA 09836 0163751210 0 0800003554 1903 8/8/2006 8:58:41 AM T0 UA 26009 0147175356 0 0800003554 1522 8/8/2006 8:58:54 AM T3 MB 94595 0573912871 0 0800004249 319 8/8/2006 8:51:28 AM T2 ZD 32892 0543375100 0 0800004249 3270 8/8/2006 9:04:26 AM T2 MB 87331 0 0800004249
DDL: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblDialupLog]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tblDialupLog] GO
Sample data: INSERT INTO tblDialupLog(PBXID,DailupDT ,DongleAccessNum,CLI,RegionalID,RegionalDialup ) SELECT 83,'8/8/2006 8:58:11 AM' ,'T2 UQ 28924','0132493700',0 , '0800003554' UNION ALL SELECT 543,'8/8/2006 8:55:44 AM','T0 UA 33902','0123623500',0,'0800003554' UNION ALL SELECT 1012, '8/8/2006 9:02:54 AM', 'T0 UA 41261', '0173011050', 0 ,'0800003554' UNION ALL SELECT 1219, '8/8/2006 8:59:03 AM' ,'T3 ZD 02031', '0152958095', 0,'0800003554' UNION ALL SELECT 16499, '8/8/2006 8:51:28 AM', 'T2 ZD 32892', '0543375100', 0, '0800004249'
You see that the DongleAccessNumber is actually made up of three parts, and it is the middle part (ie.UQ) which i will use to check that the tbldongleArea.DongleAreaCode is valid for that region
I have a table named tblCodes, it contains all regions but I only need to select the codes for RegionalID 1 :
CodeID RegionalID ExtName SubsNDCD LocCD UpdateStatus RegionDesc 7973 1 PRETORIA 012 362 0 NORTH EASTERN REGION 7974 1 HARTEBEESHOEK 012 3012 0 NORTH EASTERN REGION 7975 1 HARTEBEESHOEK 012 3013 0 NORTH EASTERN REGION 7976 1 PRETORIA 017 3014 0 NORTH EASTERN REGION 7977 1 PRETORIA 012 3015 0 NORTH EASTERN REGION
DDL: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblCodes]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tblCodes] GO
DDL: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblDongleArea]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tblDongleArea] GO
CREATE TABLE [dbo].[tblDongleArea] ( [AreaID] [int] NOT NULL , [RegionalID] [int] NULL , [DongleAreaCode] [varchar] (5) NULL , [AreaDesc] [varchar] (64) NULL , [UpdateStatus] [int] NULL ) ON [PRIMARY] GO
Sample Data: INSERT INTO tblDongleArea(AreaID,RegionalID,DongleAreaCode,AreaDesc,UpdateStatus) SELECT 12,1, 'UA', Oumashoop, 0 UNION ALL SELECT 13, 1, 'UB', 'Pietersburg', 0 UNION ALL SELECT 14, 1 ,'UC' ,'Warmbad', 0 UNION ALL SELECT 15, 1, 'UD', 'Nylstroom', 0 UNION ALL SELECT 16, 1, 'UE', 'Potgietersrus', 0 UNION ALL SELECT 27, 1, 'UF', 'Louis Trichardt', 0 UNION ALL SELECT 28, 1, 'UG', 'Messina', 0
I have a table named tblRegionalNumbers which contains the following, as you can see the RegionalDialup for the fourth region = 0800003554:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblRegionNumbers]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[tblRegionNumbers] GO
INSERT INTO tblRegionNumbers(RegionalID ,RegionalDialup,Region,UpdateStatus,RegionCode,LocalRegion) SELECT 1,'0800003554', 'North Eastern', 0, 1, 0 UNION ALL SELECT 2, '0800005027' ,'Gauteng', 0 ,2, 0 UNION ALL SELECT 3, '0800006194','Eastern', 0, 3, 0 UNION ALL SELECT 4, '0800004249' ,'Central', 0, 4, 0 UNION ALL SELECT 5, '0800201859','Southern', 0 ,5, 0 UNION ALL SELECT 6, '0800201989' ,'Western' 0, 6, 0 UNION ALL SELECT 0, '0800113515', 'HO', 1, 0, 1 UNION ALL SELECT 8, '0800222204', 'Tellumat', 0, 7, 0
Ok, I am dealing with the lnkPBXUser table at the moment,
I need to be able to join lnkPBXUser and tblDialupLog, then compare tblDialupLog.CLI to tblCodes.SubsNDCD + tblCodes.LocCD (when these two columns are concatenated the result will only be a substring of tblDialupLog.CLI. (this is to make sure that the CLI exists in tblCodes.)
If it does exist, then it is part of the fourth region and should be returned in the result set.
If it does not exist, I then need to check that tblDongle.DongleAreaCode is a substring of tblDialupLog.DongleAccessNumber.
If it is a valid DongleAreaCode for that region, then it is part of the fourth region and should be returned in the result set.
If it does not exist, I then need to check that tblDialupLog.RegionalNumber = ‘080003554’.
So from the above tables an expected result would be:
RegionalID pbxID userID 0 1012 17 0 543 2
Please assist, it would be greatly appreciated. Regards SQLJunior
I want the sum of the last payments (amount) for all customers. The lastpayment is with one with most recent date. And if there are more than onepayment on the most recent date then the one with the higher paymentid isthe last payment. for example in the given data the insert statement thatstarts with capital I is the last payment of that customer. The correctanswer should be 2100 as given below. both queries by Erland and Anith givethe result 100 ( I removed the "WHERE p1.date <= '20030301' " Clause fromboth queries since right now I want current sum (not till some date). Sowhat should be the right query.Thanks again for the help.create table payments (paymentid int,customerid int,amount int,date datetime)insert payments values (1, 1, 100, '1/1/03')insert payments values (2, 1, 200, '2/28/03')Insert payments values (3, 1, 500, '5/15/03')insert payments values (4, 2, 400, '1/16/03')insert payments values (9, 2, 800, '4/30/03')insert payments values (5, 2, 200, '6/15/03')Insert payments values (6, 2, 900, '6/15/03')insert payments values (7, 3, 700, '3/1/03')insert payments values (10,3, 300, '7/10/03')Insert payments values (8, 3, 600, '9/1/03')insert payments values (11,4, 300, '8/1/03')insert payments values (12,4, 400, '9/10/03')Insert payments values (13,4, 100, '9/10/03')customerid lastpayment amount1 3 (on 5/15/03) 5002 6 (on 6/15/03) 9003 8 (on 9/1/03) 6004 13 (on 9/10/03) 100========Result => 2100
hi, i am bit new in the field of data warehousing and data mining but catching up fast. I am in the last year of BS(Computer Science) and intend to do a project on a Business Intelligence but i was wondering can i get a sample dummy data for my work is that any way possible??
SQL Server 2000Is there any way to take sample data in my database and create an INSERT INTO script?I have a commercial application that I would like to include sample data, and instead of restoring a backup like I am doing now, I would like to first run a script that creates the database, stored procedures, etc, then run a script that inserts sample data if the customer so chooses.I know I can do this manually, but is there any way to create the script based on exisiting data?TIA-- Tim Morrison--------------------------------------------------------------------------------Vehicle Web Studio - The easiest way to create and maintain your vehicle related website.http://www.vehiclewebstudio.com
I'm looking for sample database for data mining in SQL Server 2005. In my project I need to use all algorithms provided by SQL Server 2005. I know that we have "SQL Server 2005 Samples and Sample Databases" on microsoft.com site, but there are only AdventureWorks data sets. I need sth less popular, but similar.
I have found http://www.kdnuggets.com/datasets/index.html and others, but I don't see data sets good for multidimensional analysis.
The origin of data may be natural or artificial, it doesn't matter. I don't have to generate my own data, because I had to discover new knowledge, that will be surprising to me.