cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X

Data Table as Global Definition

Andrewk2
1-Newbie

Data Table as Global Definition

When you choose Insert --> Data --> Table, Mathcad inserts a table with the definition operator (:=). I want to use the global definition operator (~ keystroke for the triple equals sign) so that I can put this table at the bottom of the worksheet.

I tried pasting the table into a new global definition, and it pastes as a matrix, and there doesn't appear to be a way to convert it back into a table.

Is there any way of using a data table with the global definition operator?

Using Mathcad 14

37 REPLIES 37
RichardJ
19-Tanzanite
(To:Andrewk2)

Is there any way of using a data table with the global definition operator?

No, sorry. You can't use any component based item with a global defintion. Why not just put the data table in an area at the top of the worksheet and then collapse the area?

Thanks. That was actually the work-around I started to use. It's not horrible, but I know I'm going to get "what's this ..." questions.

MikeArmstrong
5-Regular Member
(To:Andrewk2)

Andrew Kelly wrote:

Thanks. That was actually the work-around I started to use. It's not horrible, but I know I'm going to get "what's this ..." questions.

Andrew,

I'm a little lost. Is your data defined within Mathcad or brought in from another program?

You could post a worksheet and you might get more responses on possible alternative methods.

Mike

See attached (V11). The content in my example is a made-up case.

The Data Table seems to fit all of my needs. It's embedded in the worksheet. It doesn't have a fixed number of rows / columns. Adding / deleting rows/columns, and data to the table is relatively painless. In this format, I can extract the info out of the table using hlookup, vlookup, match, submatrix, etc. functions. I've got it set-up so that the order of the rows / columns and number of rows / columns doesn't matter

The only issue is that there doesn't appear to be a way to use a variable size table with a global definition operator.

Andrew Kelly wrote:

See attached (V11). The content in my example is a made-up case.

The Data Table seems to fit all of my needs. It's embedded in the worksheet. It doesn't have a fixed number of rows / columns. Adding / deleting rows/columns, and data to the table is relatively painless. In this format, I can extract the info out of the table using hlookup, vlookup, match, submatrix, etc. functions. I've got it set-up so that the order of the rows / columns and number of rows / columns doesn't matter

The only issue is that there doesn't appear to be a way to use a variable size table with a global definition operator.

From what you demonstrate, there is not much to understand of all those things you "WantToDo".

MCADdata_2.gif

You don't have a data table really, just a collection. You can create a collection of anything, any size, spool to file WRITEPRN, recall any component from the filed collection then extract at will from any component of the collection using a data extractor [a few lines general utility].

jmG

The example was intentionally obfuscated. If you refer to my original question, I wanted a way to turn the colon equals sign into a triple equals sign, so I could refer to "Data" above the point in the worksheet where it is defined.

I prefer not to use external files, if possible; I prefer to have the data behind "Data" embedded in the worksheet.

Does anyone have a way to get a triple equals sign (~) without using a matrix?

RichardJ
19-Tanzanite
(To:Andrewk2)

Does anyone have a way to get a triple equals sign (~) without using a matrix?

Sorry, but I think there really is no way to do this. The only thing that can be to the right of a global equals is a standard math region. The only such region that can hold mulitple numbers is a matrix. Data tables, Excel components, scripted components, etc, are not allowed.

MikeArmstrong
5-Regular Member
(To:Andrewk2)

Andrew Kelly wrote:

The example was intentionally obfuscated. If you refer to my original question, I wanted a way to turn the colon equals sign into a triple equals sign, so I could refer to "Data" above the point in the worksheet where it is defined.

I prefer not to use external files, if possible; I prefer to have the data behind "Data" embedded in the worksheet.

Does anyone have a way to get a triple equals sign (~) without using a matrix?

There is a workaround. You could either use a scripted component to collect the data from the table( Maybe a textbox at the top of the worksheet) or use an Embedded Excel component.

Mike

Here is an example of a Textbox scripted component.

Another collab's help with more experience in scritpting tjhan me is required. i want the textbox to be able to collect a range

There is a workaround. You could either use a scripted component to collect the data from the table

I thought about that. It actually works fine in version 11, but not so fine in later versions. The problem is that when you open the worksheet the data is not on the screen, and is therefore not calculated. Therefore you can't get it. So you have to scroll to the end of the worksheet or hit Ctrl F9. That still won't get the data though, because the component is executed before the data table. So you have to click on the button after hitting Ctrl F9. So much of a PITA I don't think it's much of a solution.

MikeArmstrong
5-Regular Member
(To:RichardJ)

Richard,

The push button seems to works fine. I just click the button and the data is collected.

Definanlty a workaround for me .

Mike

Which version are you using? I've forgotten.

MikeArmstrong
5-Regular Member
(To:RichardJ)

I'm using 14.0 because I cant risk letting the IT department touch my laptop while I'm away onsite.

I deleted one of the "push button" objects and the "Get Result" button seems to work fine, see attached worksheet.

Mike

Without hitting Ctrl F9 first? Strange, because it only works for me if I first hit Ctrl F9.

MikeArmstrong
5-Regular Member
(To:RichardJ)

Richard Jackson wrote:

Without hitting Ctrl F9 first? Strange, because it only works for me if I first hit Ctrl F9.

I have just checked and if the data is within the screen when I left click on the mouse the button works, otherwise Ctrl F9 is needed. Either way this isn't a major issue.

Cheers

Mike

Is there any way of using a data table with the global definition operator?


Check the attached. Isn't a data table like the mathcad table component but can help if the objective is using global assignations.

Regards. Alvaro.

MikeArmstrong
5-Regular Member
(To:AlvaroDíaz)

AlvaroDíaz wrote:

Is there any way of using a data table with the global definition operator?


Check the attached. Isn't a data table like the mathcad table component but can help if the objective is using global assignations.

Regards. Alvaro.

Alvaro,

I think Andrew was only asking to use the golden definition operator because he wants the table table to be at the bottom of his worksheet and then use the data above, which seems a little strange to me.

He could define his data in an Embedded Excel component and use the XL storage component which Tom created to called the data to the top of the worksheet or just use the example provided by Richard.

Mike

Even the Bogus array is an oddity, it is native from mathcad and accept global definitions. Isn't like the table input, but I know kids that can program better interfaces for input arrays than the mathcad table component. Also don't need to activate scripts if your security level is at medium, and not disturbe the monster (excel, with their macros, addons, someones trials or free but with messages).

RichardJ
19-Tanzanite
(To:AlvaroDíaz)

I know kids that can program better interfaces for input arrays than the mathcad table component.

I would agreee with that. You can find better grid controls that the Mathcad table component on the web, for free!

MikeArmstrong
5-Regular Member
(To:AlvaroDíaz)

Alvaro,

Sorry for my ignorance, but could you explain how you created the "Bogus Array"?

Mike

MIke Armstrong wrote:

Alvaro,

Sorry for my ignorance, but could you explain how you created the "Bogus Array"?

Mike

Your ignorance? What about mine? See

http://communities.ptc.com/message/91325

Have not idea about hou create it, just copy, paste and edit to have another.

Regards. Alvaro.

MikeArmstrong
5-Regular Member
(To:AlvaroDíaz)

Have not idea about hou create it, just copy, paste and edit to have another.

Regards. Alvaro.

Cheers.

Could be useful, defiantly worth documenting.

Mike

RichardJ
19-Tanzanite
(To:AlvaroDíaz)

Have not idea about hou create it, just copy, paste and edit to have another.

Define a range variable with the number of entries desired:

i:1;9

Type

a[i:,

As soon as you type the comma you will get the "bogus array" with some empty placeholders. To get more placeholders put the cursor on an empty one and type another comma.

MikeArmstrong
5-Regular Member
(To:RichardJ)

Cheers Richard.

It works - be perfect if columns could be added.

Any more secrect functions you would like to share?

Mike

Any more secrect functions you would like to share?

Not that I can think of. At least, not for 14. There were several threads about undocumented "features" in 11, but those features don't exist in 14. Which perhaps could serve as a lesson: don't use undocumented features unless there is absolutely no other way to achieve what is needed. Undocumented means unsupported, and unsupported means it may not exist in the next version!

Richard Jackson wrote:

Any more secrect functions you would like to share?

Not that I can think of. At least, not for 14. There were several threads about undocumented "features" in 11, but those features don't exist in 14. Which perhaps could serve as a lesson: don't use undocumented features unless there is absolutely no other way to achieve what is needed. Undocumented means unsupported, and unsupported means it may not exist in the next version!

Oh ! Richard,

Are you not confusing a bit between "undocumented" and "undemonstrated" ? Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated". Many work sheets have the for loop argument "iter" [undocumented], if that is dropped, the matter is to recode if dropped in next versions: a no-sense to me. I bet the "BogusArray" works in 14/15 . I have tried to apply for collecting long plotting arguments but it refuses to understand my demand. There may be another "BogusPlot" missing . Sorry but can't recollect where to find the "iter" in the for loop.

RichardJ
19-Tanzanite
(To:jeanGiraud)

Are you not confusing a bit between "undocumented" and "undemonstrated" ?

No. The meaning of "undocumented" is very clear. It means "not covered in the documentation".

Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated".

The Maple commands are a good example. They were undocumented because they were not supposed to be available. They were available only because of an oversight, and that oversight was removed in version 12. So any worksheet that relied on them stopped working.

I bet the "BogusArray" works in 14/15.

Yes, but it is not covered anywhere in the documentation. At least, not that I know of. Maybe it was documented at one time, but if it was then that must have been a very long time ago. So if you use it your worksheet may not work in the next version of Mathcad.

Richard Jackson wrote:

Are you not confusing a bit between "undocumented" and "undemonstrated" ?

No. The meaning of "undocumented" is very clear. It means "not covered in the documentation".

Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated".

The Maple commands are a good example. They were undocumented because they were not supposed to be available. They were available only because of an oversight, and that oversight was removed in version 12. So any worksheet that relied on them stopped working.

I bet the "BogusArray" works in 14/15.

Yes, but it is not covered anywhere in the documentation. At least, not that I know of. Maybe it was documented at one time, but if it was then that must have been a very long time ago. So if you use it your worksheet may not work in the next version of Mathcad.

You contradict your self a lot,

There is about no symbolic application in Mathcad 8 and 11 qs , but it has been used a lot by Mathsoft otherwise than in the list of functions. Example the PID qs . The BogusArray wasn't documented in 8 but used a lot in the 8 qs. About the Maple coding, do you mean only the symbolic drop down menu should have been available and what about the in-line menu and all these options ? And if a command line needs another gear available and another one and so on, each dependent coding has to work. To me there was a "gentleman agreement" between the two world top CAS designers Maple & Mathsoft, but cancelled by Maple when Mathcad switched ownership. The Mathcad 12 version you are referring is probably the version that Maple had returned to PTC, which version couldn't survive. The BogusArray is just a list to vector like stack converter, it does what HP is doing, but on screen.

RichardJ
19-Tanzanite
(To:jeanGiraud)

There is about no symbolic application in Mathcad 8 and 11 qs , but it has been used a lot by Mathsoft otherwise than in the list of functions. Example the PID qs . The BogusArray wasn't documented in 8 but used a lot in the 8 qs.

I looked, and version 8 didn't have the PID quicksheet. The PID quicksheet in version 11 does not contain any "bogus arrays".

About the Maple coding, do you mean only the symbolic drop down menu should have been available and what about the in-line menu and all these options ?

I was talking about the undocumented Maple functions such as numer and denom (which we got back in MC14, but were missing in MC12 and MC13).

Top Tags