on 08-06-2013 12:03 PM
Hi all,
i have the following exceltable:
Indexnumber | Indexname | Field | Aufsteigend |
1 | TBAW0666TESTTAB.IXAW066601TESTTAB | PK | X |
2 | TBAW0666TESTTAB.IXAW066602TESTTAB | TBAW0666TESTTAB.PK | X |
2 | TBAW0666TESTTAB.IXAW066602TESTTAB | TBAW0666TESTTAB.FELD2 | X |
2 | TBAW0666TESTTAB.IXAW066602TESTTAB | TBAW0666TESTTAB.FELD3 | X |
2 | TBAW0666TESTTAB.IXAW066602TESTTAB | TBAW0666TESTTAB.GUELTIG_AB | |
3 | TBAW0666TESTTAB.IXAW066603TESTTAB | FELD1 | X |
3 | TBAW0666TESTTAB.IXAW066603TESTTAB | GUELTIG_AB | X |
And the following importdefinition:
Table Indexdefinitionen=Table.Index.IndexColumn: Indexnumber=Comment, Indexname=<Parent>, Field=Column, Aufsteigend=Ascending
The 3 indexes are created, but not the indexcolumns, i tried both versions of fieldnames with tablename and without, i also switched on and of the option "create object if not exists", but no results, do i try to bind the field to the wrong object/collection within Table.IndexColumn?
Thanks for any advice
Was there a solution which does not need VBA? I am in the
process of importing metadata from various sources and having a major issue.
Should I be submitting this as a bug?
I really do not feel like doing VBA programming again…
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Well, I have the xem, and it is supposed to fix the bug, 759001. so I must be doing something wrong when I try to import the index columns.
I am assuming that the first decision is to import the sheet as table.index.index.column.
I am not sure of what information I should need to complete the import. I have a spreadsheet with the column name, a class name of index column, sort, the index name and the column name again.
Any ideas on how to put this together into an import of index columns?
Hi
It is working for me with a tab for Table.index containing Parent (being the table), index code and index name.
And a tab Table.Index.Index.Column containing Parent (being the qualified name of the index : Table.Index) and COlumn (being teh qulified name of teh column : Table.column), and Ascending
I am using the code to refer to objects and I have changed the options accordingly
veronique
I am sooo close.
My import is adding column elements of the index, but it is not finding my table columns.
Here is what I have for import. The index already exists. The index column contains the code values for the table and column
Parent | Index.Column | Sort |
Business CLIENT Account Number.IX_BUS CLIENT ACCT NBR_1 | BUS_CLIENT_ACCT_NBR.ACCT_NBR | Ascending |
Business CLIENT Account Number.IX_BUS CLIENT ACCT NBR_1 | BUS_CLIENT_ACCT_NBR.ABA_ROUTE_NBR | Ascending |
When I import these values, using parent for parent, code terms, table column for index column and sort for sort, I get these warnings. The table and columns exist, I cut and pasted the values from the model.
Opening document \\stuff\performance_indexes_001.xlsx
Importing data from table Table.Index.Index.Column
Error: Could not find object location with Name = BUS_CLIENT_ACCT_NBR.ACCT_NBR under Physical Data Model 'IBP Master PDM 140422'
Error: Could not find object location with Name = BUS_CLIENT_ACCT_NBR.ABA_ROUTE_NBR under Physical Data Model 'IBP Master PDM 140422'
2 object(s) created
Closing document performance_indexes_001.xlsx
The import of \\stuff\performance_indexes_001.xlsx is complete
and 2 objects have been created.
2 warning(s) have been logged in the output window.
Any advice?
On Table.Index.Index.Column tab, Parent should contain the index qualified (table.index) and the Index.column should contain the Column of the index qualified also (table.column).
Usually they start by the same string, as Table is used in both qualified name of index and qualified name of column
this is not the case in your example....
Depending on your matching choice (name or code) you should change one or the other
veronique
hi, I recently downloaded a trial version of PowerDesigner 16.5 and have been attempting to load index columns using excelimport.xem and have been unable to get it to work. I have a tab called Table.Index with columns Parent, Name, Code, Comment, Unique that successfully imports the Indexes however I also have a tab called Table.Index.Index Column with columns Parent, Column and Sort that does not work. The Parent contains Table.Index Name and Column contains Table.Column Name. I am matching on name.
During the import the dialog for matching on Column successfully matches the Column Attribute but also shows Object: <None> below. Am I supposed to change this to be Table.Index.Index Column? I have tried this but it doesn't seem to help.
I noticed that the version of ExcelImport.xem has a last update date of 1/8/2013 yet the thread here seems to indicate there have been changes since then. Is there a more current version that I should be using?
thanks for any help.
I have found that when importing into a model from a spreadsheet, less is more. The more columns you are importing, the more likely it is that something will fail. My spreadsheet has 2 columns. Column 1 is the parent, which is the table index, identified as <table name>.<index name> and column 2 is the table column, identified as <table name>.<table column>.
When importing, the column parent is identified as parent, and the column is identified as type column, with sub-type of table column from the drop down.
This will associate table columns with the index. I let the default sort value of ascending stay unless I need to change it in the model.
really no-one has an idea with this ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dirk,
I ran into this when I scripted an excel imprt. Here is a snippet of code that might help:
Dim CopyIndxCol
Dim Indx
Dim IndxCol
Dim CpyCol
For each CopyIndx in CopyTab.indexes
Set Indx = Tab.CreateObject(PdPDM.cls_Index)
Indx.Name = CopyIndx.Name
Indx.Code = CopyIndx.Code
Indx.Type = CopyIndx.Type
For each CopyIndxCol in CopyIndx.columns
For each CpyCol in Tab.Columns
If CopyIndxCol.name = CpyCol.name Then
Set IndxCol = Indx.createobject(PdPDM.cls_IndexColumn)
Set IndxCol.Column = CpyCol
End If
Next
Next
Next
The key here is bold lines. The index column object contains a link to the table column. I'm not sure how to make this happen in an excel import. Of course I tend to default to vb scripting rather than try to use the imports.
Tim
User | Count |
---|---|
87 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.