标签: business-intelligence

无法通过excel连接到分析服务

我在SQL Server 2005中有一个分析服务多维数据集,我通过excel前端连接到该多维数据集.

当我通过一个用户连接它的罚款,但当我登录到另一个用户的同一台机器时,我在我的excel spreadhseet中收到错误 - "用户...无法访问[多维数据集名称]数据库"

显然第一个用户拥有正确的权限,但是如何设置分析服务以允许其他用户加入该聚会?

sql-server olap ssas business-intelligence

5
推荐指数
1
解决办法
1万
查看次数

数据仓库中的交叉引用事实和维度

我正在尝试为许可供应商设计数据仓库,许可供应商在电子商务和其他各种场所销售许可证.他们想要跟踪的事情是销售,产品生命周期和活动.这意味着有不同的销售类型(例如新购买,促销购买,续订)和许可证的不同事件/状态,例如 - 许可证可以安装,更新,激活,注册.许可证可以多次续订(在不同的日期).

所以我认为我的尺寸非常简单 - 日期,产品,来源,销售类型和事件/状态.我会有两个事实表; 一个用于销售,另一个用于事件,它们都具有维度表的外键.我的事实表将是一个累积的事实表,其中每个事件都会添加一个新行 - 因此,许可证可以重复.但是,要求规定他们能够交叉引用这两个事实以及销售类型和事件维度.例如,如果某人看到"A"在"新购买"类型的美国电子商务商店中有100个销售,那么他们希望看到有多少'那些'100个许可证也被激活......然后他们可能会希望看到,激活的人,有多少人注册了......然后(回到saletype)注册了多少人,其中有多少人"更新了".我无法真正定义一个层面,因为你可以有很多这些组合....

我怎样才能做到这一点?正如我正在阅读的那样,我发现根据许可证本身似乎无法将这两个事实联系起来(这是我需要做的).

此外,我还在想,也许我可以拥有1个事实表,并且我可以"技术上"将saletype和eventtype组合成一个大型事件类型维度.所以,然后在事实表中将是一个大事务事实表,它将具有事件维度的偶数外键.但是,所以现在我有一个事实表,每个事件都有一行发生在许可证上.许可证会重复出现,并且一个事件可以多次出现(在不同的日期).因此,如果我选择查看某个事件的总计,我怎么能看到其他事件中还存在多少个许可?

我需要提供所有这些数字作为度量,以便业务用户可以即时查看它们(使用他们想要使用的任何OLAP浏览器)

注意:我使用的是SQL Server分析服务和SQL Server 2008 r2

作为参考,这就是我现在拥有的:

  1. DimProducts(PK:ProductID和其他属性)
  2. DimDate(PK:DateKey和其他属性)
  3. DimEvent(PK:EventID和其他属性)

  4. FactLicenses(FK:ProductID; FK:DateKey; FK:EventID和许可证字段(varchar))

所以我重复了许可证,每次发生许可证时都会发生事件(安装,激活,续订,取消,续订(再次).可能有一个许可证具有相同的eventID,但从不在同一个DateKey上.表的主键是DateKey + EventID + License

编辑:

所以,我在很多地方都读过这样的情况下的事实表应该是一个累积的事实表,它有多个指向同一(类型)维度的列 - (即日期),我应该创建角色扮演每个人的维度.但是,您如何解释许可证可以多次续订,并且可以多次安装等事实......?

ssas data-warehouse business-intelligence

5
推荐指数
1
解决办法
4436
查看次数

调试BI堆栈:MySQL + Mondrian + Saiku服务器

我正在尝试学习如何构建BI堆栈,但我一直在理解该流程的哪个部分失败:

  1. 设计星型模式:完成
  2. 将数据从我的OLTP数据库(MySQL)加载到我的星际数据库(MySQL也是如此):使用Pentaho Data Integration完成
  3. 将Mondrian XML描述为多维数据集:使用Mondrian Schema Workbench完成
  4. 使用Mondrian XML描述和MySQL星型数据库设置具有正确配置的Saiku服务器:完成

结果:Saiku中没有立方体.我不知道这可能来自哪个元素.第2步是正确的,因为我可以运行这部分.

这是我的星型模式:

CREATE TABLE IF NOT EXISTS `dim_date` (
  `date_id` int(11) NOT NULL AUTO_INCREMENT,
  `date` datetime DEFAULT NULL,
  `month` varchar(3) DEFAULT NULL,
  `year` varchar(4) DEFAULT NULL,
  PRIMARY KEY (`date_id`),
  KEY `idx_dim_date_lookup` (`date`,`month`,`year`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `dim_sector` (
  `sector_id` int(11) NOT NULL AUTO_INCREMENT,
  `sector` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`sector_id`),
  KEY `idx_dim_sector_lookup` (`sector`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `dim_size` ( …
Run Code Online (Sandbox Code Playgroud)

pentaho mondrian business-intelligence saiku

5
推荐指数
1
解决办法
2776
查看次数

无法使引用的关系起作用

我有三张桌子,一个事实和两个维度.我想在名为InternetSales的事实表(度量)和地理表,se image(schemaCubeStructure")之间建立引用关系.

中间表是Customer.我首先创建Geography和InternetSales表,然后使用Geography中的字段创建Customer,以便稍后在创建ref时使用.相对.

一切正常,直到浏览多维数据集中的数据(se图像"errorBrowseSalesCube".如果我没有建立两个表之间的关系,我得到图像"correctBrowseSalesCube"这是我想要的.这是我没有得到任何数据使用rel.ref进行处理时.

请参阅图像"dimensionUsageSalesCube for rel.ref.

为什么我没有得到任何数据?

correctBrowseSalesCube 正确浏览销售多维数据 errorBrowseSalesCube errorBrowseSalesCube dimensionUsageSalesCube dimensionUsageSalesCube schemaCubeStructure schemaCubeStructure

ssas data-warehouse dimensions business-intelligence

5
推荐指数
2
解决办法
6023
查看次数

如何使用Gooddata API上传图表?

我正在尝试通过api将在Cloud Connect中制作/编辑的图表上传到GoodData.我一直试图使用这个电话:http://docs.gooddata.apiary.io/#cloudconnectprocesses

我正在制作的实际电话有json {"process": {"path": "/uploads/Bonobos_v6-1.grf", "name": "Bonobos Prod"}}

但是,当我尝试运行它时,它失败了

{
    "error": {
        "errorClass": "com.gooddata.msf.processes.InvalidProcessException",
        "trace": "",
        "message": "Can not read from file \"/uploads/Bonobos_v6-1.grf\"",
        "component": "MSF",
        "errorId": "83090caa-31c9-4ce2-bb79-040d5c4d2421",
        "errorCode": "gdc1151",
        "parameters": []
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有一种特定的方法来创建一个需要上传到服务器的"流程"?我已经尝试了多个图形和单个.grf文件的zip文件,但无济于事.我也假设错误并不意味着GoodData看不到文件,但这肯定会解释一些事情.

etl business-intelligence gooddata

5
推荐指数
1
解决办法
409
查看次数

DAX相当于MDX计算成员

我们有一个SSAS 2012表格模型供我们使用,我们正在使用Tableau进行报告.目前,我们有一个维度[Material],其属性为[Department].我们要做的是在DAX中创建MDX计算成员等价物,以实现[Department]属性的自定义分组.

例如:

CREATE MEMBER [Material].[Department].[AB] AS
    AGGREGATE({[Material].[Department].&[A], [Material].[Department].&[B]})
Run Code Online (Sandbox Code Playgroud)

我们尝试在Tableau中使用此MDX表达式在层次结构[Material].[Department]中添加计算成员[AB]:

AGGREGATE({[Material].[Department].&[A], [Material].[Department].&[B]})
Run Code Online (Sandbox Code Playgroud)

在设计时,表达式验证但是当我们在报告中尝试使用该成员时,我们得到一个错误,指出DAX中不支持这种MDX计算成员.

有没有人知道一个等价物,或者我们应该如何以及如何让这个MDX成员工作?

mdx business-intelligence dax tableau-api

5
推荐指数
1
解决办法
1691
查看次数

如何为维度仓库中的日期设计缩小的维度表并在SSAS中使用?

我正处于这样一种情况:我们正在从拥有一堆事务性事实表转变为带有聚合,快照等的更复杂的图片.过去,有一些情况下需要按月汇总数据,但是之前的开发人员只是将它所属月份的第一天的密钥放入事实表中的一列,并将其指向通常的日期维度.这似乎工作正常,我们在每个日期维度的多维数据集中都有日/月/年层次结构,并且用户在需要按月查看事物时表现良好.

当我阅读 - 主要是Kimball的作品,以及其他指南 - 建议我们应该在这些情况下使用"缩小的尺寸".Kimball集团甚至特别提到了月度维度.但是我真的没有找到关于在那篇文章之后实现它们的大量信息,而且简短的写作似乎正在重新阐述它的一部分.


我特别关注的一个问题是,目前,使用我们的立方体的人习惯于为每个不同类型的日期设置一个日期维度,其中包含年 - 月 - 日层次结构,并且只有当他们需要时才会降低到月份级别.如果这将导致一个单独的维度与年 - 月层次结构,那么它似乎可能是不受欢迎的混乱.但这是意图吗?

链接文章中的最后两段是我发现的唯一一个解决它应该如何在表示层中起作用的东西,而我只是没有得到他们想要描述的内容.感觉很短的几个例子来充实它应该如何出现在立方体中.通常情况下,我只是试错了,但时间尺度非常紧张.所以...

  • 如果我这样做,立方体中的预期显示是什么?我是否会有两个单独的日期维度,其中一个只会持续到月份?
  • 如果上述内容是正确的,那么真的有很多意义,因为人们当前可以愉快地在月度水平上查询事物吗?我觉得我错过了真正的好处.我可以看到它在语义上更正确(我们处于月份级别,因此持有该月的第一天是hacky并且将显示不相关的属性),但对于已经习惯了这一点的用户,我不相信这是足够的理由现在花更多的时间在这上面.我可以看到它可以表现得更好,因为它是一个较小的维度,但我们没有原样的性能问题.我错过了什么吗?
  • 如果我继续进行更改,那么任何有关使缩小尺寸在立方体中工作的提示?通常情况下,我可以在网上挖掘,直到我将一些东西缩小到最好的几个选项,但实际上并没有多少,我很感激听到之前做过这个的人.没有寻找任何巨大的东西,但是在技术上写的东西比那篇文章还是一个小例子可能会让我对需要做什么和为什么感觉更清楚.在讨论需要将基本维度加入缩小维度以查看属性时,Kimball文章特别困惑我.

前两点是最重要的一点,因为我知道是否需要对数据仓库进行任何更改,如果是这样的话就完成它们 - 我很乐意回答这些问题,即使你不能覆盖第三个点.

sql-server ssas data-warehouse dimensional-modeling business-intelligence

5
推荐指数
1
解决办法
1098
查看次数

如何在Power BI中创建包含小计和总计的报表?

目前,我正在使用Power BI Designer(最新版本).我完全不熟悉它.我想知道如何获得一组项目的小计,然后得到报告总计.我只需要一列的小计(即价格).分组将在3列(日期,位置,项目名称)上.

Power BI连接到Azure SQL数据库(而不是SSAS).

report subtotal business-intelligence powerbi

5
推荐指数
1
解决办法
5311
查看次数

在熊猫中按年/月/日分组

假设有以下内容DataFrame:

rng = pd.date_range('1/1/2011', periods=72, freq='H')
np.random.seed(10)
n = 10
df = pd.DataFrame(
    {
        "datetime": np.random.choice(rng,n),
        "cat": np.random.choice(['a','b','b'], n),
        "val": np.random.randint(0,5, size=n)
        }
    )
Run Code Online (Sandbox Code Playgroud)

如果我现在groupby:

gb = df.groupby(['cat','datetime']).sum()
Run Code Online (Sandbox Code Playgroud)

我得到cat每小时的总数:

cat datetime            val
a   2011-01-01 00:00:00 1
    2011-01-01 09:00:00 3
    2011-01-02 16:00:00 1
    2011-01-03 16:00:00 1
b   2011-01-01 08:00:00 4
    2011-01-01 15:00:00 3
    2011-01-01 16:00:00 3
    2011-01-02 04:00:00 4
    2011-01-02 05:00:00 1
    2011-01-02 12:00:00 4
Run Code Online (Sandbox Code Playgroud)

但是,我希望有类似的东西:

cat datetime   val
a   2011-01-01 4
    2011-01-02 1
    2011-01-03 …
Run Code Online (Sandbox Code Playgroud)

python data-analysis business-intelligence pandas

5
推荐指数
1
解决办法
3525
查看次数

使用ElasticSearch和Kibana进行商业智能

我们正在使用ElasticSearch来搜索产品中的功能。这很好。

现在,我们想为客户提供自助式商业智能。由于性能影响,有关操作数据库的报告很糟糕。在运行时,计算1000万条记录的平均“订单解决时间”将无法及时获取结果。传统方式是通过使用ETL加载操作数据并将其汇总来创建数据集市。然后,使用任何报告引擎向客户提供指标和报告。这种方法有效,但会增加客户的总拥有成本。

我想知道是否有人使用ElasticSearch作为报告的中间数据表面。Kibana可以满足数据探索和可视化需求吗?

etl datamart business-intelligence elasticsearch kibana

5
推荐指数
1
解决办法
1098
查看次数