So, I have a table where the key is a string combined from two other columns (port and carrier). For example port 0 and carrier 1 generates key 0_1.
In Visio I would like to link a shape to a parameter on a row with key value port_carrier, or port,carrier.
How to create variable port_carrier or filter parameter from two columns is my question? is this possible?
Hey Anna.
If I understand your question correctly, you want to link a shape to a parameter within the table. This can be done by adding Shape Data to the shape. The shape data should be looking like this.
You still need to fill in the "ParameterID" to the column you want to show and the "TableRowKey" to which row you want to show. The options part can be deleted.
If you want further information you can lookup the following link https://docs.dataminer.services/user-guide/Basic_Functionality/Visio/linking_shapes/Linking_a_shape_to_an_element_parameter.htm
If you want to show the whole column, you can add a shape and group this shape. Then add following shape data:
The PK is the ID of the primary Key column. The TABLEID is the ID of the table in the connector. And the DMAID/ELEMENTID can be filled dynamically by following sequence [element].
You can open then the Group Shape and create a new shape here and group it again. On this newly grouped shape you can add following shape data:
The PK needs to be the same ID as on the shape above.
Now you can dynamically create shapes in this group shape and link it with following Shape data to each column of the table. The columnID needs to be filled in.
Hope this helps, ofcourse everything mentioned here can also be checked in the help https://docs.dataminer.services/user-guide/Basic_Functionality/Visio/visio.html
Ok I think I understand where you want to go. When you have the key to the parameters Carrier and Port. You can use the above documentation to get your parameter. But instead of using “CARRIER_PORT” you use [param:DmaID/ElementID,ParameterID,TableKey]_[param:DmaID/ElementID,ParameterID,TableKey]. This generates the key for you. With the DMA/ELEMENTID similar as before [element] and ParameterID linked to the column where you find your Carrier or Port. The TableKey is than your link to these parameters. If I understood your comment well this is the user_id.
For an introductory course to the different placeholders and how they work, you can refer to our Visual Overview training lesson here: https://community.dataminer.services/courses/visio/lessons/creating-a-dynamic-visio-drawing/
Great! Thank you! That solved my problem.
Hey Anna if this helped you consider to tag it as solved so other people can use the answer when they have a similar question as you. Thank you in advance.
To get the right key, you can replace the '[tableindex]' in Joey's answer by 2 [param:...] placeholders. Let's assume your key is user_id and your columns containing the port and carrier have id 102 and 103. A single param placeholder can be built up as follows and outputs the value of your corresponding table cell: [param:<elementName or dmaID/eleID>,102,user_id]. The full Parameter shape data would then look something like this:
- ColumnID:[param:<element>,102,user_id]_[param:<element>,103,user_id]
The param placeholders will then be replaced by their corresponding values and the result of them should be your full key for your 3rd column and your eventual table cell.
Hope that helps. Remember that to debug your setup, it's always possible to pull your placeholders out of the shape data and put them directly in some shape text. This way you can debug where something is going wrong.
For an introductory course to the different placeholders and how they work, you can refer to our Visual Overview training lesson here: https://community.dataminer.services/courses/visio/lessons/creating-a-dynamic-visio-drawing/
Thank you for this information. It was very well explained. What I need to understand is how to generate this key value. Let me try to give an example. I am using a key value (user_id) to read a certain row from a table. Here I can find the two values port and carrier which I need to generate a new key to access a row in another table. The key value is port_carrier as a string. Either I must convert the values port and carrier to a string (port_carrier) or I must be able to find a row based on two columns port and carrier.