我正在尝试创建一个新的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) 我有一个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,我有一个从一个数据库 ( 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) 我正在尝试将两个数据帧合并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) 我有一个数据框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) 我Python一般都是编程的新手.我是一个新手,不参与编程,只是想自学如何编程作为一种爱好.在此之前Python,我曾与我合作过Ruby一段时间,我了解到最大的挑战之一是实际上正确设置了我的电脑.
背景:我使用的是OSX 10.7的Macbook.
有了Ruby,你必须(或者更确切地说,你应该),编辑你的./profile并添加PATH信息.安装和使用时RVM,您需要添加其他项目bash_profile.
你必须做出类似的改变Python吗?我正在安装/开始确保可以正确安装模块和软件包的最佳实践是什么?
我正在建立连接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的状态?
我是一个强大的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) 我的机器是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个不同的文件位置,但它们都不起作用.
将脚本更改为指向所有这些位置会提供相同的错误消息.
有关如何克服这个问题的任何想法?目前,我唯一的选择是使用SQL Server导入/导出工具,但设置每个导入需要一段时间.脚本更快.
抱歉,这是一个经验丰富的R用户会知道的东西,但我刚刚遇到这个问题并想询问正确的用法.
似乎可以通过使用来对变量的范围进行分类as.factor.所以,我可以将观察分组到一个范围内.例如,如果我正在查看用户的访问,则看起来我可以编写if/then语句来按用户访问的范围对用户进行分区,然后根据组获取摘要统计信息.
以下是我了解到这一点的链接:http://programming-r-pro-bro.blogspot.com/2011/10/modelling-with-r-part-2.html
现在,虽然这个函数看起来比使用plyr和分组数据更容易ddply,但它看起来不够强大,无法将变量分解为X个二进制数(例如十分位数) - 你必须自己做.
这导致了我的问题 - 对于数据分组是一个比另一个好,还是有很多方法可以解决这样的分组问题?
谢谢
python ×5
r ×3
sql-server ×3
pandas ×2
plyr ×2
pyodbc ×2
excel ×1
filesystems ×1
pivot-table ×1
profile ×1
windows-xp ×1