我正在使用CASEstatement 来创建 column Quoted。所以它会显示值 1 或 0。
但是DisplayStatus必须根据前一列的条件创建列Quoted。
在这种情况下,我似乎应该使用嵌套的 CASE 语句。但我无法提出正确的查询。
SELECT
case when isnull(grouptt.controlno,0) <>0 AND isnull(vwR.Premium,0) > 0 then
cast( 1 as bit)
else cast( 0 as bit)
end as Quoted,
CASE
WHEN a.DisplayStatus = 'LOST' AND quoted=1 THEN 'Quoted_Lost'
WHEN a.DisplayStatus = 'DECLINED' AND quoted=1 THEN 'Quoted_NotTakenUp'
WHEN a.DisplayStatus = 'NOT TAKEN UP' AND quoted=1 THEN 'Quoted_Lost'
ELSE
a.DisplayStatus
END
DisplayStatus
FROM MyTable
Run Code Online (Sandbox Code Playgroud) 目标是创建一个视觉图像,以显示一年中每个月的预算与溢价;像这样:
因此,我有两个表BudgetData和Premiums。我如何在两列上连接这两个表:
`BudgetData.InsurenceType = Premiums.Division
and
BudgetData .MonthYear = Premiums.MonthYear`
Run Code Online (Sandbox Code Playgroud)
预算日期表:
InsurType Amount MonthYear
Commercial Auto 1000 Jan 2017
Commercial Auto 22000 Feb 2017
Commercial Auto 3000 Mar 2017
Specialty Casualty 4000 Jan 2017
Specialty Casualty 5000 Feb 2017
Specialty Casualty 35000 Mar 2017
Run Code Online (Sandbox Code Playgroud)
保费表:
Division Premium MonthYear
Commercial Auto 2500 Jan 2017
Commercial Auto 1800 Feb 2017
Commercial Auto 3365 Mar 2017
Specialty Casualty 14528 Jan 2017
Specialty Casualty 3323 Feb 2017
Specialty Casualty 1825 Mar 2017
Run Code Online (Sandbox Code Playgroud)
在Power BI中,我只能加入单一关系,这是我不明白为什么这样做的原因。 …
如果@reasonID = 1,我只需要选择原因ID = 211的策略
如果@reasonID = 2,我只需要选择具有reasonID <> 211的策略
如果@reasonID = NULL,则需要选择所有策略,包括 NULL
在下面的示例中,它适用于@reasonID = 1和@reasonID = 2。
但是,当@reasonID =时,如何调整WHERE子句以选择所有行NULL?
declare @TempTable table (PolicyNumber varchar(50), reasonID int)
insert into @TempTable values ('Pol1', 5),
('Pol2', NULL),
('Pol3', 211),
('Pol4', 8),
('Pol5', 211),
('Pol6', NULL)
--input @reasonID parameter
declare @reasonID int = 2
select PolicyNumber,reasonID
from @TempTable
where
(case when reasonID = 211 then 1 else 2 end = @reasonID) --works fine
OR (@reasonID = NULL) --does not work
Run Code Online (Sandbox Code Playgroud) 当我测试下面的代码时server = smtplib.SMTP('smpt.gmail.com:587')它工作正常。
但是当我将 SMTP 服务器更改为server = smtplib.SMTP('10.10.9.9: 25')- 时,它给了我一个错误。此 SMTP 不需要任何密码。
那么我在这里缺少什么?
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import pandas as pd
def send_email(user, recipient, subject):
try:
d = {'Col1':[1,2], 'Col2':[3,4]}
df=pd.DataFrame(d)
df_html = df.to_html()
dfPart = MIMEText(df_html,'html')
user = "myEmail@gmail.com"
#pwd = No need for password with this SMTP
subject = "Test subject"
recipients = "some_recipientk@blabla.com"
#Container
msg = MIMEMultipart('alternative')
msg['Subject'] = subject
msg['From'] = user
msg['To'] = ",".join(recipients)
msg.attach(dfPart) …Run Code Online (Sandbox Code Playgroud) 每个都PolicyNumber可以有多个ClassCode.所以我们的目标是PolicyNumber用所有相关的列来消除整体,包括所有相关的列,ClassCode's如果至少有一个ClassCode被选择消除.我有cte1与PolicyNumber和WrittenPremium(WP),我有表tblClassCodesPlazaCommercial与PolicyNumber和ClassCode.在我的WHERE条款中我选择:
WHERE EXISTS (
SELECT DISTINCT PolicyNumber
FROM tblClassCodesPlazaCommercial
WHERE PolicyNumber NOT IN (SELECT PolicyNumber FROM tblClassCodesPlazaCommercial WHERE ClassCode =5151)
)
Run Code Online (Sandbox Code Playgroud)
然后,如果我select * from cte3 WHERE ClassCode =5151仍然有ClassCode 5151的策略
以下整个选择声明:
select
cte1.PolicyNumber,
cte1.TransactionEffectiveDate,
cc.ClassCode,
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY cte1.QuoteID, cte1.PolicyNumber, cc.TransactionEffectiveDate ORDER BY (SELECT 0))=1 THEN cte1.WP
ELSE 0
END as WP--, …Run Code Online (Sandbox Code Playgroud) 我在Power bi中生成报告。我尚未保存文件,因此默认情况下它被命名为“无标题”。
服务器意外关闭。重新启动后,我打开了Power BI,但是。在“查看恢复的文件”中,我找不到正在处理的文件。
我正在尝试查找Power BI存储.ipbx文件的位置,但是找不到它。
有人知道有机会恢复我的无标题文件吗?谢谢
sql-server ×4
t-sql ×3
dax ×2
powerbi ×2
case ×1
exists ×1
notin ×1
powerquery ×1
python ×1
python-3.x ×1
smtp ×1
sql ×1
ssrs-2012 ×1