一、表格建模(SSAS 表格)
 

表格模型是 Analysis Services 中的内存中数据库。 使用最先进的压缩算法和多线程查询处理器,xVelocity 内存中分析引擎 (VertiPaq) 可通过报表客户端应用程序(如 Microsoft Excel 和 Microsoft Power View)来快速访问表格模型对象和数据。

表格模型通过两种模式支持数据访问:缓存模式和 DirectQuery 模式。 在缓存模式中,可以集成多个源的数据,包括关系数据库、数据馈送和平面文本文件。 在 DirectQuery 模式中,可以绕开内存中模型,允许客户端应用程序直接在(SQL Server 关系)源上查询数据。

在 SQL Server Data Tools (SSDT) 中使用新的表格模型项目模板创建表格模型。 您可以从多个源导入数据,然后通过添加关系、计算列、度量值、KPI 和层次结构来丰富模型。 然后可以将模型部署到客户端报告应用程序可以连接到的 Analysis Services 实例。 可以在 SQL Server Management Studio 中管理已部署的模型,就像管理多维模型一样。 还可以对它们进行分区以便优化处理,并使用基于角色的安全性保护行级数据安全。

=========以上摘自 MSDN===========================

现在说的是建模过程中的问题总结:

1、假如在创建表关系时,少了  事实表->维度表 的一条联系系:DIST AgingStock[City_Code] -/->Geographys[City_Code]

excel 客户端拉取透视表的行标签《维表Geographys中City字段》以及数值《事实表DIST AgingStock中的列字段stock<经DAX函数编辑后>AgingStock作为度量值》时,

度量值 AgingStock:=sum([stock])

会出现如下BO度量值的情况:

数值都是一样的,BO QTY并没有按照city的维度切分,因为它们之间没有建立维度!!!

模型经修改后,重新在excel中分析:

另:如果建立关系,但是CITYCode映射不正确,会出现如下情况:

设置透视表选项,显示行/列中的空数据后,则会出现:

二、表格模型部署(deployMent Wizard)

表格模型设计完成后,需要通过部署与处理的作业,部署到正式机远端服务器上,使数据库资料载入设计好的模型中,以供使用者使用。

测试时--SSDT就可以部署模型(VS)

正式部署:Microsoft SQL Server 2012 -->Analysis Services -->Deployment Wizard部署工具

VS设计好的模型重新编译后:如下,NEXT,NEXT,NEXT...部署完成!

小注:

1、部署过程中,如果数据库不存在,则创建,否则覆盖,故用户需有权限,避免出现以下错误--需管理员权限授予权限:

2、部署过程中,若出现:OLE或者ODBC无法连接数据库XXX等,需要重新填写数据源(数据库)登录账户及名称。

若后续需要更改数据源连接--使用脚本方式 script.xmla :

好处:在VS设计Model时连接的数据源为测试库,部署到SQL Server上之后连接正式机数据源。如果重新部署VS设计好的model,则会覆盖字符串连接。

另外:

还可以设置角色,分角色管理用户权限。

VS:

SQL AS:

...

FINISHED!

验证数据正确性:

以excel作为客户端连接AS模型,拖出透视表--以《沈阳市》为例:

在正式机数据源DB中查询:

FINALLY ...FINISHED!!!

最讨厌写博客啦~~~

SSAS Tabular 表格模型建模(关系)及部署的更多相关文章

  1. SSAS Tabular表格模型实现动态权限管理

    最近忽然对SSAS产生了浓厚兴趣,我看博客园上也米有写关于SSAS 2016下表格模型实现动态权限管理的文章,最近鼓捣了一下微软的样例,鼓捣好了,把过程中遇到的一些问题写出来,抛砖引玉,也算给自己一个 ...

  2. SSAS Tabular模式中关系设置不支持直接设置多对多?

    在网上文档发现一篇文章 微软BI 之SSAS 系列 - 多维数据集维度用法之一 引用维度 Referenced Dimension 有涉及到SSAS模型的关系设置 但是本人的基于表格模型的 没有关系可 ...

  3. SSAS Tabular 数据表关系与join的映射

    才想起来总结这两天发现的一个有趣的现象: 在SSAS Tabular 模型中建立了关系之后,在excel中分析发现: 产品库龄作为量值:Aging Stock:=sum([DISTRIBUTOR_ST ...

  4. SSAS Tabular关系设计--时间最小粒度维度

    这两天设计的T2模型,涉及日期维度表中粒度的选择,因为一般实际销售达成ACT表是按天为标准记录的,而销售目标表TGT一般是按月记录,特此总结一下建模技巧. 数据仓库: 时间维度表,最小粒度为DATE. ...

  5. 数据库系统原理——ER模型与关系模型

    原文链接: http://blog.csdn.net/haovip123/article/details/21614887 犹记得第一次看<数据库系统原理>时看天书的感觉,云里雾里:现在已 ...

  6. 数据库设计和ER模型-------之关系模型的基本概念(第二章)

    关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...

  7. 数据库系统概论——从E-R模型到关系模型

    E-R模型和关系模型都是现实世界抽象的逻辑表示 E-R模型并不被 DBMS直接支持,更适合对现实世界建模 关系模型是 DBMS直接支持的数据模型 基本 E-R图中的元素包括实体集.联系集.属性 椭圆框 ...

  8. ER图/模型转换为关系模型

    ER图中的主要成分是实体类型和联系类型,转换规则就是如何把实体类型.联系类型转换成关系模式. 1. 二元联系转换 规则1.1(实体类型的转换):将每个实体类型转换成一个关系模式,实体的属性即为关系模式 ...

  9. 深入理解 Laravel Eloquent(三)——模型间关系(关联)

    Eloquent是什么 Eloquent 是一个 ORM,全称为 Object Relational Mapping,翻译为 "对象关系映射"(如果只把它当成 Database A ...

随机推荐

  1. C# TIFF图像开发

    NuGet安装控件: Install-Package BitMiracle.LibTiff.NET -Version 实现代码: private BitmapSource TiffToBitmap(s ...

  2. SQL Server 将某一列的值拼接成字符串

    名称 海鲜水产 水果蔬菜 海参 肉禽蛋 牛排 腊味 生鲜食品 将以上一列变成: 生鲜食品,海鲜水产,水果蔬菜,海参,牛排,肉禽蛋,腊味 sql for xml path('')

  3. .NET错误提示之:无法更新EntitySet“TableName”因为它有一个DefiningQuery

    使用LINQ 进行提交数据时发生的错误提示 原因:提交的对象表 没有设主键.

  4. PRML Chapter4

    超平面(hyperplane) 超平面:超平面是n维欧氏空间中余维度等于一的线性子空间,也就是说必须是(n-1)维度.这是平面中的直线.三维空间中平面的推广(n大于3才被称为"超" ...

  5. jQuery.form的使用方法

    首先需要引入jquery.form.js 之后即可使用 jquery.form.js的中文API网址http://www.vaikan.com/docs/jquery.form.plugin/jque ...

  6. VC6下 try catch 在release下的杯具(默认情况下,要加上throw语句catch才不会被优化掉)

    IDE:VC6 今天遇到一个小问题,把我郁闷了好久,××医生的VulEngine不时在wcsstr处发生crash,加了一番强大的参数检查后,再加上了强大的try catch,其实不是很喜欢用try和 ...

  7. IIS上.net注册

    如果先安装了.Net平台,后再安装IIS,那么在IIS中可能就没有出现ASP.NET版本的下拉菜单,这是我们可手动注册.Net 一般.Net版本都存放在:C:\WINDOWS\Microsoft.NE ...

  8. 用shell做简单的分布式计算

    # 分布式计算小试 # .首先获取本机host,作为实际计算时分区hash的种子 # .以*.*.*.44为主节点,*.*.*.///43为从节点 hash=`cat /root/data/host. ...

  9. pomelo使用中的常见问题

    1.端口被占用, 有进程没杀干净. 用 pomelo kill --force 命令清一下进程.

  10. vue.js与后台模板引擎“双花括号”冲突时的解决办法

    后台渲染模板如swig,也使用“{{ }}“作为渲染,与前端vue的产生冲突,此时只要在新建Vue对象时,添加delimiters: ['${', '}'],就搞定了,代码如下 <!DOCTYP ...