在过去的 15 分钟里,我一直在谷歌上搜索,试图找到这个问题的答案。但我似乎无法弄清楚。
我的任务是为我在工作中开发的一些应用程序构建一些小流程图。他们不需要任何花哨的东西,因为他们将在 vizio 中将其转换为他们喜欢的格式。他们甚至说我们可以用笔和纸来做。所以我想我应该玩一下 graphviz/dot。
他们有 6 种喜欢使用的预定义形状/颜色,所以我想我会使用它们。我已经用点构建了它们......但是如果我打算多次重复使用它们,我想找到一种方法将它们保存为某种模板。
那可能吗?
例如...这些是预定义的形状。
digraph G {
node [color="#4271C6"]
process [
shape=Mrecord,
style=filled, fillcolor="#E1F4FF",
label="{1. Process\l | Description}"];
subprocess [
shape=record,
style=filled, color="#FFFFFF", fillcolor="#A5A5A5",
label="| Sub-Process |"];
database [
shape=cylinder, color="#18589A",
label="Database"];
inputoutput [
shape=polygon,
style=filled, fontcolor=white,
fixedsize=true, skew=0.3, margin=0,
width=2, label="Input / Output"];
file [
shape=folder,
label="File"];
external [
shape=box3d,
label="External entity"];
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的数据相当复杂,所以我将提供一个更简单的示例,以便我可以将其扩展到我正在处理的内容.
注意:我已经找到了一种方法,但它非常慢且不可扩展.它适用于小型数据集,但是如果我将它应用到需要运行的实际表中,则需要永远.
我需要删除表中的所有重复数据子集.删除重复行很容易,但我发现找到一种有效的方法来删除重复的子集.
例:
GroupID Subset Value
------- ---- ----
1 a 1
1 a 2
1 a 3
1 b 1
1 b 3
1 b 5
1 c 1
1 c 3
1 c 5
2 a 1
2 a 2
2 a 3
2 b 4
2 b 5
2 b 6
2 c 1
2 c 3
2 c 6
Run Code Online (Sandbox Code Playgroud)
所以在这个例子中,从GroupID 1开始,我需要删除子集'b'或子集'c',因为它们都包含值1,2,3并不重要.对于GroupID 2,没有任何集重复,因此不会删除任何集.
这是我用来小规模解决这个问题的代码.它工作得很好,但是当应用到超过100万条记录时...你可以想象它会非常慢(后来我被告知记录的数量,我得到的样本数据要小得多)......:
DECLARE @values TABLE (GroupID INT NOT NULL, SubSet VARCHAR(1) NOT NULL, [Value] …Run Code Online (Sandbox Code Playgroud) 我知道已经有一些关于此的问题,但我觉得我的有点不同。
我构建了一个基于用户可以使用两个日期参数(DateFrom、DateTo)指定的日期范围的报告。但是,我想要一个提供预定义日期范围的下拉列表,例如“过去 30 天”、“过去 60 天”、“过去 90 天”、“上个月”。
我已经创建了一个生成这些行的数据集,示例行为:Label = "Last30Days", DateFrom = 2016-08-15, DateTo = 2016-09-13
基本上,我希望使用流程如下:用户加载报告,预定义日期范围参数默认为标签“手动”值 NULL。并且两个日期字段为空。用户可以选择将自己的日期范围指定为他们想要的任何内容,或者他们可以使用下拉菜单并选择预定义的日期范围,选择该范围后,它会填充日期参数。
这容易实现吗?我以前使用过级联参数,但不太像这样。当我输入此内容时,我想得更多,并且想知道我是否可以使用某种表达式...例如,当选择下拉列表中的选项时,将参数设置为这些值...?
编辑:所以我能够让它工作。我将可用值(标签/值匹配)添加到“过去 [30|60|90] 天”、“上个月”和“手动”的预设下拉列表中。我将默认设置为“手动”。我向预设日期数据集添加了一个参数,并将其指向“PresetDates”参数。然后我设置两个日期参数以使用数据集作为默认值。现在,当您使用下拉菜单时,它会像我想要的那样填充两个日期参数...但是如果您在填充后尝试选择不同的参数,它们不会改变...
我想在事务中的硬表上运行一些更新,并根据新更新的硬表将行插入临时表,但我不希望在事务回滚后丢失临时表...是这可能吗?
我觉得这里有一个明显的答案,我只是没有看到它.
sql-server ×2
t-sql ×2
dot ×1
graphviz ×1
parameters ×1
rollback ×1
sql ×1
ssrs-2008 ×1
transactions ×1