Lição 9: Especificando uma entidade de pesquisa

Algumas entidades podem conter somente um atributo de interesse dos indivíduos que criam relatórios. Por exemplo, o atributo Name é provavelmente o único que interessa aos usuários do Construtor de Relatórios na entidade Product SubCategory. Em vez de exigir que os usuários do modelo naveguem até a entidade que contém o atributo sempre que desejarem adicioná-lo aos seus relatórios, você poderá transformar a função em entidade de pesquisa. Quando uma função é transformada em entidade de pesquisa, o atributo de identificação aparece como um campo dentro da entidade pai. Por exemplo, se a entidade Product SubCategory for transformada em entidade de pesquisa, o atributo Product SubCategory Name aparecerá como um campo da entidade Product para os usuários do Construtor de Relatórios, em vez de uma função.

Em geral, é útil transformar uma função em entidade de pesquisa quando suas informações estão em formato hierárquico. Por exemplo, se você tiver entidades distintas para City e State/Province, e State/Province for uma função da entidade City, você poderá tornar a função State/Province uma entidade de pesquisa para que ela apareça como um campo dentro da entidade City. Além disso, se a entidade Country for uma função para a entidade State/Province, você poderá marcar a função Country como uma entidade de pesquisa e, em seguida, elevá-la de forma que também seja tratada como uma entidade de pesquisa e apareça na entidade City como um campo para os usuários do Construtor de Relatórios. Desnormalizar uma hierarquia é um termo de modelagem comum para essa ação.

As entidades a serem usadas como entidades de pesquisa podem ter somente um atributo especificado na propriedade IdentifyingAttribute. Um atributo de identificação identifica de forma exclusiva a entidade, por exemplo, o atributo Product Category Name identifica de forma exclusiva cada categoria de produto. O atributo especificado como atributo de identificação é aquele que aparece na entidade pai quando ela é transformada em entidade de pesquisa.

Para transformar uma entidade em entidade de pesquisa, altere a propriedade IsLookup para True. Para transformar uma cadeia hierárquica de entidades em entidades de pesquisa, você também precisa definir a propriedade PromoteLookup como True. Por exemplo, vamos supor que a função Country seja uma entidade de pesquisa na entidade State/Province, e agora você quer que a função Country apareça como um campo na entidade City. Você também especificaria True para a propriedade PromoteLookup na função Country da entidade State. Nesta lição, você irá alterar a função Product Subcategory de forma que ela seja uma entidade de pesquisa da entidade Product e, em seguida, tornar a função Product Category uma pesquisa da entidade Product Subcategory e elevar a função de forma que ela também apareça como um campo na entidade Product.

Para especificar uma entidade de pesquisa

  1. Volte ao modelo AdventureWorks2008R2 na janela SQL Server Business Intelligence Development Studio.

  2. Na exibição de árvore, expanda a pasta Detalhes do Produto.

  3. Selecione a entidade Product Subcategory.

    A entidade Product Subcategory possui somente um IdentifyingAttribute: o campo Name. Uma entidade de pesquisa pode ter somente um IdentifyingAttribute.

  4. Na janela Propriedades, localize a propriedade IsLookup e selecione True.

    Quando o modelo de relatório for implantado, a entidade Product Subcategory aparecerá como um campo dentro da entidade Product.

Para elevar uma entidade a entidade de pesquisa

  1. Na exibição de árvore, selecione a entidade Product Category.

  2. Na janela Propriedades, localize a propriedade IsLookup e selecione True.

  3. Na exibição de árvore, selecione a entidade Product Subcategory.

  4. Na exibição de lista, selecione a função Product Category.

  5. Na janela Propriedades, localize a propriedade PromoteLookup e selecione True.

    A definição dessa propriedade eleva a entidade de pesquisa Product Category de forma que ela também apareça como um atributo na entidade Product.

Para reorganizar os atributos dentro de uma entidade

  1. Na exibição de árvore, selecione a entidade Product.

  2. Na exibição de lista, clique com o botão direito na entidade Product Subcategory e selecione Mover para cima.

  3. Clique em Mover para cima até a entidade Product Subcategory aparecer abaixo do atributo Name.

  4. No menu Arquivo, clique em Salvar Tudo.

Próximas etapas

Agora, os usuários não precisam navegar até a entidade Product Category ou Product Subcategory para localizar os nomes de categoria ou subcategoria. Em vez disso, cada entidade aparece como um campo na entidade Product, que o usuário pode adicionar ao seu relatório como qualquer outro campo.

Na próxima lição, você irá alterar as propriedades de uma entidade de forma que ela herde os campos de outra entidade. Consulte Lição 10: Herdando propriedades de outras entidades.