1 安装

以Win 10系统和SPSS 26版为例。对SPSS点击鼠标右键,选择“以管理员身份运行”。

通过“扩展→使用程序→安装定制对话框”进入安装界面。

选择后缀名为“.spd”的目标文件,点击打开。

随后,SPSS提示安装成功,并显示对话框所在的菜单位置。之后,便可以在“转换”菜单下找到本扩展插件。

2 数据、界面与功能

插件压缩包内自带名为“data.sav”的数据,共包含50个个案与7个变量。本手册的案例均使用此数据。

插件主界面涉及6个主要的区域。1)目标变量。此处为大部分等待转换变量的选择列表。2)Box-Cox目标变量。此处的选择功能只针对Box-Cox转换中的因变量。3)群组变量与启用。对于部分功能支持在数据亚组中进行转换,选择群组变量后还需勾选启用选框。4)语言。可选择变量标签语言与部分输出结果语言。5)经典。此处提供四种最常使用的数据转换功能。6)子对话框。除四种经典功能外,其余转换功能均需要通过子对话框进入。子对话框将在具体转换功能说明中进行介绍,此处略过。

本插件主要包含以下转换功能:1)多变量总分计算;2)多变量平均分计算;3)均值中心化;4)标准化(z转换);5)变量分数分组(含二分与三分);6)缩放;7)反向计分;8)经典正态转换;9)Box-Cox的Lambda值测试与转换;10)虚拟化(生成多分类变量的哑变量);11)Box-Tidwell交互项生成;12)排秩;13)指数化;14)对数化;15)取绝对值;16)四舍五入为整数。

3 总分

本功能支持:1)语言选择。

许多领域都存在对多个变量计算总分的需求,特别是在以问卷为主要研究工具的领域,量表总分的计算更是令人感到繁琐的问题。

对于变量A1A_{1}A1​至变量AnA_{n}An​,其总分Sum\text{Sum}Sum为:

Sum=A1+…+An{Sum = A}_{1} + \ldots + A_{n} Sum=A1​+…+An​

假设A1与A2为需要计算总分的变量。进入对话框后,参考下图进行选择。

随后,SPSS生成以“SUM_”为前缀的总分变量。

根据语言选择,该变量生成中文的变量标签。

4 平均分

本功能支持:1)语言选择。

平均分主要用于问卷调查领域中,量表分数的计算。

对于变量A1A_{1}A1​至变量AnA_{n}An​,其平均分Mean\text{Mean}Mean为:

Mean=(A1+…+An)/n{Mean = (A}_{1} + \ldots + A_{n})/n Mean=(A1​+…+An​)/n

假设A1与A2为需要计算平均分的变量。进入对话框后,参考下图进行选择。

随后,SPSS生成以“MEAN_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

5 均值中心化

本功能支持:1)多变量同时转换;2)分组中心化;3)语言选择。

每一个连续变量都会存在平均值(假设为A‾\overset{\overline{}}{A}A),均值中心化表示将该变量向左平移A‾\overset{\overline{}}{A}A个单位,使均值为0。

对于连续变量AAA,有A1A_{1}A1​至AnA_{n}An​的n个数据,其变量均值A‾\overset{\overline{}}{A}A为:

A‾=(A1+…+An)/n{\overset{\overline{}}{A} = (A}_{1} + \ldots + A_{n})/n A=(A1​+…+An​)/n

而均值中心化后的新变量A′n{A'}_{n}A′n​为:

A′n=An−A‾{A^{'}}_{n} = A_{n} - \overset{\overline{}}{A} A′n​=An​−A

5.1 均值中心化

假设B1为需要均值中心化的变量。进入对话框后,参考下图进行选择。

随后,SPSS生成以“MC_”为前缀的中心化变量。

根据语言选择,该变量生成中文的变量标签。

5.2 分组中心化

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择使用分组中心化。

假设B1为需要均值中心化的变量,E1为分组变量。参考下图进行选择。

随后,SPSS生成以“GMC_”为前缀的分组中心化变量。

根据语言选择,该变量生成中文的变量标签。

6 标准化

本功能支持:1)多变量同时转换;2)分组标准化;3)语言选择。

标准化也称为z转换,指将原变量转换为均值为0、标准差为1的新变量,便可结合正态分布对个案分数进行解读。标准化可以看做是中心化的进一步操作,将中心化变量除以变量自身的标准差即可得到标准化变量。

对于均值为MMM、标准差为SD\text{SD}SD的变量AAA,其标准化后的变量A′A'A′为:

A′n=(An−M)/SD{A^{'}}_{n} = (A_{n} - M)/SD A′n​=(An​−M)/SD

6.1 标准化

假设B1为需要标准化的变量。进入对话框后,参考下图进行选择。

随后,SPSS生成以“STD_”为前缀的标准化变量。

根据语言选择,该变量生成中文的变量标签。

6.2 分组标准化

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择使用分组标准化。

假设B1为需要标准化的变量,E1为分组变量。参考下图进行选择。

随后,SPSS生成以“GSTD_”为前缀的分组标准化变量。

根据语言选择,该变量生成中文的变量标签。

7 分组

本功能支持:1)多变量同时转换;2)在群组内分组;3)分组编号反向;4)语言选择。

本功能核心为将连续变量划分为两组或三组,可使用预设数值进行分组,或使用自定义数组进行分组:

分组功能
分组 组别切割点 组别编码
二分 均值 ≥均值为1,其余为0
中位数 ≥中位数为1,其余为0
自定义 ≥自定义值为1,其余为0
三分 16、84百分位数 ≥84分位数为2,<16分位数为0,其余为1
-1、+1标准差 ≥+1标准差为2,<-1标准差为0,其余为1
自定义 ≥高值为2,<低值为0,其余为1

7.1 二分组

假设B1为需要进行二分组的变量,希望以均值作为切割点,使≥均值的个案编码为1,其余为0。参考下图进行操作。

随后,SPSS生成以“GROUP_”为前缀的分组变量。

根据语言选择,该变量生成中文的变量标签与值标签。

7.2 三分组

假设B1为需要进行三分组的变量,希望以16、84百分位数作为切割点,将其分为三组。参考下图进行操作。

随后,SPSS生成以“GROUP_”为前缀的分组变量。

根据语言选择,该变量生成中文的变量标签与值标签。

7.3 反向分组

假设B1为需要进行二分组的变量,希望以中位数作为切割点,将其分为两组,并且高分组编码为0,低分组编码为1。参考下图进行操作。

随后,SPSS生成以“GROUP_”为前缀的分组变量。

根据语言选择,该变量生成中文的变量标签与值标签。

7.4 群组内分组

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择使用群组内分组。需注意的是,群组内分组功能只能在非自定义分组中执行。

假设B1为需要进行二分组的变量,希望以中位数作为切割点,将其分为两组,并且高分组编码为0,低分组编码为1。同时,用以标识不同样本的群组变量为E1。可参考下图进行操作。

随后,SPSS生成以“GGROUP_”为前缀的分组变量。

根据语言选择,该变量生成中文的变量标签与值标签。

8 缩放

本功能支持:1)多变量同时转换;2)分组缩放;3)语言选择。

在连续数据的处理中,有时候研究者会想要将数据转换成更容易理解的分数,例如将任意取值范围的连续数据转换至[0,100]\lbrack 0,\ \ 100\rbrack[0,  100]或[0,1]\lbrack 0,\ \ 1\rbrack[0,  1]的范围。在这个过程中,可能需要对数据同时进行平移(加上或减去常数)与缩放(乘以或除以常数)

对于取值在[a,b]\lbrack a,\ \ b\rbrack[a,  b]之间的连续变量AAA,可以使用以下公式将其转换[c,d]\lbrack c,\ \ d\rbrack[c,  d]的任意范围:

A′n=An−ab−a∗(d−c)+c{A^{'}}_{n} = \frac{A_{n} - a}{b - a}*\left( d - c \right) + c A′n​=b−aAn​−a​∗(d−c)+c

插件内置三个缩放范围,分别为[0,1]\lbrack 0,\ \ 1\rbrack[0,  1]、KaTeX parse error: Undefined control sequence: \ at position 15: \lbrack - 1,\ \̲ ̲1\rbrack和[0,100]\lbrack 0,\ \ 100\rbrack[0,  100],读者也可自定义范围。

8.1 自定义缩放范围

假设B1为需要进行缩放的变量,准备将其缩放至[5,25]\lbrack 5,\ \ 25\rbrack[5,  25]。可参考下图进行操作。

随后,SPSS生成以“RES_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

8.2 分组缩放

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择使用分组缩放。需注意的是,分组缩放功能只能在非自定义范围中执行。

假设B1为需要进行缩放的变量,而E1为分组变量,目标是在E1的两个分组内将B1分别缩放为[0,1]\lbrack0,\ 1\rbrack[0, 1]。可参考下图进行操作。

随后,SPSS生成以“GRES_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

9 反向

本功能支持:1)多变量同时转换;2)分组反向;3)语言选择。

变量的内涵总是与计分方式相关,假如将计分方式颠倒(例如1-5点计分颠倒为5-1点计分),则变量的含义将完全相反。也有许多变量一开始便以反向题出现。譬如,问卷调查领域所使用的量表就经常包含反向题,这要求使用者提前将其转为正向再进行后续分析。

一个1-5点计分的量表,其分数在正向转换后,应该有1分变成5分,以此类推。然而,假如将原变量加上负号,也可以使变量在后续的分析中(譬如回归分析)起到正向化的效果。因此,需要额外指定反向的方法。

本功能提供两种反向方法,第一种为自定义方法,适合用于问卷数据;第二种为自动反向。对于取值范围在[a,b]\lbrack a,\ \ b\rbrack[a,  b]的变量AAA,自动反向使用以下公式

A′n=a+b−A{A^{'}}_{n} = a + b - A A′n​=a+b−A

上述公式假设当前变量取值范围即变量实际范围,然而,问卷数据里经常出现意外情况。譬如问卷数据为1-5点计分,但是在收集回来的数据里没有个案填1,只有2、3、4与5。如果使用上述公式,则2分的个案将计为5分。这是不合理的,也会导致后续的总分计算出错。对于问卷数据,建议使用自定义方式进行反向,手动指定变量取值范围的上下限。

9.1 自定义反向

假设A1为需要进行反向的变量,属于1-5点计分。可参考下图进行操作。

随后,SPSS生成以“REV_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

9.2 分组反向

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择使用分组反向。需注意的是,分组反向功能只能在自动反向时执行。

假设B1为需要进行反向的变量,E1为分组变量。可参考下图进行操作。

随后,SPSS生成以“GREV_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

10 经典正态转换

本功能支持:1)多变量同时转换;2)语言选择。

许多分析技术要求数据符合正态分布,但现实数据又经常无法满足这个条件,于是统计学家们提出将数据进行转换以接近正态分布。常见的非正态分布与对应转换方法见下图:

以上转换方法来自于Tabachnick和Fidell(2013),以及Pallant(2011)。在本插件中已经实现上述转换的自动化,故不再列出转换公式。值得一提的是,上述转换中针对右偏的方法大都要求变量数值不能为0或负数,否则应先对变量进行校正,通过加上一个常数对其进行平移,使其最小值为1。如果读者手动进行转换则注意此问题,而使用本插件时,会自动进行校正,无需担心。

假设B1为需要进行正态转换的变量,需对其先进行偏度判定。通过“分析→描述→频率”进入对话框,选入B1并输出带正态曲线的直方图。

随后,SPSS输出B1的直方图,显示为右偏。

确定变量分布后,进入本插件,参考下图进行操作。一般而言,建议同时进行多种正态转换,选择效果最好的一个。

随后,SPSS生成以“NORM”与“(数字)_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

读者可以对转换后的变量进行探索,以确定最终使用哪种转换方法生成的结果。

11 Box-Cox转换

本功能支持:1)特定组的Lambda测试与转换;2)语言选择。

Box-Cox主要用于确定因变量的最佳转换,同时拟合线性回归模型。Box-Cox使用以下公式对变量yyy进行转换:

y(λ){yλ−1λ(λ≠0)logy(λ=0)y^{(\lambda)}\left\{ \begin{matrix}\frac{y^{\lambda} - 1}{\lambda}\ \ \ (\lambda \neq 0) \\logy\ \ \ \ \ \ \ (\lambda = 0) \\\end{matrix} \right.\ y(λ){λyλ−1​   (λ​=0)logy       (λ=0)​

λ\lambdaλ即Lambda。此转换要求yyy必须大于0,当yyy小于0时,Box和Cox(1964)提供了另外的校正公式:

y(λ){(y+λ2)λ1−1λ1λ1≠0)log(y+λ2)(λ1=0)y^{(\lambda)}\left\{ \begin{matrix}\frac{{(y + \lambda_{2})}^{\lambda_{1}} - 1}{\lambda_{1}}\ \ \ \lambda_{1} \neq 0) \\log(y + \lambda_{2})\ \ \ \ \ \ \ \ (\lambda_{1} = 0) \\\end{matrix} \right.\ y(λ){λ1​(y+λ2​)λ1​−1​   λ1​​=0)log(y+λ2​)        (λ1​=0)​

对于后者,保证y>−λ2y >-\lambda_{2}y>−λ2​。换言之,校正公式总是先将原变量平移至最小值大于0后,再进行Box-Cox转换。在本插件中,对于小于0的yyy,总是将其校正到最小值为1。

对于同一个变量可以有不同的Lambda值进行转换,故一般先对变量的Lambda值进行大范围检测,以选择最优的Lambda值,这在本插件中可以自动化执行。常见的Lambda取值有2(平方)、1(不进行转换)、0.5(平方根)、0.333(立方根)、0.25(四次方根)、0(自然对数)、-0.5(倒数平凡根)和-1(倒数)。

测试Lambda值的语法改自Grüner1,Grüner的版本现已上传至IBM的官方扩展仓库中。实际上,该语法源自更早的某位作者,但已不可考。在IBM官网上的官方记录中也存在类似版本2

11.1 测试Lambda值

假设B1为需要Box-Cox转换的因变量,而A1与A2为自变量。参考下图进行操作。

在测试结果中,需重点关注的是“95%置信区间”下的结果。该结果中提供的Lambda值是使用最大似然法计算得到的可行范围。

11.2 测试特定组的Lambda值

若数据来自于异质性较大的群体,需进行分组分析,则可以测试特定组的Lambda值。

假设B1为需要Box-Cox转换的因变量,而A1与A2为自变量,而E1为样本分组,本次计划测试E1中值为0的组的Lambda值。参考下图进行操作。

在测试结果中,需重点关注的是“95%置信区间”下的结果。该结果中提供的Lambda值是使用最大似然法计算得到的可行范围。

11.3 Box-Cox转换

以11.1的假设为基础,即B1为需要Box-Cox转换的因变量,而A1与A2为自变量。根据测试结果,Lambda值的可行范围在[0.2,0.9]之间,Lambda为0.5时达到最优(Log-Likelihood=-239.240),故选定Lambda为0.5进行转换。参考下图进行操作(分组转换参考11.3)。

随后,SPSS生成以“BCOX_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

12 虚拟化

本功能支持:1)多变量同时转换。

虚拟化是指将多分类(3类及3类以上)变量转换成多个0与1取值的二分类变量,用以表示原先的每个具体分类。虚拟化主要用于回归分析中对多分类自变量的处理。虚拟化是最为大众所熟悉的多分类自变量处理方法,也称为指标法。经过此方法处理得到的二分变量称为虚拟变量或哑变量。

假设存在分类变量“职业”,共5个类别。如果对其进行虚拟化,则会选择一个类别作为参照组(或称基准组,此处为“职业1”),使用其余类别与之比较,产生N-1个新的虚拟变量(N为原变量类别数)。除去参照组,新的虚拟变量中对应于原变量某一类的个案取值为1,非该类个案取值为0。因此,下表中的“虚拟2”至“虚拟5”为使用“职业1”作为参照组而产生的虚拟变量。以“虚拟2”为例,对应于原变量中的公务员一类全部取值为1,非公务员则取值为0。“虚拟3”至“虚拟5”以此类推。

分类变量与虚拟变量
职业
1
1
2
2
3
3
4
4
5
5
含义
注:职业1=学生,职业2=公务员,职业3=个体户,职业4=军人,职业5=无业。

本功能对具有N个类别的分类变量将生成N个虚拟变量,以方便使用者自行选择参照组。此外,本功能要求分类变量采用连续整数进行编码。

假设C1为需要虚拟化的多分类变量,共3个类别。参考下图进行操作。

随后,SPSS生成“DUMMY_”为前缀、“_(数字)”为后缀的新变量。不提供变量标签。

13 Box-Tidwell交互项

本功能支持:1)多变量同时构造交互项;2)分组构造交互项;3)语言选择。

许多研究者在二元Logistic回归中喜欢使用Box-Tidwell方法构造交互项以检查自变量与Logit转换后的因变量是否存在非线性关系(Cohen
et al., 2003)。

此方法需要对变量进行预处理,对连续变量先以自然常数eee为底数求取对数值,而后使用对数值与原变量进行相乘,求取调节项。对于任意的连续变量AAA,其调节项Int\text{Int}Int为:

Int=A∗Ln(A)Int = A*Ln(A) Int=A∗Ln(A)

此方法要求AAA必须大于0。假如变量最小值小于或等于0,则可以对变量进行平移,使变量最小值为1。本功能将自动对最小值小于或等于0的变量进行上述校正。

此外,假如变量均值远大于标准化,会造成变量与二次项的相关系数过高,可能会使变量无法进入方程。本功能提供了额外的标准化选项以解决此问题。

13.1 Box-Tidwell交互项

假设变量B1为需要构造交互项的变量。参考下图进行操作。

随后,SPSS生成以“BOXT_”为前缀的交互项。

根据语言选择,该变量生成中文的变量标签。

13.2 分组构造Box-Tidwell交互项

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择进行分组构造交互项。需要注意的是,只有在变量为非正数或使用标准化时,分组才有意义。

假设变量D1为需要构造交互项的变量,E1为分组变量。参考下图进行操作。

随后,SPSS生成以“GBOXT_”为前缀的交互项。

根据语言选择,该变量生成中文的变量标签。

14 排秩

本功能支持:1)多变量同时转换;2)分组排秩。

秩可理解为比赛名次,但有所区别。以下表为例,对分数进行从高到低的排秩(也可反向)。1号个案分数最高,秩为1;2-4号等3个个案分数一致,且按照名次应该占据第2、第3和第4,于是使用秩的总和除以个案数量作为秩,即(2+3+4)/3=3。因此,这3个个案的秩均为3。同理,5号和6号个案分数相同,其秩为(5+6)/2=5.5。

| 个案排秩(从高到低)|
|-------------|------|----- ||
| 个案ID | 分数 | 秩 |
| 1 | 89 | 1 |
| 2 | 87 | 3 |
| 3 | 87 | 3 |
| 4 | 87 | 3 |
| 5 | 85 | 5.5 |
| 6 | 85 | 5.5 |
| 7 | 84 | 7 |
| 8 | 83 | 8 |
| 9 | 76 | 9.5 |
| 10 | 76 | 9.5 |

14.1 最大值秩为1

假设变量B1为需要排秩变量,且计划将秩1赋予最大值。参考下图进行操作。

随后,SPSS生成以“R”为前缀的新变量。

此功能无法对变量标签语言进行设定。

14.2 分组排秩

若数据来自于异质性较大的群体,需要进行分组分析,则可以选择分组排秩。

假设变量B1为需要排秩的变量,且计划将秩1赋予最小值,E1为分组变量。参考下图进行操作。

随后,SPSS生成以“R_”为前缀的新变量。

虽然无法指定变量标签语言,但标签里会对分组变量进行说明。

15 指数

本功能支持:1)多变量同时转换;2)语言选择。

本功能可将变量作为底数,并指定幂以对变量进行指数转换。例如,对变量进行开方(0.5次幂)、平方(2次幂)或立方(3次幂)。

对于变量AAA,进行nnn次幂转换后的A′A'A′为:

A′=AnA^{'} = A^{n} A′=An

需要注意的是,对于部分幂次的计算要求变量中不存在负数(如0.5次幂),本功能不会主动进行平移校正。

假设B1为需要进行指数转换的变量,计划转换成3次幂。参考下图进行操作。

随后,SPSS生成以“EXP_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

16 对数

本功能支持:1)多变量同时转换;2)语言选择。

本功能可将变量作为真数,并指定底数以进行对数转换。

对于变量AAA,以nnn为底进行对数转换后的A′A'A′为:

A′=LognAA^{'} = \text{Log}_{n}A A′=Logn​A

需要注意的是,本功能要求变量中不存在负数,且不会主动进行平移校正。

假设B1为需要进行对数转换的变量,计划以10为底。参考下图进行操作。

随后,SPSS生成以“LOG_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

17 绝对值

本功能支持:1)多变量同时转换;2)语言选择。

本功能将对变量取绝对值。对于变量AAA,取绝对值后的A′A'A′为:

A′=∣A∣A^{'} = |A| A′=∣A∣

假设D1为需要取绝对值的变量。参考下图进行操作。

随后,SPSS生成以“ABS_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

18 四舍五入为整数

本功能支持:1)多变量同时转换;2)语言选择。

本功能将对变量进行精确到个位数的四舍五入。换言之,小数部分将被舍去。另外,小数点后一位的数值假如≥5,则向个位数进一。

假设D1为需要四舍五入到整数的变量。参考下图进行操作。

随后,SPSS生成以“RND_”为前缀的新变量。

根据语言选择,该变量生成中文的变量标签。

参考文献

Box, G. E. P., & Cox, D. R. (1964). An analysis of transformations. Journal of the Royal Statistical Society: Series B (Methodological), 26(2), 211–243. https://doi.org/10.1111/j.2517-6161.1964.tb00553.x

Cohen, J., Cohen, P., West, S. G., & Aiken, L. S. (2003). Applied multiple
regression/correlation analysis for the behavioral sciences
(3rd Ed).
Routledge.

Pallant, J. (2011). SPSS survival manual:A step by step guide to data analysis using SPSS (4th Ed). Allen & Unwin.

Tabachnick, B. G., & Fidell, L. S. (2013). Using multivariate statistics (6th Ed). Pearson.

版本历史

版本 发布日期 更新内容
1.0 2020.05.03 DataTransformation 发布,中文名为“数据转换”。提供均值中心化、标准化、虚拟化、绝对值、缩放、二分转换、对数转换、指数转换等8个功能。
1.1 2020.05.05 增加旧版SPSS的虚拟化功能。
1.2 2020.05.08 增强选项和数字框的条件属性。
1.3 2020.05.10 增加反向编码功能。
1.4 2020.05.20 优化语法与页面布局,提供普通版与增强版,提供英文版。
2.0 2020.06.18 更改页面布局,增加“排秩”与“正态转换”功能。
2.1 2020.06.20 增加所有变量的求和及求平均值的功能。
3.1 2020.12.04 更名为“Transform”,修复部分Bug,优化语法,增加转换功能(如Box-Cox转换和Box-Tidwell交互项构造等),为大部分转换功能提供群组转换选项,提供变量标签和语言选择。

  1. http://gruener.userpage.fu-berlin.de/spss-dialogs.htm ↩︎

  2. https://www.ibm.com/support/pages/box-cox-transformations-regression ↩︎

Transform 3.1 用户手册(SPSS 的通用数据转换程序)相关推荐

  1. Transform 3.1:SPSS 的通用数据转换程序

    今年5月3日,我发布了第一版数据转换插件.此后,随着我对SPSS语法的熟练度越来越高,插件也走过了多个版本,增加了许多功能.目前为止,插件的功能已经趋于完善,覆盖许多常用功能,应该在很长一段时间内都不 ...

  2. 晒晒我的通用数据访问层

    注意:本文所介绍的框架已有新版本,点击后面链接即可阅读. [ClownFish:比手写代码还快的通用数据访问层] 今天来晒晒我的通用数据访问层. 写了很多年的数据库项目,数据访问嘛,一直是用业务实体+ ...

  3. 写一个通用数据访问组件

    出处:http://www.csharp-corner.com willsound(翻译) 我收到过好多Email来问我如何用一个通用的数据提供者(data provider)在不失自然数据提供者(n ...

  4. 通用数据级别权限的框架设计与实现(4)-单条记录的权限控制

    查看上篇文章通用数据级别权限的框架设计与实现(3)-数据列表的权限过滤,我们开始在原来的基础上实现单条权记录的权限控制. 相信前面的列表权限控制,很多系统都可以做到,但如何在上面列表的权限过滤中实现通 ...

  5. 通用数据级别权限的框架设计与实现(3)-数据列表的权限过滤

    查看上篇文章通用数据级别权限的框架设计与实现(2)-数据权限的准备工作,我们开始数据列表的权限过滤. 原理:我们在做过滤列表时,根据用户权限自动注入到相关SQL中,实现相关过滤,如果拥有全部权限,则不 ...

  6. ASP.NET2.0通用数据访问类

    .NET框架自带的数据提供器包括SQLServer(System.Data.SqlClient).Oracle    (System.Data.Oracleclient).OLEDB(System.D ...

  7. 【业务建模_2】通用数据工具

    [业务建模_2]通用数据工具 背景 在公司做数据工作会接触很多相关工具,这里会汇总一些核心并更理想化的工具. 工具汇总 1.打点平台 module,op,参数数组(s0-s5),常用参数,[实际打点位 ...

  8. Sbo通用数据选择功能的实现

    本文著作权属于江湖浪子@IT,任何人未经作者本人批准,不得转载.   在Sbo Addon开发中,经常为了业务实现,需要从当前的业务数据库中列举出符合条件信息,供业务操作人员进行选择,并且将选择之后的 ...

  9. EF通用数据层封装类(支持读写分离,一主多从)

    浅谈orm 记得四年前在学校第一次接触到 Ling to Sql,那时候瞬间发现不用手写sql语句是多么的方便,后面慢慢的接触了许多orm框架,像 EF,Dapper,Hibernate,Servic ...

最新文章

  1. DIV+CSS一行两列布局
  2. Android沉浸式模式状态栏(二)
  3. OpenCv2 学习笔记(1) Mat创建、复制、释放
  4. Python排序算法(二) 快速排序、希尔排序、归并排序
  5. 你可能学了假流程图,三步教会你绘制大厂流程图
  6. Silverlight 自定义表格 转
  7. aesmiyao php_PHP实现的AES 128位加密算法示例
  8. AP聚类算法(Affinity propagation Clustering Algorithm )
  9. 【3】基于深度神经网络的脑电睡眠分期方法研究(数据集分类)
  10. 铁路CAD设计辅助软件V2.0
  11. 帆软大数据自定义分页
  12. X1000对于音频播放控制部分的翻译
  13. NLTK使用方法总结
  14. Kotlin读写Excel文件
  15. 并行与串行传输,串行高速传输
  16. 黑苹果MAC好处与坏处
  17. 【精益生产】精益生产十大工具
  18. engish 800
  19. 时间管理 |《小强升职记》学习笔记 | Part1
  20. 计算机软考具体有哪几方面,计算机软考全国有哪些常用考点呢

热门文章

  1. windows提权常用系统漏洞与对应的补丁编号
  2. HDU-4745-Two Rabbits
  3. LeetCode | 575. Distribute Candies
  4. Endgame P.O.O
  5. 为什么大家都在用在线客服系统?
  6. Windows企业版2019安装,和显示无法打开所需文件d:\sources\install.wim.”解决办法
  7. 终于等到你,最强 IDE Visual Studio 2017 正式版发布(附详细介绍与下载地址)
  8. Java免费学习网站
  9. dd 命令的使用方法
  10. paddlespeech 语音识别 web流服务部署(Streaming Speech Recognition)