SP 运行非常缓慢。当我查看执行计划时 - 我可以看到其成本的 83% 用于Nested Loops (Inner Join)

有没有机会以某种方式替代它?
这是我的 SP
ALTER PROCEDURE [dbo].[EarningPlazaCommercial]
@State varchar(50),
@StartDate datetime,
@EndDate datetime,
@AsOfDate datetime,
@ClassCode nvarchar(max),
@Coverage varchar(100)
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE #PolicyNumbers (PolicyNumber varchar(50))
INSERT INTO #PolicyNumbers SELECT PolicyNumber FROM tblClassCodesPlazaCommercial T1
WHERE NOT EXISTS (
SELECT 1 FROM tblClassCodesPlazaCommercial T2
WHERE T1.PolicyNumber = T2.PolicyNumber
AND ClassCode IN
(SELECT * FROM [dbo].[StringOfStringsToTable](@ClassCode,','))
)
CREATE CLUSTERED INDEX IDX_C_PolicyNumbers_PolicyNumber ON #PolicyNumbers(PolicyNumber)
; WITH Earned_to_date AS (
SELECT Cast(@AsOfDate …Run Code Online (Sandbox Code Playgroud) 我试图以稍微不同的方式连接到SQL数据库:使用和不使用参数.为什么不使用参数工作正常,但使用参数 - 给我一个错误.我是否出现语法错误?我浏览了每个字母,看不到任何东西.
import pandas as pd
import pyodbc
#parameters:
server = 'SQLDEV'
db = 'MEJAMES'
#Create the connection
conn = pyodbc.connect('DRIVER={SQL Server};server =' + server + ';DATABASE = ' + db + ';Trusted_Connection=yes;')
# query db
sql = """
select top 10 PolicyNumber, QuoteID, ProducerName from tblQuotes
"""
df = pd.read_sql(sql,conn)
df
Run Code Online (Sandbox Code Playgroud)
但如果我做同样但不使用参数,那么它工作正常:
import pandas as pd
import pyodbc
#parameters:
#server = 'SQLDEV'
#db = 'MEJAMES'
#Create the connection
conn = pyodbc.connect("DRIVER={SQL Server};server=SQLDEV;database=MEJAMES;Trusted_Connection=yes;")
# query db
sql = …Run Code Online (Sandbox Code Playgroud) 我想创建一个切换按钮,用于更改查看报告的日期(按会计日期或生效日期).
目前,我按会计日期按生效日期和非活动关系存在活跃关系.
使用USERELATIONSHIP函数我能够在两个日期之前传递数据:
Total Premium by AccDate =
CALCULATE( Sum(Premiums[Premium]),
USERELATIONSHIP(Premiums[AccountingDate], Dates[Date]))
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,如何放置一个按钮(开关),以便最终用户只需点击该按钮(无论是生效日期还是会计日期),所有视觉效果都会根据开关显示数据?
我需要使用书签吗?或者还有其他一些技巧?
我知道这是一个普遍的问题,但是我仍然没有找到解决方案。我需要使用SSIS将数据从SQL Server 2012导出到Excel目标。
列之一的值将超过255个字符长,因此Excel中的单元格也必须接受超过255个字符。
这就是为什么我会出错。
我将注册表项更改为0,但仍然无法正常工作。
我试图在Excel中创建一个虚拟列,但是数据看起来很奇怪。
还有其他我不知道的解决方案吗?
我有三种不同的CTE结果,我需要互相左右联合:
主表@Policies包含所有VehiclePolicyLimitsID值:
@LiabilityPremium:
@HiredPremium:
作为一个例子,我将CTE的结果模仿成3个表变量:
declare @Policies table (VehiclePolicyLimitsID int)
insert into @Policies values (2101891),
(2101892),
(2101893),
(2101894),
(2119235),
(2119236),
(2119237),
(2119238),
(2190860),
(2190861),
(2190862),
(2190863)
--select * from @Policies
declare @LiabilityPremium table (Quoteid int, ClassCode int, VehiclePolicyLimitsID int, LiabilityPremium money)
insert into @LiabilityPremium values (728436,3199,2101892,1723),
(728436, 23199,2101893,1855),
(728436,68199,2101894,133),
(741626,3199,2119236,0),
(741626,23199,2119237,0),
(741626,68199,2119238,0),
(774168,3199,2190861,0),
(774168,23199,2190862,0),
(774168,68199,2190863,0)
--select * from @LiabilityPremium
declare @HiredPremium table (Quoteid int, ClassCode int, VehiclePolicyLimitsID int, LiabilityPremium money)
insert into @HiredPremium values …Run Code Online (Sandbox Code Playgroud) 我想使用CROSS APPLY来UNPIVOT多列.
列CGL, CPL, EO应该变为Coverage Type,值CGL, CPL, EO应该在列中Premium,值CGLTria,CPLTria,EOTria应该在列中Tria Premium
declare @TestDate table (
QuoteGUID varchar(8000),
CGL money,
CGLTria money,
CPL money,
CPLTria money,
EO money,
EOTria money
)
INSERT INTO @TestDate (QuoteGUID, CGL, CGLTria, CPL, CPLTria, EO, EOTria)
VALUES ('2D62B895-92B7-4A76-86AF-00138C5C8540', 2000, 160, 674, 54, 341, 0),
('BE7F9483-174F-4238-8931-00D09F99F398', 0, 0, 3238, 259, 0, 0),
('BECFB9D8-D668-4C06-9971-0108A15E1EC2', 0, 0, 0, 0, 0, 0)
SELECT * FROM @TestDate
Run Code Online (Sandbox Code Playgroud)
输出:
结果应该是这样的:
如何在 Power BI Desktop 的标签上放置标题?类似于下面的图片:
标题的对齐方式只能是左对齐、右对齐或居中对齐。
减少卡片大小将减少整个盒子本身:
我只是想提交与这里相同的报告:https : //app.powerbi.com/view?r=eyJrIjoiMjc2NzExODItMjNhYy00ZWMxLWI2NGItYjFiNWMzYzUzMzhlIiwidCI6IjU3NGMzZTU2LTQ5MjQZDDFIDhImsi
并想确保我没有遗漏任何东西。
看起来它应该很简单,但我仍然无法通过参数"Year"获得当月的第一天
因此,如果参数2018年 - 我需要5月1,2018
如果参数2017年 - 需要2017年5月1日
等等
我尝试使用DATE功能,但这一年将是动态的.
如何简单选择一个月的第一天?
谢谢
我想完全了解如何pipenv运作。我创建了我的项目,并且希望虚拟环境也位于同一项目文件夹中。然而,pipenv 在C:\Users\username\.virtualenvs.
这样,如果我更改项目路径的名称或位置,虚拟环境将会丢失。
那么如何在项目文件夹中安装虚拟环境呢?我读到了有关设置变量的内容PIPENV_VENV_IN_PROJECT,但我不明白应该在哪里以及如何在 Windows 中使用 Powershell 进行设置。
有人可以建议吗?
sql-server ×5
powerbi ×4
dax ×3
t-sql ×3
python ×2
cross-apply ×1
dsn ×1
excel ×1
join ×1
nested-loops ×1
pipenv ×1
pyodbc ×1
python-3.x ×1
ssis ×1
virtualenv ×1