良好做法:始终显示报告环境

良好做法:始终显示报告环境

当您在Power BI中处理实际项目时,您可能会拥有不同的环境,例如DEV,UAT,Pre-Prod和Prod。对您和您的听众来说,了解数据的来源很重要。我在查看开发或UAT数据,还是在生产环境中查看实际数据?您可能会问或被问到“数据来自何处?”之类的问题。了解您要分析的数据的可信度很重要。在本文中,我向您展示了一种简单的方法来显示Power BI报表所连接的环境。

这个怎么运作

要显示环境名称,请使用查询参数,然后引用该参数,将其转到表中并添加列以相应地显示环境。容易吧?

从此处的列表输出中了解有关查询参数的更多信息.

根据您的方案,实现可能会略有不同,但是原理是相同的。在本文中,我使用SQL Server数据库。因此,我需要参数化服务器名称。在现实世界中,您可能还需要参数化数据库名称。同样,如果您的情况大不相同,例如您从Excel获取数据,则对于不同的环境,Excel路径可能会有所不同。让’s dig-in.

  • 打开查询编辑器
  • 请点击“Manage Parameters”
  • 请点击“New”
    • 输入“Name” and “description”
    • 蜱“Required”
    • 选择“Text” in “Type”
    • 选择“List of values” in “Suggested Values”并输入不同环境的服务器名称
    • 选择一个“Default Value” and “Current Value”
    • 请点击OK
在Power BI查询编辑器中创建新参数

到目前为止,您已经创建了一个新参数,该参数可用于从SQL Server数据源获取数据。下一步将向您展示如何使用该参数显示报表中的环境。

继续阅读 “良好做法:始终显示报告环境”

快速提示:根据Power Query中的其他值有条件地替换值

功率查询(M)使许多数据转换活动变得更加容易,而价值替换就是其中之一。您可以轻松地右键单击Excel或Power BI中的Power Query中的任何所需值,或者通常是Power Platform的其他组件,然后只需用任何所需的替代项替换该值即可。首先,根据某些条件替换值似乎并不那么容易。一世’我们已经看到许多Power Query(M)开发人员添加了新列来完成该任务。但是,添加新列并不总是一个好主意,尤其是当您可以在Power Query中仅一步之遥就可以做到这一点时。在本文中,我向您展示了一种快速简便的方法,可以帮助您处理许多不同的价值替换方案。

假设您有一个如下表,并且如果[A] = [B],则需要用[C]列的值替换[B]列的值。

Power BI中的样本数据

一种方法是使用以下逻辑添加新的条件列:

if [B] = [A] then [C] else [B]

好吧,它工作得很好,但是等等,你’重新添加一个新列吧?不会’最好在不添加新列的情况下处理上述简单情况?如果您的回答是,请继续阅读。

继续阅读 “快速提示:根据Power Query中的其他值有条件地替换值”

快速提示:如何从Power Query中的其他查询中按另一列过滤一列

从Power Query中的不同查询中按列过滤列

不久前,我拜访了一个客户,询问他们是否可以按Power BI中另一个查询的列来过滤查询数据。我当然可以。在这篇文章中,我解释了如何在Power Query中实现。关键是要知道如何引用查询以及如何在Power Query中引用该查询的列。当您有一个可从Power Query中每个受支持的数据源中获取的查找表,并且想要按查找查询中的相关列过滤另一个查询的结果时,这很有用。那样的话’会有一种动态过滤。因此,每当您刷新了模型(如果新记录已更改或添加到查找查询的源中)时,表将在Power Query的过滤步骤中自动包括新值。

引用查询

这很简单,您只需要使用查询的名称。如果查询名称包含特殊字符(例如空格),则需要用数字符号和双引号将其引起来,例如 #”QUERY_NAME”。因此,如果要引用另一个查询,请在一个新的空白查询中使用Power Query(M)脚本,如下所示:

let
    Source = Product
in
    Source

或类似的东西

let
    Source = #"Product Category"
in
    Source

引用列

引用列也很简单。当您引用一列时,您需要在前面提到引用查询名称以及括号中的列名称。因此,格式将如下所示:”QUERY_NAME”[COLUMN_NAME]。结果是该特定列的值的列表。

let
    Source = #"Product Category"[Product Category 名称]
in
    Source
在Power Query中引用另一个查询中的列
继续阅读 “快速提示:如何从Power Query中的其他查询中按另一列过滤一列”

快速提示:Power BI和Analysis Services表格模型中具有秒级粒度的时间维

快速提示:Power BI和Analysis Services表格模型中具有秒级粒度的时间维
摄影者 马库斯·斯皮克(Markus Spiske)

我前阵子发表的文章 我展示了在Power BI和表格模型中创建时间维度的不同方法。我解释的时间维度以分钟为单位。在本文中,我向您展示了创建支持Seconds的Time维度的简单方法。因为这是一个快速提示,所以我仅向您展示如何获取“时间”维度中的“时间”和“ ID”列。如果您需要添加时间段(时间段) 查看此以获取更多详细信息.

时间维度(以秒为单位)与功率查询(M):

在高级编辑器中复制/粘贴以下代码,以在Power Query中生成“时间”维度:

let
Source = Table.FromList({1..86400}, Splitter.SplitByNothing()),
#"Renamed Columns" = Table.RenameColumns(Source,{{"Column1", "ID"}}),
#"时间 Column Added" = Table.AddColumn(#"Renamed Columns", "时间", 每 时间.From(#datetime(1970,1,1,0,0,0)+#duration(0,0,0,[ID]))),
#"Changed 类型" = Table.TransformColumnTypes(#"时间 Column Added",{{"ID", 在t64.Type}, {"时间", type time}})
in
#"Changed 类型" 
功率查询中的时间维度

达克斯的时间维度(以秒为单位):

在Power BI或SSAS表格模型的新计算表中运行以下DAX表达式:

时间 in 达克斯 = ADDCOLUMNS(
                       通用系列(1, 86400, 1)
                        , "时间", TIME(0, 0, 0) + [Value]/86400
                        )
达克斯的时间维度(以秒为单位)
继续阅读 “快速提示:Power BI和Analysis Services表格模型中具有秒级粒度的时间维”