如何用单个字母的日期命名节省空间

​有时在 Power BI 中,你可能希望将日期或月份名称以单个字母命名来节省空间。但正常情况来说,我们会马上想到这样做出现重复的风险比较大,因为当你将日期名称或月份名称缩短为一个字母时,它们都不是唯一的。

 

那就真的就否定我们的想法吗,既然今天提出了这个问题,那肯定是有找到了相应的解决办法可以实现,而且还不是一种方案,在这本文中,我将从采用两种方式来处理该问题:DAX函数和M语言。

 

问题

假设你有一个日历表,如下所示:

 

可以使用以下公式在 DAX 中创建该表:

下面是相应的 M 代码:

现在,假设你要将日名称缩短为单个字母:星期五应为 F,星期六应为 S,等等。

 

在 DAX 中,你可以添加以下计算列:

 

在 M 中,你可以使用以下自定义列:

但无论使用哪种方式,如果尝试按"星期几"列对新列进行排序,你都会得到以下错误:

这是因为对于每个单个字母的日名称,可能有多个星期一的值如周六、周日就对应了字母 “S”。使用月份名称时,你会遇到同样的问题。现实既然如此,那我们要如何做到名称的唯一性呢?

 

DAX 中的解决方案

诀窍是添加一些非打印字符来区分值。例如,你可以使用零宽度空间 。若要使值不同,请向每个字母添加不同数量的零宽度空格,如:UNICHAR(8203)

提示:REPT重复文本字符串,也正是我们所需要的。

 

PQ中M语言的解决方案

再来看M 语言中的相应自定义列公式是

现在,对于每个单个字母的日名称,只有一个星期一的值,我们可以按星期数对新列进行排序。


注意:严格地说,列和排序列之间不需要一对一的关系。

 

 

 

推荐阅读

 

1. 2020年度盘点 | Power BI 精汇帖

2. Power BI 架构的数据解决方案

3. Power BI 12月功能更新 —— 视频上线

4. Power BI 12月产品功能更新

5. 不再裂开 | 一组你们心心念念的 Power BI 报告集锦,请签收!

 

技术交流

1.Power BI免费下载:http://www.yeacer.com/

    Microsoft Power BI Desktop中文最新版:下载地址

2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。 

   Power Data技术交流群:702966126 (验证注明:博客园Power BI) 

   更多精彩内容请关注微信公众号:悦策PowerBI          


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载。
posted @ 2021-01-27 10:38  PowerBI365  阅读(141)  评论(0编辑  收藏  举报