473,625 Members | 3,353 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

400+metrics: Span multiple wide tables or use one narrow table?

Hi,

I am pulling over 400 different metrics from an Excel spreadsheet into
Access (97). Conceptually, each row represents a single set of these
400 metrics. However, because of the 255 column limit in Access I am
faced with a dilemma:

Do I create two tables (1 with 255 columns, the other with 145) and a
lookup table that stores which metric is found in which table?
Obviously this method would require VBA logic to coordinate any time I
need to get at the data. Speed is not a huge issue so this could be
done.

Or do I create a table like so:
MetricSetID (number)
MetricName (text)
MetricValue (would have to be memo to accomodate numbers and text)

The advantage would be it can scale to an unlimited number of metrics
and I wouldn't need VBA to mess with the horrible two table system.
However, some metrics are memo-sized text chunks and some are floating
point numbers so I think I would have to make MetricValue a memo field
to accomodate both. This is obviously not ideal.

Any recommendations ?

Thank you,

Michael Deathya
Nov 13 '05 #1
7 2169
"Michael Deathya" <de******@yahoo .com> wrote in message
news:5d******** *************** ***@posting.goo gle.com...
Hi,

I am pulling over 400 different metrics from an Excel spreadsheet into
Access (97). Conceptually, each row represents a single set of these
400 metrics. However, because of the 255 column limit in Access I am
faced with a dilemma: Do I create two tables (1 with 255 columns, the other with 145) and a
lookup table that stores which metric is found in which table?
No.
Or do I create a table like so:
MetricSetID (number)
MetricName (text)
MetricValue (would have to be memo to accomodate numbers and text)
That looks better.
However, some metrics are memo-sized text chunks and some are floating
point numbers so I think I would have to make MetricValue a memo field
to accomodate both. This is obviously not ideal.


Mmmm. What is it you're measuring? How are you getting a metric which is a
memo sized 'chunk' of text?

Tell us what the subject matter of this is. Good database design can only be
done with an understanding of the meaning and purpose of the information
that is being modelled. It's not a mechanical process.

Mike
Nov 13 '05 #2
Tom
Michael:

I don't have an answer for you, but I suggest you broaden your
consideration to the implications for Form and Report Design. I've
dealt with a similar situation for survey design with about 200
question and found that the form design for user input of data, report
design and general maintainability were as much of an issue as the
table design, and were driven by the underlying table design. Both
approaches had their difficulties, especially when dealing with
multiple data types.

FYI - I eventually went to the second method you mentioned because the
list of questions always seemed to be in flux.

Good luck

Tom

Michael Deathya wrote:
Hi,

I am pulling over 400 different metrics from an Excel spreadsheet into Access (97). Conceptually, each row represents a single set of these
400 metrics. However, because of the 255 column limit in Access I am
faced with a dilemma:

Do I create two tables (1 with 255 columns, the other with 145) and a
lookup table that stores which metric is found in which table?
Obviously this method would require VBA logic to coordinate any time I need to get at the data. Speed is not a huge issue so this could be
done.

Or do I create a table like so:
MetricSetID (number)
MetricName (text)
MetricValue (would have to be memo to accomodate numbers and text)

The advantage would be it can scale to an unlimited number of metrics
and I wouldn't need VBA to mess with the horrible two table system.
However, some metrics are memo-sized text chunks and some are floating point numbers so I think I would have to make MetricValue a memo field to accomodate both. This is obviously not ideal.

Any recommendations ?

Thank you,

Michael Deathya


Nov 13 '05 #3
I would use 3 tables for your situation. The first 2 tables would each
contain 201 fields. The first field would be an ID field so you can
relate the 2 tables and then 200 fields in one table and the other 200
fields in Table2. The 3rd table would just contain a list of all the
fields, so you would have one text field in Table3 which would contain
400 rows.

When you start getting involved with big data like this you have to use
VBA code. The idea is that the machine will always do the work faster
than a human. If you have enough data, it could be impossible to
manipulate it by hand. Thus, the computer comes to the rescue. Sure,
for small data, doing things manually is easier than writing a bunch of
code. But for big data, you write the big code once and let the
computer do the work from then on.

Not to sound like I'm tooting my horn here, but to illustrate the point
of letting the computer do the work, I have automated several reports at
my company (big company) where it used to take weeks to develop just one
report by hand and to QA (ie, almost impossible to develop some of these
reports by hand). It took me a while to automate these reports (real
big data with lots of fields - not quite 400, more like 200, but over
2,000,000 records to go through), but now it takes a matter of minutes
to run each report (note: I am still not appreciated - at least, not
very much :).

As for data types for the table fields, you want to steer away from
using memo fields in tables with multiple data fields. It would be rare
to have several fields in Excel where people are entering more than 255
characters. Usually, you will have numeric, date, and small text fields
in Excel. So create your tables accordingly.

Another option would be to highlight and copy one half of the Excel
workbook and paste that into Access, then copy the other half of the
workbook and paste that into Access. Now you have your 2 data Tables.
Then just add the ID field to each table, either at the beginning of the
table or at the end.

Rich

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 13 '05 #4
Mike,

Thank you for your response

I just replied to your post but then Google made me sign up for this
Beta version and my reply got lost. Brutal!
Here I go again:

My company has an Excel template that the owner of a product line uses
to plan for Marketing/Finance/Supply Chain. The finance metrics are
usually numbers and the marketing ones are often qualitative analysis
up to 1000 characters or so. There are about 50 product line owners and
each fills out a template. The idea is for them to click a save button
on the sheet and all the values are sucked up into Access where they
can be reported on/rolled up with others where applicable. Here's how I
planned to do it before I ran into the 255 column wall.

The template is organized visually, not at all conducive to pulling
data from it programmaticall y so here's how I did it:
Each cell that holds a value has an Excel Defined Name. I made the name
the same as a corresponding column in my Access table. Thus I iterate
through the Names collection in the workbook, grabbing the database
column name and the value to insert like so (all data stored in a VB
Collection):
Public Function LoadMetricsFrom Excel(wb As Workbook)
Dim nameMetric As Excel.Name

For Each nameMetric In wb.Names
Me.Add nameMetric.Name , nameMetric.Refe rsToRange.Value
Next
End Function

and then when I want to write them to Access, I create a giant INSERT
SQL statement.

I know it's bad style but I was stymied by the different datatypes when
I considered option 2.

Thanks,
Michael

Nov 13 '05 #5
Is every field filled in on for every product line?

<de******@yahoo .com> wrote in message
news:11******** *************@z 14g2000cwz.goog legroups.com...
Mike,

Thank you for your response

I just replied to your post but then Google made me sign up for this
Beta version and my reply got lost. Brutal!
Here I go again:

My company has an Excel template that the owner of a product line uses
to plan for Marketing/Finance/Supply Chain. The finance metrics are
usually numbers and the marketing ones are often qualitative analysis
up to 1000 characters or so. There are about 50 product line owners and
each fills out a template. The idea is for them to click a save button
on the sheet and all the values are sucked up into Access where they
can be reported on/rolled up with others where applicable. Here's how I
planned to do it before I ran into the 255 column wall.

The template is organized visually, not at all conducive to pulling
data from it programmaticall y so here's how I did it:
Each cell that holds a value has an Excel Defined Name. I made the name
the same as a corresponding column in my Access table. Thus I iterate
through the Names collection in the workbook, grabbing the database
column name and the value to insert like so (all data stored in a VB
Collection):
Public Function LoadMetricsFrom Excel(wb As Workbook)
Dim nameMetric As Excel.Name

For Each nameMetric In wb.Names
Me.Add nameMetric.Name , nameMetric.Refe rsToRange.Value
Next
End Function

and then when I want to write them to Access, I create a giant INSERT
SQL statement.

I know it's bad style but I was stymied by the different datatypes when
I considered option 2.

Thanks,
Michael

Nov 13 '05 #6
de******@yahoo. com wrote in
news:11******** *************@z 14g2000cwz.goog legroups.com:
Mike,

Thank you for your response

My company has an Excel template that the owner of a product
line uses to plan for Marketing/Finance/Supply Chain. The
finance metrics are usually numbers and the marketing ones are
often qualitative analysis up to 1000 characters or so. TThus I iterate through the Names collection in the workbook, grabbing the database column name and the value to
insert like so (all data stored in a VB Collection):
Public Function LoadMetricsFrom Excel(wb As Workbook)
Dim nameMetric As Excel.Name

For Each nameMetric In wb.Names
Me.Add nameMetric.Name , nameMetric.Refe rsToRange.Value
Next
End Function

and then when I want to write them to Access, I create a giant
INSERT SQL statement.

I know it's bad style but I was stymied by the different
datatypes when I considered option 2.

Thanks,
Michael


I'd create a metric table with five columns, based on your three
field concept.

The structure would be
MetricSetID (number)
MetricName (text)
MetricNumber
MetricText
MetricType (number or text)

and import data to the correct field, and set the MetricType to
show which field is used for that metric.

You could also move the MetricType field to a MetricNmae
definition table, and place the MetricName's key into this table
instead of the name itself.
--
Bob Quintal

PA is y I've altered my email address.
Nov 13 '05 #7
Thanks Bob,

This seems like a good solution.

Cheers.
Michael

Nov 13 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1112
by: ucsbgaucho | last post by:
I have a series of images that, when I click on the thumbnails, I would like to open in a pop-up window fitting the exact size of the image. All the images are either 600x400 wide, or 400x600 tall.... So i created 2 javascript popups, popTall and popWide, so when you click on a wide thumbnail, it accesses popWide, and the tall thumbnails access popTall. The popWide script is first in my code, and it works fine, but the popTall doesnt work at...
3
12425
by: kAldam | last post by:
I am currently using IE 6.0 and 5.5 and the scenario is the following. I have a span that contains text, and the span is beign contained by a table cell (this is the way thing need to be in my application). I have an issue when the span has a heigth less than 18px (meaning height of the span, there is only one line of text and the height of the text is less than 18). The issue is that I start getting a padding, I add a color background to...
4
3588
by: Trevor Davies | last post by:
We have databases on an RS/6000 which we would like to try moving to AS/400. On the AIX box we create a number of databases (Dev, Sys Test etc) and within each database there are a number of tables qualified with schema names (id's), so we would end up with Database DEV TABLE data.name TABLE data.address1
1
6579
by: Charlie | last post by:
Hello, I have data in an Access table that I would like to export to multiple HTML tables. I would like to split the data in the Access table (about 92,000 records) into multiple HTML tables/files to reduce download time and bandwidth usage on my web server. That way, the user can select a particular page to download instead of downloading a page with all of the records. I would like to set a limit of only 500 records per file.
6
2185
by: tshad | last post by:
I have a datagrid where each column has both a label and a linkbutton. I need to have the label left justified and the linkbutton right justified. In HTML, I would have to set up 2 cells to do this. Is there a way to accomplish this in a DataGrid (and have the text span both columns). What I have is:
6
4983
by: James Radke | last post by:
Hello, I have a multithreaded windows NT service application (vb.net 2003) that I am working on (my first one), which reads a message queue and creates multiple threads to perform the processing for long running reports. When the processing is complete it uses crystal reports to load a template file, populate it, and then export it to a PDF. It works fine so far....
3
30281
by: mkjets | last post by:
I have worked for hours on trying to find a solution and have not figured it out. I am working in Access 2003. I need to create a query that takes values from 1 table and displays them in multiple fields. I don't have the option of changing the structure of the existing tables because I am importing them from a separate data source on a regular basis. I also need to use a query instead of a form because I then need to be able to export...
1
7725
by: mht7 | last post by:
I'm newbie to javascript and I did an extensive search on this site and couple of others looking for directions. I'm attempting to write some custom javascript for collapsing the tables and fit it in an existing application already provided. I found some code on the web that works great. In this example there are 3 fixed set of tables with 3 fixed/hardcoded "id". I tried to fit this code into a FOR loop so it becomes dynamic and it would work...
1
1208
by: inglesp | last post by:
Hi there I've searched here - and elsewhere - for an explanation of why Access limits the number of fields in a table to 255. I would guess wide tables are unwieldy to query, and so on. I've also read that database experts would consider an overly wide table (more than 30 fields?) a sign of an unnormalized data set. I'm currently working on a database to for the results of what is, in effect, a large survey. There are around 400...
0
8256
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8635
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8356
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8497
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7184
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6118
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4193
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2621
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1500
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.