Visio Master Shape Data - dropdown from database - database

I have a seemingly straightforward Visio question that I am trying to find out if it is even possible to achieve:
Can I create a set of master shapes, with each master shape representing a type of 'thing', for example it could be that one shape represents a monitor and another a keyboard, another a mouse, and so on...and provide the user the ability to select the model / product code / sku or whatever as a shape data field (eg/ Prop.Make, Prop.Model, Prop.SKU and so on) with the data for the dropdown being provided from either a database or SharePoint list?
This way the user will always be able to fill in current information for a shape by selecting the particular 'thing' that it is from the database and the appropriate value options are shown to them to choose from.
Is anything like this possible? It would certainly help with some of the designs that need to be done by less experienced users.
Any help greatly appreciated.
The Frog

It is feasible, but requires some coding.
Key is to be able to connect to your DB (https://www.connectionstrings.com/), query it with a set of parameters that you would define, choose the right item from the set of returned rows, then populate the custom properties of your shape with this chosen item.
I hope you are proficient enough with a coding system (VBA, C#, ...) and the shapesheet. Otherwise you can use the solution suggested by Surrogate - choosing a row from a database table or query. But that is not exactly what you asked for.

If you use Visio 2010+ Professional edition (not Standard) you can use Data linking.

Related

Thought on creating a searchable database

I guess what I need is two things. First a way to input data into an Excel like application or a form builder, then a way to search those entries. For example.. CAR PART put a car Part A into Field 1 the next Field 2 would be car Type, followed by make and model. The fields would need to be made into a form consisting of preset inputs such as ( Title/Type ) and (Variable Categories) so a drop down menu, icons, or checkboxes would help narrow down the list of results. What pieces need to be in place to build/use a lightweight database/application design like this that allows inputting new information and then being able to search for latet search for variables? Also is there any application that does this already, a programming code to learn, or estimated cost and requirements to have it built?
First, there might be something off the shelf that does this already, and there are applications like this. Microsoft's Access would be a good place to start to see if it would fit your needs -- you can build forms and store data without much programming effort. As time goes on, you can scale up to a SQL Server.
It's not clear to me if your data is relational or not, and it might not matter much at first (any database will likely handle your queries to start). I originally thought your data was not relational, but re-reading your post, I'm not so sure now.
If that doesn't work, or you want more flexibility, then I'd start looking at NoSQL as an option. Some good choices include Mongo and RavenDB (there are many others).
You can program it yourself with just about any major language -- some provide more or less functionality based on the tie-in to the data.

Microsoft Access 2007 - Allow only certain values in attribute

I am incredibly new to Microsoft Access, and would really appreciate some help with this.
I am creating a database for a fictional estate agency, that deals with the selling of local property. The property is submitted into it's own relation, with an identifier and it's details. One of these details is it's postcode.
As the "company" deals exclusively with local properties, I need to find a way to only accept one of three values for the postcode:
AA1***
AA2***
AA3***
The asterisks are random values - I am not too concerned about validating the input against existing postcodes, merely wishing to only accept postcodes beginning with one of those three values.
A point in the right direction would be much appreciated!
In desin-mode of the table got to the properties of the field (in the lower part of the screen) - there you can set this.

Defining Related Fields for Presentation/Reporting from SSAS

I might be going down the wrong track here, but what I am after is some guidance on what to do for related data in SSAS.
What I am after is, when I create a cube I want to be able to use it for reporting/end users, but my dimension may have a product cube, but what is the appropriate way of bringing in other data like the Product Name, Description, Created Date, etc - information that you may not want to actually drill into, but is related to the axis that you're looking at.
I would need to show some of this information if I was reporting from it, but I can't seem to see a way, and most of the youtube videos, etc seem to go over the real basics on Adventureworks and that's it - so I'm not sure how this works in the real world.
So, in the end they can go into Excel/whatever, and see:
Product code Name Total Profit
Rather than just the code axis, and the profit.
It depends on how you want to see it. We typically call these types of fields "member properties". You create them by setting the AttributeHierarchyEnabled property to False. You use them in Excel as described here (works in Excel 2007 and Excel 2010):
http://blog.davyknuysen.be/2009/08/03/olap-reporting-with-excel-2007-use-member-properties/

How to design a database for User Defined Fields(UDF)?

I am working on an application which will require one or more additional fields to be added to a table in order to track user defined information. This additional info is only used for reporting purposes(Crystal Reports), and will have no effect on the behavior of the application. The data for this field is populated from an outside application.
What would be the best way to handle this additional information? Here are some options based off of other SO answers:
Entity-Attribute-Value (would this be overkill? Seems like there are many critics of EAV)
Add additional column to table (not sure how Entity Framework would like this)
Create a new Table for each UDF and use primary of parent table to link
If I understand the requirement correctly, you will need a datapoint to save information that would come from an external application and its structure is undefined at design time. if that is correct, then I would suggest using an xml datatype. by choosing this, you will not need to redesign your database in future when new key value pairs are inserted. Crystal reports should be easily able to include an xsl for this column.
Hope this help and good luck

How do I design a configurable checklist table for my database?

I am working on a database model and one of the areas I need to address is a client configurable checklist table(s). Ideally the client would have a set of predefined checklists that I could then enter as bit columns. Alas, this is not going to happen. The client wants the ability to add and group checklists so they are reusable.
I could go with an EAV type model and use strings for "true/false" but I've been down this road before and would rather not take that journey again.
Any thoughts or suggestions are welcome. Thanks.
"Client Configurable" almost always means EAV. EAV's store data fine... it's just getting the data back out that's the trick.
;-)
The other... somewhat-less objectionable approach is to make generic columns. Answer1 BIT, Answer2 BIT, Answer3...
If you do this, then make a table where you define the real names of the columns so that you could build the correct view for any given check list.
Say the first check list is
Gas in the tank?
Money in the Wallet?
Then store
CheckList_ID Answer_Number Column_Name
1 1 Tank has Gas
1 2 Wallet has Money.
Then the view would be:
SELECT Answer1 "Tank has Gas", Answer2 "Wallet has Money"
FROM Generic_Answer_Table
WHERE CheckList_ID = 1
It obvious how the view would be dynamically generated.
The downside is that if you include 10 columns they can't have more than 10 EVER.
XML is the other possibility and doesn't suffer that issue... however it's not quite as SQL friendly.
I'm thinking XML will be the best way to give them the control they seek along with keeping the check boxes dynamic. Maybe an XML file per page/section that contains all the custom check boxes. Whats good about XML is that its easy to work with and gives you great flexibility. At the database level just save the output of the check boxes as finalized data, just in case the check box source XML changes you will still see the originally selected values saved at the database level.
We're building http://tallyfy.com for such a purpose, although a direct relation between actions and your database table is something new.

Resources