MDS业务规则

时间:2014-02-11 10:34:51

标签: ssis master-data-services

我是MDS的新手,我对MDS中的一对多关系映射有疑问

我有一个产品,包含多种语言的说明。我创建了两个派生层次结构的实体:product(P_ID,P_name)和Addtional description(P_ID,P_Name_in_German,P_name_in_English)。

添加个人描述是从MDS UI的产品表下拉,但我只想填充与其相同的P_ID相关的信息。我怎样才能做到这一点?我可以在这里使用业务规则以及它应该是什么样子的吗?

(2012年主数据服务'网络界面)

3 个答案:

答案 0 :(得分:0)

你错过了什么。您说您有一个派生的层次结构,但是您没有在附加描述实体上显示基于域的属性,并且指针返回到Product实体。也许您认为附加描述的P_ID是指针,但它不是(基于您的解释)。它是“附加描述”实体的实体代码标识符,而不是指向“产品”所需的密钥。也许你的意思是一对一。一对多意味着您将单独的Parent_P_ID返回到Product实体。

将基于域的Parent_P_ID属性添加到“附加描述”实体,然后重新构建派生的层次结构。这可能没那么有用,因为我认为你已经从你想要做的事情的解释中留下了一些东西。

答案 1 :(得分:0)

我也遇到过类似的问题。我决定为语言添加多个字段并为它们应用业务规则。让我们看看它对你的实体是如何起作用的:

Product entity
{
  Code
  Name
  Name_in_English (text)
  Name_in_German (text)
  Default_language (domain based, points to Languages entity)
}
Languages entity
{
  Code
  Name
}

向Languages实体添加值:

Code = "EN", Mane = "EN"
Code = "DE", name = "DE"

现在我们需要将以下业务规则添加到Product实体:

BR1:
{
  IF Condition - Equals: Default_language equals "EN"
  THEN Action - Change value: Name = Name_in_English
}
BR2:
{
  IF Condition - Equals: Default_language equals "DE"
  THEN Action - Change value: Name = Name_in_German
}

之后您将只能以适当的语言在产品实体中看到产品名称,该语言由下拉字段Default_language选择。

第二种选择: 如果您希望用户只看到“名称”字段,并且不希望他看到其他字段, 您可以通过将其宽度设置为零来隐藏这些字段(Name_in_English和Name_in_German)。 此外,您可以使用属性组分隔两种视图模式:

first mode (for the regular user) - You see only Code and Name
second mode (for the administrator) - You see fields: Name_in_English, Name_in_German, Default_language.

使其工作您需要创建两个属性组:

1) attribute group "EN" (add attributes Name and Code to the group)
2) attribute group "DE" (add attributes Name_in_English, Name_in_German, Default_language to the group)

希望有些有用!

答案 2 :(得分:0)

嗨Cocunuts,             我们无法在MDS 2012中将派生层次结构分配给实体,但我们可以在MDS 2016中实现此目标,在MDS 2012中无法进一步过滤基于域的属性(下拉列表)。

相关问题