<?xml version="1.0"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Agrupar por Count() y Sum()</Title>
      <Author>Microsoft Corporation</Author>
      <Description>Crea una consulta que agrupa resultados y devuelve un recuento de los elementos de cada grupo y la suma de un campo especificado.</Description>
      <Shortcut>qGroupSum</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
         <Literal>
          <ID>queryResult</ID>
          <Type>item</Type>
          <ToolTip>Reemplazar por el identificador de la consulta.</ToolTip>
          <Default>query</Default>
        </Literal>
        <Literal>
          <ID>item</ID>
          <Type>item</Type>
          <ToolTip>Reemplazar por el identificador de la variable que representa un elemento del origen de datos.</ToolTip>
          <Default>fruit</Default>
        </Literal>
        <Literal>
          <ID>dataSource</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el identificador del origen de datos.</ToolTip>
          <Default>New String() {"apple", "orange", "pear", "banana"}</Default>
        </Literal>
        <Literal>
          <ID>field</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el nombre del campo usado para agrupar los resultados.</ToolTip>
          <Default>Length</Default>
       </Literal>
        <Literal>
          <ID>groupName</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el alias que se dará al grupo.</ToolTip>
          <Default>CharCount</Default>
        </Literal>
        <Literal>
          <ID>aggregateName</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el alias que se dará al primer agregado.</ToolTip>
          <Default>FruitCount</Default>
        </Literal>
        <Literal>
          <ID>aggregateName2</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el alias que se dará al primer agregado.</ToolTip>
          <Default>TotalCharCount</Default>
        </Literal>
        <Literal>
          <ID>groupingCondition</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el primer agregador al que se llamará en el grupo.</ToolTip>
          <Default>Count</Default>
        </Literal>
        <Literal>
          <ID>groupingCondition2</ID>
          <Type>String</Type>
          <ToolTip>Reemplazar por el segundo agregador al que se llamará en el grupo.</ToolTip>
          <Default>Sum</Default>
        </Literal>
      </Declarations>
      <Code Language="VB" Kind="method body"><![CDATA[Dim $queryResult$ = From $item$ In $dataSource$ _
                  Group By $groupName$ = $item$.$field$ _
                  Into $aggregateName$ = $groupingCondition$(), $aggregateName2$ = $groupingCondition2$($item$.$field$) _
                  Select $aggregateName$, $groupName$, $aggregateName2$ _
                  Order By $aggregateName$ Descending, $groupName$]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
