问题标签 [azure-analysis-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
167 浏览

avro - 如何在 Azure 分析服务模型中的 ADLS 中导入 avro 文件?

在 Azure 分析服务支持 ADLS 作为后端后,我们希望将 avro 文件从 ADLS 导入 Azure 分析服务。

文件大小将在 TB (2-4) 范围内。

Azure 在线文档仅介绍 csv 而不是 avro 。是否可以将 avro 从 ADLS(天蓝色数据湖存储)导入 Azure 分析服务?

0 投票
1 回答
594 浏览

performance - 为什么 Azure 分析服务与直接 SQL 查询相比查询速度较低

出于测试目的,我部署了:

  • 带有一些数据的 Azure SQL DB
  • Azure Analysis Services 中连接到 SQL DB 以获取数据的表格模型

该测试旨在比较针对 Azure SQL DB 的查询速度与针对表格模型的查询速度。

测试中的表格模型由 4 个维度组成,但查询中仅使用了其中的 2 个维度。我想对表格模型的查询不能处理超过 2 个维度?

查询从本地计算机上运行的 .NET 控制台应用程序运行。针对表格模型的查询使用 ADOMD.NET 客户端库,并使用 DAX(我没有使用过的一种语言)编写,并且来自 SSMS 中的设计工具。针对 SQL DB 的查询使用 ADO.NET 客户端库(包含一个聚合函数、7 个内部连接和一些“where 子句”参数)。

测试由每个系统的 10 个查询组成,每个查询之间的等待时间为 500 毫秒。每个查询的时间加上执行客户端库的控制台应用程序的开销是使用 System.Diagnostics.Stopwatch 测量的。与 SQL SB 查询 (529.1ms) 相比,表格模型查询的平均持续时间 (957.6ms) 是两倍。

我预计对表格模型的查询会更快,因为 Analysis Services 针对包含聚合和连接的此类分析查询进行了优化。

谁能解释为什么它没有表现得更好?或者为什么要使用表格模型而不是直接在关系数据库上运行 SQL 查询?

0 投票
3 回答
3290 浏览

powerbi - Power BI 中的默认筛选器 - 未通过 LOOKUPVALUE 应用行级别安全性

TL;DR:当LOOKUPVALUE()针对具有行级别安全性的表使用时,不应用 RLS 并且可以看到所有值

我需要根据用户在 Power BI 报告中选择一个“默认”值(位置)。

我正在针对 Azure 分析服务(表格模型 1400)进行报告

似乎在 Power BI 中实现默认值的方法是将值动态重命名为静态值,然后选择该静态值作为过滤器。

所以

  • 用户Bob有默认位置Location1,所以当他登录时,他应该看到他的位置
  • 用户Joe具有默认位置Location2,因此应在此位置上过滤他

诀窍是,他们可以选择选择另一个位置,看看他们是否喜欢

我尝试的第一件事是USERPRINCIPALNAME()直接在行级表达式上使用,但我得到了

...计算表/列中不支持 USERNAME 和 USERPRINCIPALNAME 函数。这些函数只能用于度量或 AllowedRowsExpression

所以接下来我想我会将 RLS 应用到不同的表中,然后进行查找,如下所示:

我有一个从名为的数据库加载的表Location,其中列出了所有位置。

我有一个名为 的独立表MyLocation,它是Location. MyLocation使用此 DAX 生成:

(注意我也尝试过基于数据的表格,而不是基于 DAX 的表格)

MyLocation还具有像这样应用的动态行级安全性:

当我MyLocation在 Power BI 中查看时,我可以看到应用了 RLS - 只能看到一个位置。这与Location我可以看到所有位置(没有定义 RLS)形成对比

接下来,我在其中添加了一个列(行级表达式)Location并选择使用行级安全性评估的这个“单一”位置:

它在 LocationKey 上匹配,但对于已通过 RLS 删除的记录,应该没有匹配项。

但是,当我测试最后一列时,RLS 被忽略了,所有位置都通过了。

我可以在 Power BI 中看到我面前的两张表:

MyLocation看起来像这样:(应用了 RLS)

位置如下所示:(未应用 RLS,但为什么其他位置不是空白?)

我希望位置看起来像这样:

因此,无论您使用什么技巧,您似乎都不能连续使用 USERPRINCIPALNAME() 。

我也尝试过将其定义USERPRINCIPALNAME()为度量并使用它,但这也失败了(现在不记得错误,但我也会重试)

我还尝试使用“独立参数”表来打开和关闭 RLS,SELECTEDVALUE但参数表中的过滤值永远不会出现。ISFILTERED尽管该表已被过滤,但始终返回 false。

0 投票
1 回答
375 浏览

powerbi - 如何使用 Power BI Embedded 访问单租户 Azure Analsysis Server

因此,目前我很难理解如何设置 Power BI Embedded,以便每个客户都可以从他们自己的单独 Azure 分析服务访问数据,这是一种应用程序拥有数据的情况。Analysis Services 将在内存模式下运行,并将通过 Live Connect 从 Power BI 进行访问。

理想情况下,我希望 Power BI 报表不知道数据集/数据源,直到嵌入式报表提供了报表解释的参数(例如连接字符串),以便它知道要连接到哪个服务器。因此,理想情况下有:一个工作区、一个报告和零(或假)数据集。

以下大致是我想要做的(注意红色和蓝色流访问不同的服务器):

在此处输入图像描述

看起来如果我为每个客户创建一个报告和数据集,我可以实现我的目标,但这似乎是一种糟糕的方法,因为如果需要更新报告,这可能涉及更新数百个报告。当所有 Power BI 需要为每个请求更改的是指向数据源的连接字符串时,创建数百个报告似乎也是不必要的开销。

那么是否可以在所有客户之间共享工作区和报告,但拥有完全独立的数据源?还是我的方法与 Power BI 预期的运行方式相冲突?

迄今为止,我在 Power BI Desktop 中配置数据源时尝试使用查询参数,但出现以下错误:

The connect live option for this file is disabled because it already contains data from another data source. You cannot explore live data and connect to another type of data source in the same file.

0 投票
1 回答
1517 浏览

c# - 通过 C# Azure Functions 查询 Azure 分析服务

我以前在这里提出过一个话题,但有人告诉我,这可能是一个更好的地方来发布我的问题。我想知道是否可以通过 C# 查询 Azure 分析服务中的表。我将在 Azure Functions 中运行 C# 程序。我试图按照此示例进行操作,但是当我尝试运行此代码时,我不确定如何在 Azure 分析服务中引用我的表。

我的表的名称是 Trans Legacy,当我尝试运行一个简单的 SQL 命令时:

SELECT * FROM [Trans Legacy]

我得到:

错误:用户“username”无权访问引用的挖掘模型“Legacy Trans”,或者对象不存在。

我不确定这是否可行,或者我是否正确引用了表格。

谢谢你。

编辑:这是我的代码

我正在使用的ddls如下:

  1. Microsoft.AnalysisServices.Core.DLL - 版本。14.0.800.117
  2. Microsoft.AnalysisServices.Tabular.DLL - 版本 14.0.800.117
  3. Microsoft.AnalysisServices.AdomdClient.dll - 版本 14.0.801.241
0 投票
1 回答
48 浏览

visual-studio - 从各个页面捕获自定义事件

我使用 azure app 洞察力设置了我的应用程序,并且我正在从整个应用程序中捕获自定义事件,有些事件可以从多个页面触发。所以我想知道在 azure 仪表板中有什么方法可以按页面分隔事件吗?

例如-下载按钮可以从搜索页面和收藏页面触发

那么有什么办法可以让搜索页面中的事件单独显示并与收藏页面相同?

我是 azure app 洞察力的新手,感谢您的帮助。

我当前的自定义事件看起来像这样在此处输入图像描述

很难以页面为基础阅读事件。

谢谢你。

0 投票
1 回答
679 浏览

powershell - 通过 Azure 自动化处理 Azure 分析服务

我正在尝试使用 Azure 自动化运行手册自动处理我的 AAS 模型。我们的租户使用多因素身份验证,因此不能选择使用 AD 用户,所以我试图通过服务主体(特别是 AzureRunAsConnection)使其工作。

  1. 我创建了服务主体。
  2. 通过 SSMS 授予服务器和模型的权限(将其添加到服务器级别和模型级别的角色)
  3. 创建脚本以使用 AzureRunAsConnection 和 Invoke-ProcessTable

我基本上已经阅读了所有这篇文章,使用自动化 RunAs 服务主体连接到 Azure 分析服务并处理

但我仍然无法使用 AzureRunAsConnection 让脚本工作,我仍然得到的消息是

链接中的问题通过 SSMS 授予权限来解决它,但我已经这样做了,但仍然遇到同样的问题。

任何帮助都是值得的

0 投票
1 回答
1667 浏览

powershell - 在 Azure SSAS 中使用自动化帐户刷新多维数据集

我目前正在尝试创建一个自动化运行手册来处理 Azure 中的多维数据集。我已经尝试了多个像这样的 PowerShell 脚本:

出现这种错误(尽管我安装了 SQLServer 模块)。

Invoke-ProcessASDatabase :术语“Invoke-ProcessASDatabase”未被识别为 cmdlet、函数的名称,

脚本文件或可运行的程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确

正确并重试。

或者这个脚本:

带有该错误消息。

Invoke-ProcessASDatabase:身份验证失败:当用户界面不是时,需要用户 ID 和密码

可用的。

在行:32 字符:1

  • 调用-ProcessASDatabase -databasename "MKTGCube" -server $ServerName ...

  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~

    • CategoryInfo : NotSpecified: (:) [Invoke-ProcessASDatabase], ArgumentException

    • FullyQualifiedErrorId : System.ArgumentException,Microsoft.AnalysisServices.PowerShell.Cmdlets.ProcessASDatabase

我认为问题与凭据有关,因为我们需要提供访问源数据库的凭据,但我不知道如何通过 PowerShell 脚本来完成。任何想法 ?

非常感谢。

0 投票
1 回答
75 浏览

visual-studio - 在 Azure Analysis Services 中使用 ODBC 连接打开 Pbix 文件

我想通过使用 Pbix 文件在 Azure Analysis Services 中添加一个新模型(之后在 Visual Studio 中检索该 pbix 文件的数据模型)。当有平面文件作为我的 pbix 的源时,我没有问题,但我不能使用 ODBC 连接来做到这一点。这是我的错误信息Model with name ModelName contains unsupported datasource Odbc/authentication=LDAP;

你知道我该怎么做吗?

非常感谢。

0 投票
0 回答
194 浏览

ssas - B2B Azure 分析服务看不到任何模型

我在 AAD ( xx.yy_domainX.com#EXT#@domainY.onmicrosoft.com ) 中创建了来宾邀请。然后我将该用户添加到 Anlysis Services Admins。当我从 SSMS 或 PowerBI 登录时,我找不到任何模型。

有谁知道发生了什么?或者我怎样才能找到错误发生的原因?