Mostrando entradas con la etiqueta SQL SERVER 2008. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL SERVER 2008. Mostrar todas las entradas

jueves, 16 de julio de 2015

permisos para usar Debugger sql error SQL Debugging: Unable to start T-SQL Debugging. Could not attach to SQL Server process

Cuando no puedes usar el debugger de SQL  necesitas agregar este query en MSSQL. para poder tener permisos de sysadmin en security. SQL SERVER 2008

sp_addsrvrolemember 'Domain\Name', 'sysadmin'
 
habilitar puerto TCP 135.

jueves, 5 de marzo de 2015

ejemplo funcion lookup reporting services

para poder comparar la información dentro de dos bases de datos diferentes sin tener que utilizar un stored procedure en alguna de las dos bases de datos se puede utilizar La función LOOKUP.

esta función es muy buena cuando necesitas por ejemplo de una base enlazar a la información de otra base de datos.

la sintaxis es la siguiente:

Lookup(source_expression, destination_expression, result_expression, dataset)
Sus parámetros corresponden:


source_expression
(Variant) Una expresión que se evalúa en el ámbito actual y que especifica el nombre o la clave que se buscará. Por ejemplo, =Fields!ProdID.Value.
destination_expression
(Variant) Una expresión que se evalúa para cada fila de un conjunto de datos y que especifica el nombre o la clave que se hará coincidir. Por ejemplo, =Fields!ProductID.Value.
result_expression
(Variant) Una expresión que se evalúa para la fila del conjunto de datos donde source_expression = destination_expression y que especifica el valor que se recuperará. Por ejemplo, =Fields!ProductName.Value.
dataset
Una constante que especifica el nombre de un conjunto de datos del informe. Por ejemplo, "Productos".

 el ejemplo es que cuando quiero comparar las ventas que extraigo de una base de datos ajena a la base de datos contable quiero comparar que todo sea correcto.

las líneas blancas y las líneas rojas son diferentes bases de datos, los dataset están del lado izquierdo.

de hecho comparo tres bases de datos, para esto también verifico el scope o el agrupado del matrix de cada uno de ellos.
las expresiones quedan así.

=IIF(Fields!empresa.Value="CD0",Lookup(Fields!Tienda.Value,Fields!TIENDA.Value, Fields!DocTotalFC.Value, "cadacad"),Lookup(Fields!Tienda.Value,Fields!TIENDA.Value,Fields!DocTotalFC.Value, "cajaadv"))

en mi primer nivel esta la empresa, en el segundo es es la tienda.

Me funciono perfecto únicamente que ya a nivel de detalle tendría que tener otra consulta para hacerlo línea por línea el lookup.


Espero que este ejemplo le pueda servir a alguien.


 

miércoles, 3 de diciembre de 2014

RUNNING VALUE EJEMPLO acumulado reporting services 2008

Me surgio el problema de querer hacer un reporte de antigüedad de saldo de proveedores.

la respuesta fue utilizar la función runningvalue, esta funciona va generando el acumulado cuando tu ingresas los siguientes parámetros.

=RunningValue(Fields!Cost.Value, Sum, Nothing), en mi caso  lo que deseaba es que desde el valor de otro dataset me diera la sumatoria acumulativa del saldo en la fecha que indicaba el renglón.

para esto la variable del primer dataset lo colgué como text.

=Sum(Fields!saldo.Value, "DataSet1")

y enseguida
=reportitems!Textbox1.Value+runningvalue(fields!Saldo_Total.Value,sum,nothing) jalo el valor del textbox y lo voy sumando al valor sumado actual.


runninvalue no se puede usar con ordenación o filtros en el reporte, esta es una condicionante.