locked
"Apply Rules" in Excel does nothing while "Publish" uses rule validation RRS feed

  • Question

  • I'm testing business rules and I have found that I cannot get a validation to fail in Excel 2010 when I add or change attributes in an entity and press the "Apply Rules" button. However, if I publish the data validation works as expected.

    How do I troubleshoot further so I can get "apply rules" to work?

    MDS 2012 running on 2008 R2 instance

    Thanks.

    Thursday, December 6, 2012 8:20 PM

Answers

  • Rules are applied on the server to published data.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Thursday, February 21, 2013 9:20 PM
  • Business rules run on the server, in SQL Server actually.  They do not run in Excel.  I've put a note in to clarify the that document to indicate that the validation occurs against published data.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Friday, February 22, 2013 10:56 PM
  • No.  The intent of the "Apply Rules" button on the Excel Add-In is to run business rules against the data saved in the model.

    Business Rules just don't run until the data is in the model, using any interface.  Business Rules are not there not keep invalid data from coming in to an MDS model.  They are there to define and orchestrate the process of mastering the data, and keep invalid data from going out. 

    It's understandable to want to define rules that prevent the entry of invalid data.  MDS Business Rules just don't do that, and so the MDS web UI and Excel Add-In don't either.  If you really need to validate data before entry in a particular scenario, you can build a custom form for data entry.  The MDSDataSourceControl in the MDSUtilities sample is intended to make this easy.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Monday, February 25, 2013 4:24 PM
  • I agree that this should be clearer. Please submit an issue and vote for it to suggest a Ui or doc change.

    david


    David http://blogs.msdn.com/b/dbrowne/

    Friday, April 12, 2013 12:42 AM

All replies

  • Did you resolve this?  I am having the same issue.

    Using MDS 2012 SP1 and SQL 2012 SP1 with Excel add-in version 11.0.2100.60.

    Thursday, February 21, 2013 8:56 PM
  • Rules are applied on the server to published data.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Thursday, February 21, 2013 9:20 PM
  • When you click the "Publish" it does properly evaluate.

    However, the Excel add-in has a button "Apply Rules" button, which is supposed to validate the sheet PRIOR to publish.  It does not appear to do anything.

    Please see:

    http://msdn.microsoft.com/en-us/library/hh479640.aspx

    Friday, February 22, 2013 1:32 PM
  • Business rules run on the server, in SQL Server actually.  They do not run in Excel.  I've put a note in to clarify the that document to indicate that the validation occurs against published data.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Friday, February 22, 2013 10:56 PM
  • Running the business rules on the server and not on the newly added/changed data isn't very helpful.

    Typically a user will want to apply the business rules to the newly added data BEFORE uploading. This is what users expect to happen. They don't want to upload data that will fail validation.

    Monday, February 25, 2013 2:45 PM
  • Yes, I realize the rules are run against the SQL Server/MDS server.  I believe the intent of the "Apply Rules" button on the Excel addin is to pre-verify against the rules, prior to publish.  This is what the documentation says, and what you can do in the MDS console.  However, it does not work.

    Monday, February 25, 2013 2:55 PM
  • No.  The intent of the "Apply Rules" button on the Excel Add-In is to run business rules against the data saved in the model.

    Business Rules just don't run until the data is in the model, using any interface.  Business Rules are not there not keep invalid data from coming in to an MDS model.  They are there to define and orchestrate the process of mastering the data, and keep invalid data from going out. 

    It's understandable to want to define rules that prevent the entry of invalid data.  MDS Business Rules just don't do that, and so the MDS web UI and Excel Add-In don't either.  If you really need to validate data before entry in a particular scenario, you can build a custom form for data entry.  The MDSDataSourceControl in the MDSUtilities sample is intended to make this easy.

    David


    David http://blogs.msdn.com/b/dbrowne/

    Monday, February 25, 2013 4:24 PM
  • Hi David,

    I understand the intent. All I'm saying is that end users naturally expect something different than what is provided. Not only is the button confusing to the end user, it's also not helpful.

    In what scenario would an end user, using the Excel interface, want to apply rules without publishing the data? Conversly, in what scenario would the end user want to publish data without applying business rules? The end user expects the business rules to be applied when the data is published. Every time.

    So another button that says "Apply Rules" is naturally assumed to mean "apply the rules to the data I haven't published yet".

    Is that more clear?

    Monday, February 25, 2013 4:33 PM
  • Ok.  I now understand my misunderstanding.

    The "Apply Rules" button validates the published data against the published business rules.  This really is only meaningful if the business rules have changed since the data was published, because creating new rules does not revalidate the published data conforms to the new/changed rules.

    I would suggest this button be changed to "Validate Published Data" or something.  That would make more sense.

    Tuesday, February 26, 2013 3:40 PM
  • No.  The intent of the "Apply Rules" button on the Excel Add-In is to run business rules against the data saved in the model.

    Business Rules just don't run until the data is in the model, using any interface.  Business Rules are not there not keep invalid data from coming in to an MDS model.  They are there to define and orchestrate the process of mastering the data, and keep invalid data from going out. 

    It's understandable to want to define rules that prevent the entry of invalid data.  MDS Business Rules just don't do that, and so the MDS web UI and Excel Add-In don't either.  If you really need to validate data before entry in a particular scenario, you can build a custom form for data entry.  The MDSDataSourceControl in the MDSUtilities sample is intended to make this easy.

    David


    David http://blogs.msdn.com/b/dbrowne/

    I agree with Labry. The name of the button is very misleading and the documentation doesn't have a very clear definition of what this button should do. 

    For most users, they would assume this Apply Rule button does a pre-validation before the publish. I suggest the DEVELOPMENT TEAM to review the usage of this function in Excel. 


    Thursday, April 11, 2013 10:31 PM
  • I agree that this should be clearer. Please submit an issue and vote for it to suggest a Ui or doc change.

    david


    David http://blogs.msdn.com/b/dbrowne/

    Friday, April 12, 2013 12:42 AM
  • Add one more to the "confused" list. I spent a couple hours trying to recreate entities/business rules after I experienced the same issue above and thought I wasn't setting things up correct. I faintly remember that a similar feature in performance Point Server (2007) would do exactly as everyone on this thread has been expecting: validate the data PRIOR to a successful publish.

    It seems to be the more desired behavior of this MDS Excel addin feature that what MDS Dev team has implemented.

    Monday, April 15, 2013 7:56 PM