sqlserver2005的KPI展示控件开发详解

可视化图表——Data Bar KPI Visual 工坊的小伙伴们大家好,最近小编发现一个比较简单直观的KPI展示图表——KPI Visual,它是用一个带颜色的条形图指示向目标前进的进度。 KPI Visual的设计采用的原则是:尽可能占用最小的报告空间。你可以把它放进Power BI Mobile report的两个格子里,如下图所示: 那么我们该如何创建这样一个可视化图表呢,下面我们一起来看下,首先先查看字段属性: 如上图所示,我们可以... 阅读详情
 

注意:这篇文章其实在几天前我已经写过,但是那是我的第一片文章,

写的相当粗糙,很多东西都没有写详细,只是草草的提供了源码的下载

,看到我的那篇<数据挖掘控件研究>点击量有点大,给了我不少安慰,

因此决定重写KPI展示这片文章。没有深入了解过的朋友请继续往下看。

关于sqlserver2005中的KPI特性,相信接触过sqlserver2005的BI的平台

的朋友都有所耳闻。并且跟数据挖掘查看器一样,微软只在

sqlserver2005客户端里面提供了展示界面,并没有把展示的编程接口提

供给我们。所以这些工作只有我们coder自己来做了。


sqlserver2005里的KPI,创建的时候需要设置KPI名称,值表达式,目标

表达式,状态指示器,状态表达式,走向指示器,走向表达式等。

后来通过google得知,原来sqlserver2005自带的那个KPI的查看器,实

现原理是这样的。微软先做了n张图片,图片的路径在(注意:我的

sqlserver2005是安装在D盘的)
D:/Program Files/Microsoft SQL Server/90

/Tools/Binn/VSShell/Common7

/IDE/DataWarehouseDesigner/KPIsBrowserPage/Images

然后,通过状态表达式和走向表达式返回不同的值来决定显示哪张图片

。

原理还是非常简单,还好它没有采用GDI把这些图片画出来,呵呵,不然

小弟只有罢手了。接下来,我们开始coding吧。

step1.定义一个DataGridViewStatusCell(从DataGridViewImageCell继

承)和DataGridViewStatusColumn(从DataGridViewImageColumn继承)

,用于显示状态指示器。

 

Code

 

DataGridViewStatusColumn定义


step2.定义一个DataGridViewTrendColumn(从DataGridViewImageCell

继承)和DataGridViewStatusColumn(从DataGridViewImageColumn继承

),用于显示走向指示器。

DataGridViewTrendCell定义

 

DataGridViewTrendColumn定义


step3.取得analysis services 中的定义的KPI的信息和KPI的值。

  /// <summary>
        
/// 展示结果
        
/// </summary>

         public   void  Display()
        
{

            AdomdConnection myKPIConnection 
= new AdomdConnection(_connectString);

            _kpiDataSet 
= new KPIDataSet();

            KPIDataSet.KPIModelRow kpiRow;

            
try
            
{
                myKPIConnection.Open();
                CubeDef myCubeDef 
= myKPIConnection.Cubes[this._cubeName];
                AdomdCommand myKPICommand;

                
foreach (Kpi k in myCubeDef.Kpis)
                
{

                    myKPICommand 
= new AdomdCommand();

                    myKPICommand.Connection 
= myKPIConnection;
                   
                    StringBuilder sb 
= new StringBuilder();
                    sb.Append(
"SELECT { ");
                    sb.Append(
"KPIValue(/"" + k.Name + "/"), ");
                    sb.Append(
"KPIGoal(/"" + k.Name + "/"), ");
                    sb.Append(
"KPIStatus(/"" + k.Name + "/"), ");
                    sb.Append(
"KPITrend(/"" + k.Name + "/")");
                    sb.Append(
"} ON COLUMNS FROM ["+this._cubeName+"]");

                    myKPICommand.CommandText 
= sb.ToString();

                    CellSet cellset 
= myKPICommand.ExecuteCellSet();

                    
string kpiName = k.Name;
                    
string kpiValue = cellset.Cells[0].FormattedValue;
                    
string kpiGoal = cellset.Cells[1].FormattedValue;
                    
string kpiStatus = cellset.Cells[2].FormattedValue;
                    
string kpiTrend = cellset.Cells[3].FormattedValue;
                    
string kpiStatusGraph = k.StatusGraphic;
                    
string kpiTrendGraph = k.TrendGraphic;

                    kpiRow 
= this._kpiDataSet.KPIModel.NewKPIModelRow();

                    kpiRow.Name 
= kpiName;
                    kpiRow.Value 
= Convert.ToDecimal(kpiValue);
                    kpiRow.Goal 
= Convert.ToDecimal(kpiGoal);
                    kpiRow.Status 
= kpiStatusGraph + "," + kpiStatus;
                    kpiRow.Trend 
= kpiTrendGraph + "," + kpiTrend;

                    
this._kpiDataSet.KPIModel.AddKPIModelRow(kpiRow);
                }

            }

            
catch (AdomdErrorResponseException myException)
            
{
                MessageBox.Show(
this, "连接Analysis Service服务器出错!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }

            
catch (Exception ex)
            
{
                MessageBox.Show(
this, "未知错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }

            
finally
            
{
                myKPIConnection.Close();
            }



step4.绑定到DataGridView。
 this.kpiDataGridView1.DataSource = this._kpiDataSet.KPIModel;

step5.搞定,运行。



完整代码下载地址:
KPIDisplayer.rar

环形 KPI 可视化 在图表KPI完成进度的多样展示中,环形或饼形图来展示百分比的形式比较受人欢迎,因为它可以直观的看出进度比率和与目标完成相差距离。在这里给大家推荐两种环形可视化形式。 1 报表自带视觉 在图表可视化中我们可以用自带的环形和卡片图的组合的形式做一个KPI展示。这里面环形图的形成与Excel环形图的形成类似,需要将完成与未完成两部分度量值准备好,同时加入值选项形成,如下图所示: 这种应用在我们的P... 阅读详情

相关推荐

可视化 KPI Indicator:趋势和颜色警示

今天和大家分享一个带有颜色警示功能、趋势图和偏差值的关键绩效指标可视化视觉:KPI Indicator。这款简单高效的可视化很适用于目标与当前实际完成情况场景的分析。先看下直接出图的效果: 展示出上图效果内容可视化默认为在年度范围内最后一个月份的销售金额、目标偏差和月度折线图(设置中还可以选择平均值、合计值),需数据值为实际值、目标值、趋势轴。 当我们加入实际值“Actual value”、...

PowerPivotShop的博客 1388

Excel作业

可以用来展示任务达成率情况。

weixin_44030143的博客 3458

USB接口ESD保护电路:深度剖析与选型建议

USB接口在热插拔和频繁使用中极易遭遇静电放电(ESD)冲击,导致芯片损坏或通信异常。本文结合实际电路设计经验,详解TVS二极管、集成ESD防护器件等方案在USB接口上的应用要点,重点分析钳位电压、结电容、IEC 61000-4-2等级等关键参数对信号完整性与防护效果的影响,助你为USB接口匹配高可靠、低干扰的ESD保护方案。

weixin_36289813的博客 510

如何在SQL Server Reporting Services中自动创建KPI

关键绩效指标(KPI) (Key Performance Indicator (KPI)) A Key Performance Indicator aka KPI is a metric which objectively measures the numeric equivalent of goals or targets of a company, team or an organi...

culuo4781的博客 784

WebVTT中的文本轨道(Text Tracks,TT)到底是什么鬼?

WebVTT,全称是The Web Video Text Tracks Format,意思是网络视频文本轨道格式。那么到底什么是文本轨道(Text Tracks)呢?这篇文章希望一探究竟。

码农1479的博客 1986

GD32F470实战:如何用EXMC+SDRAM为LVGL打造超大内存池(附完整配置代码)

本文详细介绍了如何利用GD32F470的EXMC接口与SDRAM深度整合,为LVGL构建高性能内存解决方案。通过硬件架构设计、EXMC接口配置、高级内存管理策略及LVGL性能优化技巧,开发者可以突破微控制器内存限制,实现高分辨率显示和复杂动画效果。附完整配置代码,助力嵌入式GUI开发。

rrr55的博客 548

[SQL Server 2005 BI]在.NET中创建SQL 2005 KPI

项目中要从Web端根据维护的参数在Cube中创建KPI,查了一天多资料,只查到MSDN中有一个"CREATE KPI..."的写法比较靠谱,可是把它拷到Analysis Services MDXQuery中执行,发现KPI根本就不是关键字,这怎么能执行得了。急死人了。到最后才发现"CREATE KPI..."是SQL Server 2008才新增的功能。2005中当然不能用了。晕。 最后终于查到...

weixin_34336292的博客 104

Matcap与菲涅尔

菲尼尔效果(简化版公式):fresnel = base + scale*((1-v*n)^power)透明队列为后前渲染,不关闭深度写入则会覆盖之前的像素,导致混合不了。y的值为0~1,根据x3返回对应y值。两色混合做个demo看看!混合为什么要关闭深度写入?

weixin_62773441的博客 372

SQLServer 2005开发与商业智能培训大纲

 SQLServer 2005开发与商业智能培训目标:1、全面掌握微软新一代业务智能平台(SQL Server 2005及其相关服务组件)2、理解BI系统的组成原理3、掌握BI系统的通用设计方法4、掌握SQL Server 2005 BI平台的体系结构5、掌握SQL Server 2005 BI平台实现业务智能化的核心方法6、学习SQL Server 20

GeneralXCK的专栏 1071

mac搭建ios自动化环境之WebDriverAgent配置

一、WebDriverAgent 1、简单介绍: WebDriverAgent是facebook为苹果公司开发的一款自动化测试工具,github上有下载资源;另外appium安装后也会自动安装自带的WebDriverAgent;可以用自带的,也可以从github下载并替换自带的; 2、不同appium版本自带WebDriverAgent默认路径不同 1)appium 1.10.1之前版本: npm方式安装: /usr/local/lib/node_modules/appium/node_modules/a

qq_30237715的博客 2762

如何设置反馈点

前面的POWER DC仿真都是忽略反馈线进行的仿真,如果单板压降不过,电源会自动调整输出电压,来满足负载的得到额定的电压.可以看到因为设置了反馈点,源端电压就被抬高到满足压降的值了。仿真上也可以自己添加反馈点,以得到抬高后的电源输出电压值。同样以下图的CPU的Core电源为例。按照流程正常设置好参数。

weixin_54787054的博客 1148

SQLSERVER2005 BI解决方案

 SQL2005 BI 解决方案 一、 BI 项目总体架构:     商业智能,Business Intelligence,简称BI。这是一种把数据转化为信息、知识的技术手段。包括数据仓库、报表、OLAP 、数据挖掘、客户端工具等不同层面的技术,是未来几年信息领域最有潜力的方向之一。      在权威的第三方评测报告中,微软的商业智能平台在OLAP 市场居于领

GeneralXCK的专栏 1113

华为流程L1-L6业务流程深度细化到可执行【附全文阅读】

该文档主要介绍了华为业务流程的深度细化及相关内容,包括流程框架、建模方法、流程模块描述、流程图建模等,旨在帮助企业构建有效的流程体系,实现战略目标。

cdfunlove的博客 4003

SQL Server 2005中的分析服务功能[转]

第三篇:SQL Server 2005中的分析服务功能在SQL Server 2005中,分析服务(Analysis Services)第一次提供了一个统一和集成的商业数据视图,可被用做所有传统报表、OLAP分析、关键绩效指标(KPI)记分卡和数据挖掘的基础。通过引入了一个唯一的统一空间模型(UDM),Analysis Services把传统关系型报表模型的灵活、丰富和经典OLAP模型的强大易

Johnson的专栏 873

Altium Designer应用技巧5: Altium Live账号的获得

为了更好的应用Altium Designer,我们需要得到一个Altium Live账号,但从其英文或者中文官方网站取得,都需要7个工作日的时间,而且对于个人用户来说,并不是100%都能够获取到。本文介绍一种,从俄罗斯Altium官方网站获取账号的方法,可以立即使用。     1、点击http://live.altium-ru.com/#Join网址进入俄罗斯Altium官方网站,Altiu

snmplink的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

同比及环比的KPI使用

因为偶可怜的本本没有办法装SHAREPOINT 2007,(sharepoint2007必须架构在SERVER 2003上,曾经装WINDOWS SERVER 2008,可惜本本跑得太吃力了,无缘SHAREPOINT),所以做研究的时候只能将EXCLE2007做前端的展现了;废话少说,上礼拜做KPI的研究,(sql server 2005 trial版本的kpi和calculation,不能用

wujiandao的专栏 1806

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Microsoft Sql Server 2005 BI特性

  Sql Server 2005相对于以前版本变化很大,微软将自己以往的一些分散的产品及工具进行了整合。总体感觉是,Sql Server 2005在管理方面的难度提高了(因处理能力提高导致配置复杂),但是在开发方面的难度却降低了很多,使用它的集成商可以非常容易的构造特定BI项目的解决方案;   §         企业版集成了Report Service,同时提供了Report D...

weixin_33856370的博客 131

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

7.1 定义关键指标KPI

定义关键指标KPI: 若要在 Microsoft SQL Server 2005 中定义关键性能指标 (KPI),应当首先定义与 KPI 关联的 KPI 名称和度量值组。KPI 可以与所有度量值组或与单个度量值组关联。然后定义以下 KPI 元素: 值表达式 值表达式是物理度量值(如销售)、计算度量值(如利润)或使用多维表达式 (MDX) 表达式在 KP...

weixin_30387663的博客 231

SQL Server 2005中的分析服务功能

在SQL Server 2005中,分析服务(Analysis Services)第一次提供了一个统一和集成的商业数据视图,可被用做所有传统报表、OLAP分析、关键绩效指标(KPI)记分卡和数据挖掘的基础。通过引入了一个唯一的统一空间模型(UDM),Analysis Services把传统关系型报表模型的灵活、丰富和经典OLAP模型的强大易用的分析、极佳的性能结合在了一起。借助于前摄缓存和高级商业

体验SQL Server 2005 1728

SQL Server 2005商业智能功能分析

SQL Server 2005商业智能功能的目的是让报表和分析应用在所有商业的日常运行中处于更加中心的位置   为了让所有层次的客户都能够接触到商业智能,微软已经郑重的承诺它将形成一个完整的商业智能平台:SQL Server 2005商业智能功能的目的是让报表和分析应用在所有商业的日常运行中处于更加中心的位置。   几乎所有的SQL Server应用都有某种程度的报表。它可能形成一些简单的

AnalysisServices的专栏 873

SQLSERVER 2005 BI的帮助文档说明【转载】

9.2 定义和浏览翻译 定义和浏览翻译: 翻译是在特定语言中 Microsoft SQL Server 2005 Analysis Services (SSAS) 对象(例如,度量值组、度量值、维度、属性、层次结构、KPI、操作和计算成员)的名称的表示形式。翻译为可支持多种语言的客户端应用程序提供了服务器支 持。使用这样的客户端,客户端就可以将区域设置标识符 (LCID) 传递给 A...

weixin_30849403的博客 162

SQL Server 2005 Analysis Services

SQL Server 2005 Analysis Services 教程SQL Server 2005 Analysis Services实践(一)SQL Server 2005 Analysis Services实践(二)Mastering OLAP Reporting: Reporting with Analysis Services KPIsMSDN Magazin

shanyou的专栏 803
上一篇: sqlserver2005 数据挖掘控件研究
下一篇: SQLSERVER2000 用过程来模拟MDX分析报表的效果(2)
华芸智森
博客等级 码龄25年 571粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值