小编mik*_*sey的帖子

SSRS - 在一个存储过程中返回多个查询

我正在尝试创建一个新的SSRS报告,该报告将返回并显示SQL Server存储过程的值.我将一个参数传递@clientID给存储过程.此参数用于3个不同的BEGIN/ END语句.每个BEGIN`END`语句接受参数并进行查询,返回特定数据.

当我创建SSRS报告时,我将数据源指向此存储过程,但仅返回第一个BEGIN/ END语句的结果集.如果我在SSMS中运行存储过程,我会得到3个不同的结果集,如预期的那样.

如何将这些3 BEGIN/ END结果集合并到一个报告中?

示例代码:

CREATE PROCEDURE pClientData (@clientID varchar(30))
AS

    DECLARE @Orders table (
            ...
            ); 

    DECLARE @Results table (
            ...
            );

    DECLARE @Status table (
            ...     
            );

    BEGIN
        SET NOCOUNT ON;

        -- Get all the orders by client
        INSERT INTO @Orders
        SELECT ...


        -- Return the results --
        SELECT *
        FROM @Orders;

    END

    BEGIN
        SET NOCOUNT ON;

        -- Determine the Results

        INSERT …
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures reporting-services

6
推荐指数
1
解决办法
1万
查看次数

Pandas Groupby - 命名聚合输出列

我有一个pandas groupby命令,如下所示:

df.groupby(['year', 'month'], as_index=False).agg({'users':sum})
Run Code Online (Sandbox Code Playgroud)

有没有办法可以agg在 groupby 命令期间将输出命名为“users”以外的名称?例如,如果我希望用户总数为total_users,该怎么办?我可以在 groupby 完成后重命名该列,但想知道是否还有其他方法。

python pandas

6
推荐指数
2
解决办法
5586
查看次数

加速从 pyodbc 插入 SQL Server

在 中python,我有一个从一个数据库 ( Redshiftvia psycopg2) 中选择数据的过程,然后将该数据插入SQL Server(via pyodbc)。我选择进行读/写而不是读/平面文件/加载,因为每天的行数约为 100,000。似乎更容易简单地连接和插入。但是 - 插入过程很慢,需要几分钟。

有没有更好的方法使用 Pyodbc 将数据插入 SQL Server?

select_cursor.execute(output_query)

done = False
rowcount = 0

while not done:
    rows = select_cursor.fetchmany(10000)

    insert_list = []

    if rows == []:
        done = True
        break

    for row in rows:
        rowcount += 1

        insert_params = (
            row[0], 
            row[1], 
            row[2]
            )

        insert_list.append(insert_params)            

    insert_cnxn = pyodbc.connect('''Connection Information''')

    insert_cursor = insert_cnxn.cursor()

    insert_cursor.executemany("""
        INSERT INTO Destination (AccountNumber, OrderDate, Value)
        VALUES (?, ?, ?) …
Run Code Online (Sandbox Code Playgroud)

python sql-server pyodbc

6
推荐指数
1
解决办法
2万
查看次数

熊猫合并不保持"开"栏

我正在尝试将两个数据帧合并pandas到一个公共列名称(orderid)上.结果数据帧(合并的数据帧)正在从第二个数据帧中删除orderid.根据文档,除非您明确告知不要,否则应保留"on"列.

import pandas as pd    
df = pd.DataFrame([[1,'a'], [2, 'b'], [3, 'c']], columns=['orderid', 'ordervalue'])
df['orderid'] = df['orderid'].astype(str)
df2 = pd.DataFrame([[1,200], [2, 300], [3, 400], [4,500]], columns=['orderid', 'ordervalue'])
df2['orderid'] = df2['orderid'].astype(str)
pd.merge(df, df2, on='orderid', how='outer', copy=True, suffixes=('_left', '_right'))
Run Code Online (Sandbox Code Playgroud)

哪个输出:

|      |orderid | ordervalue_left | ordervalue_right |
|------|--------|-----------------|------------------|
| 0    | 1      | a               | 200              |
| 1    | 2      | b               | 300              |
| 2    | 3      | c               | 400              |
| 3    | …
Run Code Online (Sandbox Code Playgroud)

python pandas

6
推荐指数
1
解决办法
255
查看次数

R - 从因子到数字或整数错误

我有一个数据框R,我从CSV文件加载.其中一个变量称为"金额",意味着包含正数和负数.

当我查看数据帧时,此变量的数据类型被列为一个因子,我需要它以数字格式(不确定哪种 - 但整数 - 数字,嗯......?).因此,我尝试将其转换为这两种格式中的一种,但看到了一些有趣的行为.

初始数据帧:

str(df)

Amount        : Factor w/ 11837 levels "","-1","-10",..: 2 2 1664 4 6290 6290 6290 6290 6290 6290 ...
Run Code Online (Sandbox Code Playgroud)

正如我上面提到的,当我尝试将其转换为数字或整数时,我看到了一些奇怪的东西.为了表明这一点,我把这个比较放在一起:

df2 <- data.frame(df$Amount, as.numeric(df$Amount), as.integer(df$Amount))

str(df2)
'data.frame':   2620276 obs. of  3 variables:
 $ df.Amount            : Factor w/ 11837 levels "","-1","-10",..: 2 2 1664 4 6290 6290 6290 6290 6290 6290 ...
 $ as.numeric.df.Amount.: num  2 2 1664 4 6290 ...
 $ as.integer.df.Amount.: int  2 2 1664 4 6290 6290 6290 6290 …
Run Code Online (Sandbox Code Playgroud)

r

5
推荐指数
2
解决办法
1万
查看次数

适当的Unix(.profile,.bash_profile)会改变Python的用法

Python一般都是编程的新手.我是一个新手,不参与编程,只是想自学如何编程作为一种爱好.在此之前Python,我曾与我合作过Ruby一段时间,我了解到最大的挑战之一是实际上正确设置了我的电脑.

背景:我使用的是OSX 10.7的Macbook.

有了Ruby,你必须(或者更确切地说,你应该),编辑你的./profile并添加PATH信息.安装和使用时RVM,您需要添加其他项目bash_profile.

你必须做出类似的改变Python吗?我正在安装/开始确保可以正确安装模块和软件包的最佳实践是什么?

python profile .bash-profile

5
推荐指数
1
解决办法
393
查看次数

如何从PYODBC返回错误

我正在建立连接SQL Server以执行存储过程."轮询"服务器以确定存储过程是否成功运行或者如果SP花费超过60秒/ 3600秒等时返回错误的正确方法是什么?

import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server}; SERVER=ServerName; PORT=1433;DATABASE=dbname;UID=%s;PWD=%s'  % (username, password))
cnxn.execute("EXECUTE msdb.dbo.sp_start_job 'TestSP'")
<pyodbc.Cursor object at 0x0000000002D6DDB0>
Run Code Online (Sandbox Code Playgroud)

如何确定SP的状态?

python pyodbc

5
推荐指数
1
解决办法
5152
查看次数

在R中对多个变量进行分组

我是一个强大的excel数据透视表用户,正在强迫自己学习R.我确切知道如何在excel中进行这种分析,但无法找出在R中编码的正确方法.

我试图通过2个不同的变量对用户数据进行分组,同时将变量分组到范围(或容器)中,然后汇总其他变量.

以下是数据的样子:

userid  visits  posts   revenue
1       25      0       25
2       2       2       0
3       86      7       8
4       128     24      94
5       30      5       18
…       …       …        …
280000  80      10      100
280001  42      4       25
280002  31      8       17
Run Code Online (Sandbox Code Playgroud)

这是我试图让输出看起来像:

VisitRange  PostRange   # of Users  Total Revenue   Average Revenue
0           0           X            Y              Z
1-10        0           X   Y   Z
11-20       0           X   Y   Z
21-30       0           X   Y   Z
31-40       0           X   Y   Z
41-50       0 …
Run Code Online (Sandbox Code Playgroud)

excel pivot-table r plyr

4
推荐指数
1
解决办法
1876
查看次数

未找到路径 - 通过VMWare Fusion将BULK插入SQL Server

我的机器是macbook pro.但是,我公司的数据是在SQL Server中.为了访问它,我需要使用VMWare Fusion在Windows XP上运行SQL Server Management Studio 2008.

当我尝试运行批量导入(通过SQLAuthority.com的说明)时,我收到此错误:

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "H:\test.CSV" could not be opened. Operating system error code 3(The system cannot find the path specified.).
Run Code Online (Sandbox Code Playgroud)

我正在处理3个不同的文件位置,但它们都不起作用.

  1. 我的Mac存储 - "/Users/Admin/Documents/test.CSV"
  2. 我的Windows XP存储 - 我的"C:"驱动器."C:\ test.CSV"
  3. 我公司的网络位置 - 通过Windows XP映射到"H:"驱动器."H:\ test.CSV"

将脚本更改为指向所有这些位置会提供相同的错误消息.

有关如何克服这个问题的任何想法?目前,我唯一的选择是使用SQL Server导入/导出工具,但设置每个导入需要一段时间.脚本更快.

sql-server filesystems windows-xp vmware-fusion

4
推荐指数
1
解决办法
1万
查看次数

使用as.factor而不是plyr和ddply来对R中的变量进行分组?

抱歉,这是一个经验丰富的R用户会知道的东西,但我刚刚遇到这个问题并想询问正确的用法.

似乎可以通过使用来对变量的范围进行分类as.factor.所以,我可以将观察分组到一个范围内.例如,如果我正在查看用户的访问,则看起来我可以编写if/then语句来按用户访问的范围对用户进行分区,然后根据组获取摘要统计信息.

以下是我了解到这一点的链接:http://programming-r-pro-bro.blogspot.com/2011/10/modelling-with-r-part-2.html

现在,虽然这个函数看起来比使用plyr和分组数据更容易ddply,但它看起来不够强大,无法将变量分解为X个二进制数(例如十分位数) - 你必须自己做.

这导致了我的问题 - 对于数据分组是一个比另一个好,还是有很多方法可以解决这样的分组问题?

谢谢

r plyr

3
推荐指数
1
解决办法
441
查看次数